; Merge from origin/emacs-26
[emacs.git] / ChangeLog.3
blob6704d0d7169f9f4536889da012b3ae9dc92ffbc8
1 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
3         Note caveat for backward regexp searching in docstring (Bug#31584)
5         * src/search.c (Fre_search_backward): Emphasize that backwards
6         searches may give shorter than expected matches.
7         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
8         re-search-backward to reference.
10 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
12         Update backtrace in Emacs Lisp Intro
14         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
15         backtrace to match Emacs 26.  (Bug#31589)
17 2018-05-24  Roland Winkler  <winkler@gnu.org>
19         Move window-point in bibtex-search-entry
21         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
22         to record found.
24 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
26         More fixes of Intro to Emacs Lisp
28         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
29         reader how to invoke 'M-.' without a tags table.  Add a
30         cross-reference to the Emacs manual for when a tags table does
31         need to be created.
32         (append save-excursion): Rephrase a confusing sentence.
33         (Bug#31578)
35 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
37         Add a footnote to Emacs Lisp Intro
39         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
40         the detailed output of integer value evaluation in a footnote, to
41         prevent confusion.  (Bug#31579)
43 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
45         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
47 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
49         Fix some cross-references in emacs-lisp-intro.texi
51         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
52         (Determining the Element, graph-body-print): Fix cross-references
53         to subsections that don't exist in the printed version of the
54         manual.  (Bug#31567)
56 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
58         Minor copyedits in Emacs manual in macos.texi
60         * doc/emacs/macos.texi (Mac / GNUstep Basics)
61         (Mac / GNUstep Events): Fix markup and capitalization.
62         (Bug#31568)
64 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
66         Clarify when to use advice-add vs add-function
68         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
69         advice-add should be used for named functions.
71 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
73         Minor formatting tweak in the Emacs manual
75         * doc/emacs/custom.texi (Directory Variables): Don't have 2
76         footnotes back to back, it looks bad in HTML.  (Bug#31555)
78 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
80         Update comments in Intro to Emacs Lisp
82         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
83         what are roman page numbers in Preface about.  (Bug#31541)
85 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
87         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
89 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
91         Another attempt to fix sql.el
93         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
94         of the SQL buffer name.  (Bug#31446)
96 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
98         Update binding of 'M-.' in Intro to Emacs Lisp
100         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
101         (Finding More, Buffer Related Review, Buffer Exercises)
102         (Find a File, Conclusion): 'M-.' is now bound to
103         'xref-find-definitions'.  (Bug#31542)
105 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
107         Fix a typo in last change in sql.el
109         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
110         not 'zerop'.  (Bug#31446)
112 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
114         Fix capitalization of mail headers
116         * doc/emacs/sending.texi (Mail Format, Mail Headers)
117         (Mail Aliases, Header Editing): Use consistent capitalization of
118         CC, BCC, and FCC.  (Bug#31532)
120 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
122         Fix buffer names in sql.el
124         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
125         buffer name is determined by prefix arg.  (Bug#31446)
127 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
129         Minor fixes in the Emacs manual
131         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
132         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
133         (Remote Host): Use @command where appropriate.  (Bug#31536)
135 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
137         Fix a typo in rmail.texi
139         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
140         (Bug#31533)
142 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
144         * etc/PROBLEMS: Document Bug#31305.
146 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
148         (gnus-blocked-images): Clarify privacy implications
150         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
151         implication of altering the value of this variable.
153         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
155 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
157         Fix a typo in describing input methods
159         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
161 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
163         Clarify the mode-line indicators in CC Mode
165         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
166         CC Mode mode-line.  (Bug31445)
168 2018-05-12  João Távora  <joaotavora@gmail.com>
170         Fix filesystem littering by Flymake's legacy backend
172         The Flymake legacy "proc" backend, which is active by default will try
173         to syntax-check foo.c/foo.cpp and many other types of files, but on
174         failing to find a suitable Makefile target, will fail.  There's
175         nothing wrong with that except that it used to leave behind the
176         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
177         the filesystem.
179         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
180         Call init-function inside of the unwind-protect.
182 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
184         * doc/emacs/help.texi: Fix paren typo.
186 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
188         More minor changes in shell-related nodes of Emacs manual
190         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
191         that displays "*shell*" is selected.
192         (Shell Prompts): Fix a typo.  Reported by Jorge
193         <jorge+list@disroot.org> in emacs-manual-bugs.
195 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
197         Fix inaccuracies in "Shell Ring" node of Emacs manual
199         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
200         insist on Shell history commands being "jsut like" similar
201         commands that operate on minibuffer history.  Reported by Jorge
202         <jorge+list@disroot.org> in emacs-manual-bugs.
204 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
206         Improve documentation of kmacro commands and variables.
208         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
209         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
210         (kmacro-add-counter, kmacro-counter-format)
211         (kmacro-insert-counter): Clarify and improve the doc strings.
212         (Bug#31243)
214 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
216         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
218 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
220         Don't check non-X frames for z order (Bug#31373)
222         * src/xfns.c (x_frame_list_z_order): Only use frames with
223         `output_method' set to `output_x_window'.
225 2018-05-07  Alan Third  <alan@idiocy.org>
227         Check NSWindow is actually a frame
229         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
230         of EmacsView before treating it as one.
232 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
234         Fix gud-statement for pdb
236         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
237         (Bug#31363)
239 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
241         Document 'custom-group'
243         * doc/lispref/customize.texi (Group Definitions): Document the
244         'custom-group' property.
246 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
248         A minor addition to etc/DEBUG
250         * etc/DEBUG: Add a note for macOS users who get error messages
251         when trying to run GDB.
253 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
255         Avoid errors in ispell.el when Enchant returns empty extra chars
257         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
258         Handle the case of empty extra characters returned by the
259         Enchant '-lsmod' command. (Bug#31344)
261 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
263         Make 'ispell-initialize-spellchecker-hook' work again
265         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
266         Defvar it to allow dynamic binding.  (Bug#31341)
268 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
270         Handle selected_window change in prepare_menu_bars (Bug#31312)
272         * src/xdisp.c (redisplay_internal): Check selected_window after
273         calling prepare_menu_bars, since it can call lisp hooks.
275 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
277         Fix report-emacs-bug via mailclient on MS-Windows
279         * lisp/net/browse-url.el (browse-url-default-windows-browser):
280         On MS-Windows, call url-unhex-string only for file:// URLs.
281         (Bug#31351)
283 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
285         Port collation tests to glibc 2.27
287         * test/src/fns-tests.el (fns-tests-collate-strings)
288         (fns-tests-collate-sort): Don’t make unportable assumptions
289         about how en_US.UTF-8 collation works.  These assumptions
290         are not true on Fedora 28, which ships with glibc 2.27.
292 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
294         Port --enable-gcc-warnings to GCC 8
296         Backport from master.
297         * lib-src/emacsclient.c (fail):
298         Do not dereference a null pointer.
299         * src/frame.c (delete_frame):
300         Add a decl with UNINIT to work around GCC bug 85563.
301         * src/menu.h (finish_menu_items):
302         Do not use attribute const.
303         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
305 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
307         Advise CFLAGS= operand, not in environment, when configuring
309         Backport from master.
311 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
313         Update the Emacs FAQ
315         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
316         (New in Emacs 26): New node.
318         * admin/release-process: Mention the FAQ update as part of the
319         release.
321 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
323         * etc/DEBUG: Minor copyedits.
325 2018-04-26  Alan Third  <alan@idiocy.org>
327         Clarify wording of NS drag n drop documentation
329         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
330         ns-drag-n-drop description.
332 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
334         Improve kill-related documentation (bug#31209)
336         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
337         current-kill.  Mention interprogram-paste-function under kill-new
338         and kill-append.
339         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
340         (kill-append-merge-undo, kill-append): Touch-up docstrings.
342 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
344         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
346 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
348         Fix pre- and post-command-hook errors in term.el
350         Before this patch, after the terminal process dies the command
351         hooks added in term-mode's char mode would produce errors.
352         This fix removes these hooks when the process dies.
353         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
354         post-command-hook because the process is dead.  (Bug#31236)
356 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
358         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
360 2018-04-21  Alan Third  <alan@idiocy.org>
362         Fix macOS drag n drop event documentation
364         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
365         references to color panel.
366         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
368 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
370         Update the documentation of 'perform-replace'
372         * doc/lispref/searching.texi (Search and Replace): Update the
373         documentation of 'perform-replace'.
375 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
377         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
379 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
381         Fix use of @key in Texinfo manuals
383         * doc/misc/efaq-w32.texi (Location of init file):
384         * doc/misc/org.texi (Editing source code, Export settings)
385         (Closing items, Drawers, Structure editing):
386         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
387         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
388         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
389         (Symbolic Mode):
390         * doc/misc/sc.texi (Electric References):
391         * doc/misc/info.texi (Help-^L):
392         * doc/misc/reftex.texi (Reference Styles):
393         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
394         (Lesson III---User Catalog, Using the Shell):
395         * doc/misc/eshell.texi (Bugs and ideas):
396         * doc/misc/ada-mode.texi (Automatic Casing):
397         * doc/misc/ediff.texi (Selective Browsing):
398         * doc/misc/vip.texi (Customizing Constants):
399         * doc/misc/pcl-cvs.texi (Selected files):
400         * doc/misc/efaq.texi (Replying to the sender of a message)
401         (Basic keys, No Meta key, Matching parentheses)
402         (Origin of the term Emacs, Installing Texinfo documentation)
403         (Learning how to do something, Emacs manual, Extended commands):
404         * doc/misc/viper.texi (Rudimentary Changes):
405         * doc/misc/tramp.texi (Frequently Asked Questions):
406         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
407         * doc/emacs/frames.texi (Frame Commands):
408         * doc/emacs/msdos.texi (Windows Keyboard):
409         * doc/emacs/search.texi (Query Replace):
410         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
411         (Note for Novices):
412         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
413         @key.  For the details, see
414         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
416 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
418         Improve documentation of actual arglist
420         * doc/lispref/functions.texi (Function Documentation): Advise
421         against using '(fn ARGLIST)' method of advertising a calling
422         convention when the old calling convention is deprecated.
423         (Bug#31191)
425 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
427         Don't assume term-current-row cache is valid (Bug#31193)
429         * lisp/term.el (term-down): Call `term-current-row' instead of
430         directly accessing the variable `term-current-row.  Following a resize
431         of the terminal's window, `term-current-row' is reset to nil, so it is
432         not safe to assume it is a number.
434 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
436         Fix flyspell-auto-correct-previous-word broken by recent change
438         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
439         flyspell-auto-correct-region also when repeatedly invoking
440         flyspell-auto-correct-previous-word.  (Bug#31188)
442 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
444         * test/src/lread-tests.el (lread-test-bug-31186): New test.
446 2018-04-17  Andreas Schwab  <schwab@suse.de>
448         Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
450         * src/lread.c (lisp_file_lexically_bound_p): Reset
451         beg_end_state before reading variable or value.
453 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
455         Minor wording improvement in "Bookmarks"
457         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
458         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
460 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
462         Fix building etc/DOC in the MSDOS port
464         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
466 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
468         * lisp/select.el (gui-get-selection): Doc fix.
470 2018-04-13  Alan Mackenzie  <acm@muc.de>
472         Complete documentation of syntax flags by adding `c'
474         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
475         as `(1 lsh 23)'.
477 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
479         Fix typos and minor wording issues in ELisp manual
481         * doc/lispref/internals.texi (Writing Emacs Primitives):
482         * doc/lispref/display.texi (Temporary Displays): Fix typos.
483         * doc/lispref/text.texi (Filling, Changing Properties)
484         (Transposition): Clarify and fix typos.
485         * doc/lispref/positions.texi (Screen Lines): Improve wording.
486         * doc/lispref/modes.texi (Minor Mode Conventions)
487         (Font Lock Multiline): Fix typos.
488         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
489         cross-reference.  Fix a typo.
490         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
491         (Bug#31143)
493 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
495         Avoid segfault in processes of type 'pipe'
497         * src/process.c (Fmake_pipe_process): Set up the decoding and
498         encoding buffers.  For the details, see
499         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
501 2018-04-13  Robert Pluim  <rpluim@gmail.com>
503         Remove repetitions in documentation strings
505         * lisp/bindings.el (right-word): Remove repetition
506         (left-word): Likewise.
508         * lisp/image-mode.el (image-mode-as-hex): Likewise.
510         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
512         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
514 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
516         * lisp/image.el (image-load-path): Doc fix.
518 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
520         * etc/AUTHORS: Regenerate.
522 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
524         * lisp/files.el (kept-new-versions): Improve documentation string.
526 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
528         Fix a minor mistake in the ELisp manual
530         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
531         mistake.  (Bug#31107)
533 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
535         * lisp/files.el (find-file-literally): Doc fix.
537 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
539         Fix typos in doc strings
541         * lisp/simple.el (undo-auto--boundary-timer)
542         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
544 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
546         Bump Emacs version to 26.1
548         * README:
549         * configure.ac:
550         * msdos/sed2v2.inp:
551         * nt/README.W32: Bump Emacs version to 26.1.
553 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
555         * lisp/emacs-lisp/inline.el: Clarify apparent typos
557 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
559         Allow sexp customization type in auth-sources
561         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
562         Update the :version tag.
564         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
566 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
568         * etc/NEWS: Remove temporary markup.
570         * etc/AUTHORS: Update.
572         * ChangeLog.3: Update.
574 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
576         Fix Bug#31022
578         * lisp/cus-start.el (temporary-file-directory): Suppress file name
579         handlers when calling `shell-command-to-string'.  (Bug#31022)
581 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
583         Update "Calendrical Calculations" cites
585         * lisp/calendar/calendar.el: Update citations to the book
586         "Calendrical Calculations" and its predecessors.
588 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
590         Fix term.el rendering following a window resize (Bug#30544)
592         * lisp/term.el (term-reset-size): Reset cached row and column values
593         before changing point.
595 2018-04-02  Philipp Stephani  <phst@google.com>
597         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
599 2018-04-01  Philipp Stephani  <phst@google.com>
601         Quote a few backticks in docstrings.
603         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
604         (macroexp-if): Quote backtick in docstrings.
606 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
608         Minor copyedits of completion-at-point-functions documentation
610         * lisp/minibuffer.el (completion-at-point-functions):
611         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
612         and filling.
614         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
616 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
618         (completion-at-point-functions): Improve doc
620         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
622 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
624         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
626 2018-03-31  Hong Xu  <hong@topbug.net>
628         Mention `key-description' as inverse of `kbd' (Bug#30942)
630         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
631         doc.
633 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
635         Document return value of pcase (Bug#30425)
637         * doc/lispref/control.texi (Pattern matching case statement):
638         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
639         patterns match.
640         (pcase-exhaustive): State that an error is signaled if no patterns
641         match.
643 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
645         * doc/emacs/macos.texi: Tweak grammar and capitalization.
647 2018-03-31  Richard Stallman  <rms@gnu.org>
649         Distinguish free from non-free OSes
651 2018-03-28  Glenn Morris  <rgm@gnu.org>
653         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
655 2018-03-28  Glenn Morris  <rgm@gnu.org>
657         Fix xrefs in pdf Emacs manual
659         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
660         (Fortran Columns):
661         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
662         Fix recent changes that neglected the splitting of the pdf manuals.
664 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
666         * doc/misc/org.texi (Installation): Fix clone commands.
668 2018-03-27  Rasmus  <rasmus@gmx.us>
670         Update Org to v9.1.9
672         Please note this is a bugfix release. See etc/ORG-NEWS for details.
674 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
676         De-obsolete `if-let' and `when-let'
678         For the following release it is planned to make `if-let*' and
679         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
680         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
682         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
683         refer to those of `if-let' and `when-let'.
684         (if-let, when-let): De-obsolete.  Rewrite documentation.
686 2018-03-26  Glenn Morris  <rgm@gnu.org>
688         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
690 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
692         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
694 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
696         Fix crash after frame is freed on macOS (bug#30800)
698         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
699         (bug#30800)
701 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
703         More manual editing
705         * doc/emacs/basic.texi:
706         * doc/emacs/calendar.texi:
707         * doc/emacs/display.texi:
708         * doc/emacs/mini.texi:
709         * doc/emacs/misc.texi:
710         * doc/emacs/picture-xtra.texi:
711         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
712         <next> and <prior>.  Add missing @kindex entries.
714         * doc/emacs/custom.texi (Function Keys): Fix and add missing
715         key symbols.
717 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
719         Minor manual changes changes
721         * doc/emacs/misc.texi (FFAP): Complete commands.
722         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
724 2018-03-24  Glenn Morris  <rgm@gnu.org>
726         * lisp/calculator.el (calculator-paste-decimals): Add version.
728 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
730         More proofreading of the Emacs manual
732         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
733         (Screen Garbled): Mention the command name.
734         (Bug Criteria): Mention that problems in packages should first be
735         reported to the respective maintainers.
736         (Checklist): Fix wording.
737         (Contributing, Copyright Assignment): Minor copyedits.
738         * doc/emacs/misc.texi (Amusements): Remove Landmark.
739         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
740         (Rectangles in Picture): Add a cross-reference to "Registers".
741         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
742         Mention command names in parentheses.
743         (Gnus Summary Buffer): Document "M-r".
744         (Network Security): Document that current NSM works with TLS
745         encryption.  Fix markup.
746         (Document View): Improve wording and fix a typo.
747         (DocView Conversion): Rephrase description of
748         doc-view-cache-directory.
749         (Single Shell): Mention variables that control when shell output
750         appears in the echo area.
751         (Shell Mode): Improve wording.
752         (Shell Prompts): Fix a typo.
753         (Shell Ring, Term Mode): Mention command names.
754         (History References): Add a cross-reference to "Rebinding".
755         (Remote Host): Mention SSH.
756         (TCP Emacs server): Improve wording.
757         (emacsclient Options): Minor improvements.
758         (PostScript): Fix wording.
759         (PostScript Variables): Mention that ps-font-size could be a cons.
760         (Sorting): Minor improvements.  Suggested by Michael Albinus
761         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
763 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
765         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
767         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
769 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
771         Explain more about (defvar foo) form (Bug#18059)
773         * doc/lispref/variables.texi (Defining Variables)
774         (Using Lexical Binding):
775         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
776         VALUE for `defvar' marks the variable special only locally.
777         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
778         using `defvar' without VALUE.
780 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
782         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
784         * doc/lispref/anti.texi (Antinews): Fix grammar.
786 2018-03-22  Glenn Morris  <rgm@gnu.org>
788         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
790         Avoids type mismatch when relevant library is not present/loaded.
792 2018-03-22  Glenn Morris  <rgm@gnu.org>
794         sql.el defcustom fixes
796         * lisp/progmodes/sql.el (sql-login-params): Update.
797         Avoids type mismatch with postgres and sqlite login params.
798         (sql-postgres-login-params): Bump version.
800 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
802         Document DEFUN attributes
804         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
805         specification of function attributes in DEFUN.
807 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
809         * etc/NEWS: Add an entry for auth-source-pass.
811 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
813         Fix the MSDOS build
815         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
817 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
819         Improve warning and error messages
821         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
822           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
823           went wrong.
825 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
827         Adjust eieio persistence tests for expected failure
829         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
830          (eieio-test-persist-hash-and-vector,
831           eieio-test-persist-interior-lists): Persistence does not currently
832          handle deeply-nested objects. Expect current failures, and mark for
833          future fixes.
835 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
837         Let eieio-persistent-read read what object-write has written
839         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
840           `object-write' may quote lists inside hash tables and vectors, so
841           unquote those lists here.
843         This patch allows the eieio-persistent write/restore process to
844         perform a clean round trip. It only handles a very specific and
845         limited range of object structures, but at least the write and read
846         procedures match.
848 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
850         Handle possible classtype values in eieio-persistent-read
852         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
853           The function `eieio-persistent-slot-type-is-class-p' could return
854           either a single class, or a list of classes.
856 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
858         Add new tests for eieio persistence
860         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
861           (hash-equal): New comparison test for hash-tables.
862           (persist-test-save-and-compare): Use test for hash-tables.
863           (eieio-test-persist-hash-and-vector,
864           eieio-test-persist-interior-lists): New tests.
866 2018-03-22  Glenn Morris  <rgm@gnu.org>
868         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
870         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
872 2018-03-21  Glenn Morris  <rgm@gnu.org>
874         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
876 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
878         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
880 2018-03-21  Alan Mackenzie  <acm@muc.de>
882         Firm up documentation of generalized variables
884         * doc/lispref/variables.texi (Generalized Variables)
885         (Setting Generalized Variables): Define a generalized variable as something
886         setf can write to.  Remove the insinuation that hackers have poor memories.
887         State explicitly that the list of GVs given is complete.  Remove the
888         suggestion that `setf' has superseded, or is in the process of superseding,
889         `setq'.  Make minor corrections to the English.
891 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
893         Improve documentation of Auto-Revert mode
895         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
896         applies to Dired buffers as well.  Suggested by Michael Albinus
897         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
899 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
901         Improvements in dired.texi
903         * doc/emacs/dired.texi (Dired): Mention that Dired works with
904         remote directories.
905         (Dired Enter): ls-lisp is used on some remote systems as well.
906         (Dired Navigation): Mention and index the command names.
907         (Dired Deletion): Document the 'always' value of
908         dired-recursive-deletes.  Mention the alternative deletion method.
909         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
910         marking does on a subdirectory header line.
911         (Operating on Files): Document that 'Z' uses gzip or compress.
912         (Comparison in Dired): Mention ediff-files.
913         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
914         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
916 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
918         Revert "Support all perl variable declarators and prefixes"
920         It highlights normal variable names in perl programs (Bug#30812).
921         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
922         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
924         Don't merge to master, we will fix Bug#27613 properly there (it's too
925         close to release to do that on emacs-26).
927 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
929         Port to 32-bit sparc64
931         Backport from master.
932         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
933         and Andreas Schwab (Bug#30855).
934         * src/alloc.c (mark_memory): Call mark_maybe_object only on
935         pointers that are properly aligned for Lisp_Object.
937 2018-03-20  Robert Pluim  <rpluim@gmail.com>
939         Correct Info link markup
941         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
942         Correct markup for Info link.
943         * src/minibuf.c (Fcompleting_read): Likewise.
945 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
947         Improve documentation of 'with-help-window'
949         * doc/lispref/help.texi (Help Functions): Change variable name
950         to 'buffer-or-name'.
952         * lisp/help.el (with-help-window): Change variable name to
953         'buffer-or-name' and rewrite the doc string, adding reference
954         to 'help-window-setup'.  (Bug#30792)
956 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
958         Minor improvements in building.texi
960         * doc/emacs/building.texi (Compilation Shell): Mention that this
961         section is for local compilation buffers.
962         (Compilation, Compilation Mode): Mention that 'g' is bound to
963         'recompile' in compilation buffers.
964         (Grep Searching): Add a cross-reference to "Compilation Mode".
965         Suggested by Michael Albinus <michael.albinus@gmx.de> in
966         emacs-manual-bugs@gnu.org.
968 2018-03-20  Alex Branham  <branham@utexas.edu>
970         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
972 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
974         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
976 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
978         Yet more proofreading of the Emacs manual
980         * doc/emacs/building.texi (Compilation, Grep Searching)
981         (Debuggers, GUD Customization, Source Buffers)
982         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
983         Suggested by Michael Albinus <michael.albinus@gmx.de> in
984         emacs-manual-bugs@gnu.org.
986 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
988         * doc/emacs/rmail.texi: Fix broken link.
990 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
992         Fix recently-added POP doc glitch
994         * doc/emacs/rmail.texi (Remote Mailboxes):
995         POP3 → POP, when talking about POP in general.
997 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
999         More proofreading of the Emacs manual
1001         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
1002         indexing.
1003         (Mac / GNUstep Basics, Mac / GNUstep Customization)
1004         (Mac / GNUstep Events): Improve indexing.
1006         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
1007         (Rmail Basics, Rmail Scrolling): Improve cross-references and
1008         indexing.
1009         (Rmail Motion): Minor improvements.
1010         (Rmail Inbox): Remove outdated text about Babyl format.
1011         (Rmail Files): Formatting changes.  Comment out
1012         set-rmail-inbox-list in the table of commands, as it is commented
1013         out in the text that follows.
1014         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
1015         Minor copyedits.
1016         (Rmail Summary Edit): Document
1017         rmail-summary-scroll-between-messages.
1018         (Rmail Editing): Improve indexing.
1019         (Movemail): Fix typos.
1020         (Remote Mailboxes): Use "POP3" rather than "POP".
1022 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
1024         Fix typo in the Emacs manual's VC chapter
1026         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
1028 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
1030         Pass json-readtable-error data as a list (bug#30489)
1032         * lisp/json.el (json-readtable-dispatch): Fix error data.
1033         * test/lisp/json-tests.el (test-json-read): Check error data is a
1034         list.
1036 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
1038         Improve word motion docs (Bug#30815)
1040         * doc/lispref/positions.texi (Word Motion): Fix reference to
1041         `char-script-table'.
1042         * lisp/simple.el (backward-word):
1043         * src/syntax.c (forward-word): Mention `char-script-table' and add
1044         link to the 'Word Motion' manual section.
1046 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
1048         Replace "carriage-return" by "carriage return" in manuals
1050         * doc/emacs/msdos.texi:
1051         * doc/emacs/mule.texi:
1052         * doc/emacs/screen.texi:
1053         * doc/lispref/nonascii.texi:
1054         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
1055         return".  Suggested by Richard Stallman <rms@gnu.org> in
1056         emacs-manual-bugs@gnu.org.
1058 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
1060         Minor copyedits in mule.texi
1062         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
1063         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
1064         emacs-manual-bugs@gnu.org.
1066 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
1068         Fix problems caused by fontconfig-2.13.0
1070         * src/xterm.c (x_term_init): Call fixup_locale after
1071         xg_initialize, to countermand the call to setlocale in some
1072         versions of fontconfig.  (Bug#30788)
1074 2018-03-13  Glenn Morris  <rgm@gnu.org>
1076         Fix some allout.el aliases
1078         * lisp/allout.el (allout-passphrase-verifier-string)
1079         (allout-passphrase-hint-string): Fix alias.
1081 2018-03-13  Glenn Morris  <rgm@gnu.org>
1083         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
1085 2018-03-13  Glenn Morris  <rgm@gnu.org>
1087         Doc fixes re obsolete items
1089         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
1090         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
1092 2018-03-13  Glenn Morris  <rgm@gnu.org>
1094         Replace an obsolete alias in tpu-mapper
1096         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
1097         Replace obsolete alias.
1099 2018-03-13  Glenn Morris  <rgm@gnu.org>
1101         Doc fixes re obsolete items
1103         * doc/emacs/maintaining.texi (VC Undo):
1104         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
1105         * doc/misc/url.texi (Customization):
1106         Don't mention url-temporary-directory, it essentially does nothing.
1107         * lisp/hilit-chg.el
1108         (highlight-changes-global-changes-existing-buffers): Doc fix.
1110 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
1112         Minor changes in mule.texi
1114         * doc/emacs/mule.texi (International, Coding Systems)
1115         (Bidirectional Editing): Minor wording changes and typo fixes.
1116         Suggested by Michael Albinus <michael.albinus@gmx.de> in
1117         emacs-manual-bugs@gnu.org.
1119 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
1121         Avoid assertion violation under visual-order-cursor-movement
1123         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
1124         BEGV..ZV range.  Signal Beginning of buffer error when there's a
1125         before-string at BEGV.  (Bug#30787)
1127 2018-03-13  Glenn Morris  <rgm@gnu.org>
1129         Stop mentioning options.el in doc
1131         * doc/misc/calc.texi (Customizing Embedded Mode):
1132         Remove mentions of the obsolete (since 22.1) options.el.
1133         * lisp/progmodes/meta-mode.el: Comment fix.
1135 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
1137         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
1139 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
1141         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
1143 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
1145         Fix last change in Xref documentation
1147         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
1148         accurate wording for the description of xref-etags-mode.
1150 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
1152         More changes in the Emacs manual
1154         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
1155         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
1156         emacs-manual-bugs@gnu.org.
1158         * doc/emacs/msdos.texi (Windows Keyboard):
1159         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
1160         * doc/emacs/macos.texi (Mac / GNUstep Basics):
1161         * doc/emacs/glossary.texi (Glossary):
1162         * doc/emacs/custom.texi (Function Keys, Init Syntax):
1163         * doc/emacs/commands.texi (User Input):
1164         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
1165         * doc/emacs/msdos.texi (Windows Keyboard):
1166         * doc/emacs/dired.texi (Dired Updating):
1167         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
1168         Suggested by Richard Stallman <rms@gnu.org>.
1170 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
1172         Improve documentation of Xref
1174         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
1175         xref-etags-mode.
1177 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
1179         Fix create_process bug breaking eudc-expand-inline
1181         Problem reported by Thomas Fitzsimmons (Bug#30762).
1182         * src/process.c (create_process) [HAVE_PTYS]:
1183         Call setsid even if !PTY_FLAG.
1185 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
1187         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
1189         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
1190         => (ATOM) short form is only for non-nil ATOMs.
1192 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
1194         Improve SVG documentation
1196         * doc/lispref/display.texi (ImageMagick Images): Remove an
1197         outdated comment that references a fixed bug.
1198         (SVG Images): Fix grammar, and call functions functions (there are
1199         no commands in lisp/svg.el).
1201 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
1203         Document the "URL" keyword in library headers
1205         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
1206         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
1207         (Bug#30571)
1209 2018-03-09  Glenn Morris  <rgm@gnu.org>
1211         * test/lisp/international/mule-tests.el:
1212         Avoid local variables confusion.
1214 2018-03-09  Bill Wohler  <wohler@newt.com>
1216         Add missing findex entries for recently removed kindex entries
1218         * doc/misc/mh-e.texi:
1220         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
1222 2018-03-09  Glenn Morris  <rgm@gnu.org>
1224         Replace the obsolete process-kill-without-query in documentation
1226         * lisp/comint.el (comint-exec-hook):
1227         * lisp/term.el (term-exec-hook):
1228         * lisp/eshell/esh-proc.el (eshell-exec-hook):
1229         Doc fixes re the obsolete process-kill-without-query.
1231 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
1233         Minor change in the manual
1235         * doc/emacs/display.texi (Useless Whitespace):
1236         Don't upcase "TAB" and "SPC" when alluding to characters.
1238 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
1240         More minor changes in the manual
1242         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
1243         and "SPC" when alluding to characters.  Suggested by Richard
1244         Stallman <rms@gnu.org>.
1246         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
1247         means for buffers.
1248         (Buffers): Define and describe "buffer contents".  Suggested by
1249         Richard Stallman <rms@gnu.org>.  (Bug#30685)
1251 2018-03-07  Glenn Morris  <rgm@gnu.org>
1253         Replace some obsolete aliases in code
1255         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
1256         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
1257         Replace obsolete aliases.
1259 2018-03-07  Glenn Morris  <rgm@gnu.org>
1261         Replace some obsolete aliases in documentation
1263         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
1264         * doc/misc/speedbar.texi (Major Display Modes):
1265         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
1266         Doc fixes re obsolete aliases.
1268 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
1270         Minor improvements in manuals
1272         * doc/lispref/variables.texi (Local Variables): Make more clear
1273         that local bindings of 'let' are in effect only within the body.
1274         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
1275         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
1276         for the details.
1278         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
1279         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
1280         Improve indexing.
1282 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
1284         Minor copyedits in display.texi
1286         * doc/emacs/display.texi (Highlight Interactively)
1287         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
1288         changes of wording and typo corrections.  Suggested by Michael
1289         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1291 2018-03-07  Glenn Morris  <rgm@gnu.org>
1293         Remove some unused spam.el variables
1295         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
1296         (spam-bogofilter-path, spam-bsfilter-path)
1297         (spam-spamassassin-path, spam-sa-learn-path):
1298         Remove variables that are described as obsolete, but are
1299         really completely unused, and have been for years.
1301 2018-03-07  Glenn Morris  <rgm@gnu.org>
1303         Replace some obsolete aliases in code
1305         * lisp/emulation/viper.el (viper-set-hooks):
1306         * lisp/epa-hook.el (auto-encryption-mode):
1307         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
1308         * lisp/net/quickurl.el (quickurl--assoc-function): New.
1309         (quickurl-assoc-function): Use it.
1311 2018-03-07  Glenn Morris  <rgm@gnu.org>
1313         Replace some obsolete aliases in documentation
1315         * doc/emacs/text.texi (Nroff Mode):
1316         * doc/misc/efaq.texi (How to add fonts):
1317         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
1318         * lisp/progmodes/pascal.el (pascal-outline-mode):
1319         Doc fixes re obsolete aliases.
1321 2018-03-06  Glenn Morris  <rgm@gnu.org>
1323         Obsolete eshell-cmpl-suffix-list
1325         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
1326         Make obsolete, to match pcomplete-suffix-list.
1328 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
1330         More minor changes in the Glossary of the Emacs manual
1332         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
1333         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
1334         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
1336 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
1338         Revert last commit
1340         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
1341         too late for this to be in the release.
1343 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
1345         Define if-let* and derivatives as aliases for if-let etc
1347         This commit reverts declaring `if-let' and `when-let' obsolete in
1348         favor of the new `if-let*' and `when-let*' versions because of the
1349         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
1350         for foo-let.  The old single-tuple variable spec case is still
1351         supported for backward compatibility.
1352         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
1353         obsolete.  Tweak edebug specs.
1354         (and-let): Renamed from `and-let*' for compatibility with the names
1355         `if-let' and `when-let'.
1356         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
1357         `when-let' and `and-let'.
1358         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
1359         (when-let-single-tuple-case-test): New tests for the single-binding
1360         tuple case.
1361         In the whole file, prefer the names without "*".
1363 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
1365         Minor fix in Emacs manual's Glossary
1367         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
1368         primary selection.  Reported by Gijs Hillenius
1369         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
1371 2018-03-03  Juri Linkov  <juri@linkov.net>
1373         * lisp/progmodes/grep.el (zrgrep):
1375         Let-bind grep-use-null-filename-separator to nil (bug#30559).
1377 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
1379         Minor copyedits in doc/emacs/text.texi
1381         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
1382         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
1384 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
1386         Remove outdated comment in syntax.el
1388         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
1389         outdated comment.  (Bug#30617)
1391 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
1393         Prevent Flyspell from changing unrelated words
1395         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
1396         using stale cached data from previous invocations of this command.
1397         (Bug#30462)
1399 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
1401         Avoid errors in flymake in builds --without-x
1403         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
1405 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
1407         More improvements of the Emacs manual
1409         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
1410         wording.  Suggested by Daniel Chakraborty
1411         <danielmchakraborty@gmail.com>.
1413         * doc/emacs/glossary.texi (Glossary): Add cross-references.
1414         Improve and clarify wording.  Suggested by Gijs Hillenius
1415         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
1417         * doc/emacs/text.texi (Org Authoring): Add more supported formats
1418         to the list.
1419         (TeX Print): Improve wording.  Slightly rearrange stuff.
1420         (TeX Misc): Mention doctex-mode-hook.
1421         (Two-Column): Minor rearrangement of text.  Suggested by Michael
1422         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1424         * doc/emacs/misc.texi (Saving Emacs Sessions):
1425         * doc/emacs/programs.texi (Program Modes): Remove redundant text
1426         and index entries.
1428 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
1430         Backport: xref--next-error-function: Move xref's window point
1432         * lisp/progmodes/xref.el (xref--next-error-function): Move
1433         xref's window point if it's visible.  When we don't do that,
1434         navigation can start looping after a while.
1436         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
1438 2018-03-02  Glenn Morris  <rgm@gnu.org>
1440         mwheel minor consistency fix
1442         * lisp/mwheel.el (mwheel-scroll-left-function)
1443         (mwheel-scroll-right-function):
1444         Change from defcustom to defvar, for consistency with pre-existing.
1446 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
1448         * src/window.c (Frecenter): Improve commentary.
1450 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
1452         Fix downloading non-text files in EWW
1454         * lisp/net/eww.el (eww-download-callback): Bind
1455         coding-system-for-read to 'no-conversion', to avoid any code- or
1456         EOL-conversions in downloaded files.  (Bug#30664)
1458 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
1460         Rename some mwheel options, for consistency
1462         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
1463         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
1464         mwheel-flip-direction.
1465         (mwheel-scroll): Update for option renaming.
1466         * doc/emacs/frames.texi (Mouse Commands):
1467         Update for option renaming.
1469 2018-03-01  Glenn Morris  <rgm@gnu.org>
1471         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
1473 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
1475         Improve the Emacs manual
1477         * doc/emacs/xresources.texi (Table of Resources): Mention that
1478         some resources are ignored by toolkit builds.
1479         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
1480         (Bug#30530)
1482 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
1484         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
1486 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
1488         Further improvements on manuals
1490         * doc/emacs/xresources.texi:
1491         * doc/lispref/display.texi:
1492         * doc/lispref/keymaps.texi:
1493         * doc/misc/dbus.texi:
1494         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
1496         * doc/emacs/xresources.texi (Resources): Mention several use
1497         of "-xrm".
1498         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
1500 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
1502         Require a larger stack size for threads on macOS (bug#30364)
1504         * src/systhread.c (sys_thread_create)
1505         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
1506         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
1507         Do not merge to master.
1509 2018-02-28  Glenn Morris  <rgm@gnu.org>
1511         * doc/lispref/streams.texi (Output Variables): Fix previous.
1513 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
1515         Use "GTK+" where applicable in the manual
1517         * doc/emacs/display.texi (Standard Faces, Standard Faces):
1518         * doc/emacs/emacs.texi (Top):
1519         * doc/emacs/files.texi (Visiting):
1520         * doc/emacs/frames.texi (Scroll Bars):
1521         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
1523 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1525         Document print-escape-control-characters
1527         * doc/lispref/streams.texi, etc/NEWS: Add doc.
1529 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1531         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
1533 2018-02-27  Glenn Morris  <rgm@gnu.org>
1535         * lisp/emulation/viper.el: Unbreak it.
1537         Since 2017-03-19, M-x viper failed with function void cl-member-if.
1538         Perhaps it isn't used much.
1540 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1542         More fixes in the Emacs manual
1544         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
1545         Sort the resources.
1546         (Lucid Resources): Add cross-references.
1547         (GTK Resource Basics): Fix wording.
1548         (GTK styles): Add empty lines in a @table.  Suggested by Michael
1549         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1551 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1553         Avoid aborts in 'md5'
1555         * src/fns.c (extract_data_from_object): Don't crash if called with
1556         an invalid object.  (Bug#30627)
1558 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1560         Mark keys consistently in manuals
1562         * doc/emacs/killing.texi:
1563         * doc/lispintro/emacs-lisp-intro.texi:
1564         * doc/misc/calc.texi:
1565         * doc/misc/cc-mode.texi:
1566         * doc/misc/dired-x.texi:
1567         * doc/misc/ede.texi:
1568         * doc/misc/edt.texi:
1569         * doc/misc/efaq.texi:
1570         * doc/misc/erc.texi:
1571         * doc/misc/eshell.texi:
1572         * doc/misc/gnus-faq.texi:
1573         * doc/misc/gnus-news.texi:
1574         * doc/misc/idlwave.texi:
1575         * doc/misc/ido.texi:
1576         * doc/misc/mairix-el.texi:
1577         * doc/misc/message.texi:
1578         * doc/misc/mh-e.texi:
1579         * doc/misc/newsticker.texi:
1580         * doc/misc/org.texi:
1581         * doc/misc/pcl-cvs.texi:
1582         * doc/misc/ses.texi:
1583         * doc/misc/sieve.texi:
1584         * doc/misc/smtpmail.texi:
1585         * doc/misc/speedbar.texi:
1586         * doc/misc/srecode.texi:
1587         * doc/misc/vhdl-mode.texi:
1588         * doc/misc/vip.texi:
1589         * doc/misc/viper.texi: Mark keys consistently.
1591 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1593         Remove @key{} markups from @kindex entries in manuals
1595         * doc/emacs/basic.texi:
1596         * doc/emacs/buffers.texi:
1597         * doc/emacs/building.texi:
1598         * doc/emacs/calendar.texi:
1599         * doc/emacs/custom.texi:
1600         * doc/emacs/dired.texi:
1601         * doc/emacs/display.texi:
1602         * doc/emacs/files.texi:
1603         * doc/emacs/frames.texi:
1604         * doc/emacs/help.texi:
1605         * doc/emacs/indent.texi:
1606         * doc/emacs/killing.texi:
1607         * doc/emacs/kmacro.texi:
1608         * doc/emacs/mark.texi:
1609         * doc/emacs/mini.texi:
1610         * doc/emacs/misc.texi:
1611         * doc/emacs/modes.texi:
1612         * doc/emacs/msdos-xtra.texi:
1613         * doc/emacs/msdos.texi:
1614         * doc/emacs/mule.texi:
1615         * doc/emacs/picture-xtra.texi:
1616         * doc/emacs/programs.texi:
1617         * doc/emacs/regs.texi:
1618         * doc/emacs/rmail.texi:
1619         * doc/emacs/screen.texi:
1620         * doc/emacs/search.texi:
1621         * doc/emacs/sending.texi:
1622         * doc/emacs/text.texi:
1623         * doc/emacs/trouble.texi:
1624         * doc/misc/calc.texi:
1625         * doc/misc/cc-mode.texi:
1626         * doc/misc/ediff.texi:
1627         * doc/misc/ert.texi:
1628         * doc/misc/eww.texi:
1629         * doc/misc/forms.texi:
1630         * doc/misc/gnus.texi:
1631         * doc/misc/idlwave.texi:
1632         * doc/misc/info.texi:
1633         * doc/misc/message.texi:
1634         * doc/misc/mh-e.texi:
1635         * doc/misc/newsticker.texi:
1636         * doc/misc/org.texi:
1637         * doc/misc/pcl-cvs.texi:
1638         * doc/misc/rcirc.texi:
1639         * doc/misc/reftex.texi:
1640         * doc/misc/sc.texi:
1641         * doc/misc/sieve.texi:
1642         * doc/misc/vhdl-mode.texi:
1643         * doc/misc/vip.texi:
1644         * doc/misc/viper.texi:
1645         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
1647 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
1649         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
1651 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
1653         Fix @kindex entries in manuals
1655         * doc/emacs/basic.texi:
1656         * doc/emacs/buffers.texi:
1657         * doc/emacs/building.texi:
1658         * doc/emacs/calendar.texi:
1659         * doc/emacs/custom.texi:
1660         * doc/emacs/dired.texi:
1661         * doc/emacs/display.texi:
1662         * doc/emacs/files.texi:
1663         * doc/emacs/frames.texi:
1664         * doc/emacs/help.texi:
1665         * doc/emacs/indent.texi:
1666         * doc/emacs/killing.texi:
1667         * doc/emacs/kmacro.texi:
1668         * doc/emacs/mark.texi:
1669         * doc/emacs/mini.texi:
1670         * doc/emacs/misc.texi:
1671         * doc/emacs/modes.texi:
1672         * doc/emacs/msdos-xtra.texi:
1673         * doc/emacs/msdos.texi:
1674         * doc/emacs/mule.texi:
1675         * doc/emacs/picture-xtra.texi:
1676         * doc/emacs/programs.texi:
1677         * doc/emacs/regs.texi:
1678         * doc/emacs/rmail.texi:
1679         * doc/emacs/screen.texi:
1680         * doc/emacs/search.texi:
1681         * doc/emacs/sending.texi:
1682         * doc/emacs/text.texi:
1683         * doc/emacs/trouble.texi:
1684         * doc/lispref/files.texi:
1685         * doc/misc/calc.texi:
1686         * doc/misc/cc-mode.texi:
1687         * doc/misc/ediff.texi:
1688         * doc/misc/epa.texi:
1689         * doc/misc/ert.texi:
1690         * doc/misc/eww.texi:
1691         * doc/misc/forms.texi:
1692         * doc/misc/gnus.texi:
1693         * doc/misc/info.texi:
1694         * doc/misc/mairix-el.texi:
1695         * doc/misc/message.texi:
1696         * doc/misc/mh-e.texi:
1697         * doc/misc/newsticker.texi:
1698         * doc/misc/org.texi:
1699         * doc/misc/pcl-cvs.texi:
1700         * doc/misc/rcirc.texi:
1701         * doc/misc/sc.texi:
1702         * doc/misc/sieve.texi:
1703         * doc/misc/vhdl-mode.texi:
1704         * doc/misc/vip.texi:
1705         * doc/misc/viper.texi:
1706         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
1708 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1710         Fix @cindex entries in manuals
1712         * doc/emacs/custom.texi:
1713         * doc/emacs/dired.texi:
1714         * doc/emacs/display.texi:
1715         * doc/emacs/files.texi:
1716         * doc/emacs/frames.texi:
1717         * doc/emacs/killing.texi:
1718         * doc/emacs/maintaining.texi:
1719         * doc/emacs/misc.texi:
1720         * doc/emacs/msdos-xtra.texi:
1721         * doc/emacs/msdos.texi:
1722         * doc/emacs/search.texi:
1723         * doc/emacs/text.texi:
1724         * doc/emacs/trouble.texi:
1725         * doc/lispintro/emacs-lisp-intro.texi:
1726         * doc/lispref/strings.texi:
1727         * doc/lispref/text.texi:
1728         * doc/misc/cc-mode.texi:
1729         * doc/misc/efaq.texi:
1730         * doc/misc/eieio.texi:
1731         * doc/misc/emacs-mime.texi:
1732         * doc/misc/gnus.texi:
1733         * doc/misc/htmlfontify.texi:
1734         * doc/misc/idlwave.texi:
1735         * doc/misc/message.texi:
1736         * doc/misc/mh-e.texi:
1737         * doc/misc/sem-user.texi:
1738         * doc/misc/ses.texi:
1739         * doc/misc/tramp.texi:
1740         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
1742 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1744         Fix @cindex entries in org.texi
1746         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
1747         @code{} for keywords.
1749 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1751         Document reserved keys
1753         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
1754         users.  (Bug#30530)
1756 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1758         * doc/misc/ebrowse.texi: Use @key{} for keys.
1760 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1762         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
1764 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1766         Improve documentation of X resources
1768         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
1769         resources.  Add cross-references to "GTK Resources".
1771 2018-02-23  Glenn Morris  <rgm@gnu.org>
1773         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
1775         Since multi-tty, this is always set.
1777 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
1779         Minor doc fixes, mostly for timestamp issues
1781 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
1783         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
1785 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
1787         Fix @findex and @vindex entries in manuals
1789         * doc/emacs/building.texi:
1790         * doc/emacs/calendar.texi:
1791         * doc/emacs/cmdargs.texi:
1792         * doc/emacs/mini.texi:
1793         * doc/emacs/misc.texi:
1794         * doc/emacs/trouble.texi:
1795         * doc/emacs/windows.texi:
1796         * doc/lispintro/emacs-lisp-intro.texi:
1797         * doc/lispref/edebug.texi:
1798         * doc/lispref/frames.texi:
1799         * doc/lispref/os.texi:
1800         * doc/lispref/windows.texi:
1801         * doc/misc/cc-mode.texi:
1802         * doc/misc/dired-x.texi:
1803         * doc/misc/ediff.texi:
1804         * doc/misc/mh-e.texi:
1805         * doc/misc/pcl-cvs.texi:
1806         * doc/misc/reftex.texi:
1807         * doc/misc/sc.texi:
1808         * doc/misc/vhdl-mode.texi:
1809         * doc/misc/viper.texi: Fix @findex and @vindex entries.
1811 2018-02-22  Alan Mackenzie  <acm@muc.de>
1813         Document, in the Elisp manual, how to get a character's raw syntax descriptor
1815         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
1816         to get a character's raw syntax descriptor.
1818 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1820         Improvements in the Emacs manual
1822         * doc/emacs/custom.texi (Customization Groups)
1823         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
1824         markup of keys.
1825         (Changing a Variable, Saving Customizations): Update the
1826         description of buttons in the Custom buffer.
1827         (Face Customization): More accurate description.
1828         (Specific Customization, Examining, Locals): Add blank lines in
1829         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
1830         in emacs-manual-bugs@gnu.org.
1832 2018-02-22  Glenn Morris  <rgm@gnu.org>
1834         Tiny doc/misc markup fixes
1836         * doc/misc/ediff.texi (Patch and Diff Programs):
1837         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
1839 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
1841         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
1843         * src/xdisp.c (note_mouse_highlight): Skip check whether
1844         mouse-face highlighting overlay overlaps other mouse-face
1845         overlays when mouse-face highlighting is hidden (Bug#30519).
1847 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1849         Fix capitalization of "Mail-Followup-To"
1851         * doc/emacs/sending.texi (Header Editing, Mail Headers):
1852         Standardize on "Mail-Followup-To" as the capitalization.
1854 2018-02-21  Juri Linkov  <juri@linkov.net>
1856         * lisp/progmodes/grep.el (grep-compute-defaults):
1858         Add grep-use-null-filename-separator to grep-host-defaults-alist.
1859         (Bug#30559)
1861 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
1863         Semantic manual fixes
1865         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
1866         remove a reference to "document-vars.el" which, in the Emacs
1867         repository, is part of lisp/cedet/srecode/document.el.
1869 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1871         More improvements in the Emacs manual
1873         * doc/emacs/help.texi (Misc Help):
1874         * doc/emacs/m-x.texi (M-x):
1875         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
1876         breaking of command sequences between lines.  Reported by Wojciech
1877         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1879         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
1881 2018-02-21  tino calancha  <tino.calancha@gmail.com>
1883         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
1885 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1887         Fix documentation of 'x-underline-at-descent-line'
1889         * doc/emacs/display.texi (Display Custom):
1890         * src/nsterm.m (syms_of_nsterm):
1891         * src/xterm.c (syms_of_xterm):
1892         * src/w32term.c (syms_of_w32term): Mention the effect of
1893         'line-spacing' on the underline position.  (Bug#30553)
1895 2018-02-21  Glenn Morris  <rgm@gnu.org>
1897         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
1899 2018-02-20  Robert Pluim  <rpluim@gmail.com>
1901         Correct variable markup in manuals
1903         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
1904         * doc/lispref/text.texi (Filling): Likewise.
1905         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
1906         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
1907         (Encrypting/decrypting gpg files): Likewise.
1908         * doc/misc/tramp.texi (External methods): Likewise.
1909         (Default Method): Likewise.
1910         * doc/misc/viper.texi (Editing in Insert State): Likewise.
1911         (File and Buffer Handling): Likewise.
1912         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
1913         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
1914         status of url-temporary-directory.
1916 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1918         Improve the "Sending Mail" chapter of Emacs manual
1920         * doc/emacs/sending.texi (Mail Format, Header Editing)
1921         (Mail Aliases): Fix capitalization of mail headers.
1922         (Mail Aliases): Use ~/.mailrc consistently.
1923         (Mail Misc): More accurate description of disposition.  Suggested
1924         by Michael Albinus <michael.albinus@gmx.de> in
1925         emacs-manual-bugs@gnu.org.
1927 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1929         Fix documentation of 'flyspell-auto-correct-word'
1931         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
1932         doc string on how the function looks for the word to spell-check.
1933         (flyspell-word, flyspell-auto-correct-word): Refer to
1934         'flyspell-get-word' for details about finding the word.
1935         (Bug#30462)
1937 2018-02-19  Robert Pluim  <rpluim@gmail.com>
1939         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
1941 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
1943         More changes in the Emacs manuals
1945         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
1946         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
1947         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
1948         Fix punctuation.  Suggested by Stefan Kamphausen
1949         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
1951         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
1952         commands between lines.  Reported by Wojciech Politarczyk
1953         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1955         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
1956         rebinding keys from "Init File".  (Bug#30528)
1958 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1960         More fixes in the Emacs manual
1962         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
1963         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
1964         @item's.
1965         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
1966         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
1967         in emacs-manual-bugs@gnu.org.
1969 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1971         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
1973 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
1975         Minor edit in tramp.texi
1977         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
1978         Improve @cindex entries.
1980 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1982         More improvements in the Emacs manual
1984         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
1985         (List Identifiers): Insert blank lines between @item's in a
1986         @table.
1987         (Etags Regexps): More accurate description of escape sequences.
1988         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
1989         Suggested by Michael Albinus <michael.albinus@gmx.de> in
1990         emacs-manual-bugs@gnu.org.
1992 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1994         Improve documentation of 'electric-pair-mode'
1996         * lisp/elec-pair.el (electric-pair-mode):
1997         * doc/emacs/programs.texi (Matching): Document the operation of
1998         electric-pair-mode when there's an active region.  (Bug#30502)
2000 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
2002         lisp/vc/: documentation fixes
2004         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
2005         * lisp/vc/add-log.el (change-log-get-method-definition):
2006         Indent documentation.
2008 2018-02-17  Robert Pluim  <rpluim@gmail.com>
2010         Document 'desktop-files-not-to-save'
2012         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
2013         of 'desktop-files-not-to-save'.
2015         * lisp/desktop.el (desktop-files-not-to-save): Explain that
2016         the default value excludes buffers visiting remote files.
2018 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
2020         Improve documentation of Profiling features
2022         * doc/lispref/debugging.texi (Profiling): Improve the description
2023         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
2025         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
2026         interactive invocation work.  Doc fix.
2028 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
2030         Improve indexing of "performance" in ELisp manual
2032         * doc/lispref/debugging.texi (Profiling):
2033         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
2034         features useful for performance analysis.  (Bug#30490)
2036 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
2038         Minor change in Emacs manual's VC chapter
2040         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
2041         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
2042         emacs-manual-bugs@gnu.org.
2044 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
2046         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
2048         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
2049         signal an error *before* growing the specpdl array.  Therefore, when
2050         handling the signal, specpdl_ptr points past the end of the specpdl
2051         array and any further use of of specpdl before unwinding (e.g., if
2052         edebug binds signal-hook-function) will cause memory corruption.
2053         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
2054         the specpdl_ptr is already past the end of the specpdl array.
2055         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
2056         (eval-exceed-specbind-with-signal-hook): New test & helper function.
2058 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
2060         Document comment-fill-column in the manual (Bug#11636)
2062         * doc/emacs/programs.texi (Comment Commands)
2063         (Options for Comments): Mention comment-fill-column.
2065 2018-02-17  Glenn Morris  <rgm@gnu.org>
2067         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
2069 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
2071         More fixes for the Emacs manual
2073         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
2074         backends.
2075         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
2076         list of VCS.  Remove the description of vc-state-refresh.
2077         (Version Control Systems): Update the description of CVS.
2078         (VC Change Log): Amend the list of VCS that don't support
2079         vc0print-root-log.
2080         (VCS Changesets, VCS Repositories, Advanced C-x v v)
2081         (VC Change Log): Mention SRC with RCS where appropriate.
2082         (VC Directory Commands): More accurate description of
2083         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
2084         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2086 2018-02-16  Robert Cochran  <robert@cochranmail.com>
2088         Make 'byte-compile-error-on-warn' a safe file variable
2090         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
2091         as a safe local variable for boolean values.
2093 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
2095         Fix the doc string of flyspell-auto-correct-word
2097         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
2098         fix.  (Bug#30462)
2100 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
2102         Improve the MS-Windows appendix of the Emacs manual
2104         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
2105         shortcuts for starting Emacs.
2106         (Text and Binary): Minor wording changes.
2107         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
2108         (ls in Lisp): Update the list of supported 'ls' switches.
2109         Document 'ls-lisp-use-string-collate' and
2110         'ls-lisp-UCA-like-collation'.
2111         (Windows HOME): Mention warnings displayed at startup when
2112         deprecated locations of HOME and/or deprecated names for init
2113         files are used.
2114         (Windows Keyboard): Mention delete-selection-mode.
2116 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
2118         Fix 'vc-git--program-version'
2120         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
2121         work with Git for Windows.
2123 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
2125         Fix typos and wording in the Emacs manual
2127         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
2128         * doc/emacs/maintaining.texi (Tag Syntax):
2129         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
2130         (Lisp Libraries):
2131         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
2132         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
2133         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
2134         emacs-manual-bugs@gnu.org.
2136 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
2138         * doc/emacs/programs.texi (Semantic): Order programming languages.
2140 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
2142         More improvements for the Emacs manual
2144         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
2145         typos.
2146         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
2147         typos.
2148         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
2149         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
2150         emacs-manual-bugs@gnu.org.
2152         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
2153         (ForIndent Commands, Fortran Columns): Add empty lines between
2154         @items in a @table.
2155         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
2156         'column-number-indicator-zero-based'.
2157         (ForIndent Vars): Fix a typo.
2158         (Fortran Comments): Fix punctuation.
2159         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
2160         * doc/emacs/programs.texi (Comments): Fix a typo.
2161         (Comment Commands): More accurate description of the commands.
2162         (Options for Comments): Don't mention "hook".
2163         (Man Page): Prefer "M-x man" if available.
2164         (Hideshow): Fix the command key sequence.
2165         (Semantic): Update supported languages.
2166         (Semantic, Hungry Delete, Other C Commands): Fix markup of
2167         commands.
2168         (Misc for Programs): Fix a typo.
2169         (Electric C, Hungry Delete): More accurate description of
2170         mode-line lighters of CC submodes.
2171         (Asm Mode): Add empty lines between @items in a @table.
2172         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
2173         Reported by Michael Albinus <michael.albinus@gmx.de> in
2174         emacs-manual-bugs@gnu.org.
2176         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
2177         Suggested by Isaac Carter <icarter1391@gmail.com> in
2178         emacs-manual-bugs@gnu.org.
2180 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
2182         Minor wording change in Emacs manual
2184         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
2185         Reported by lyr3 <lyr3@protonmail.com> in
2186         emacs-manual-bugs@gnu.org.
2188 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
2190         Another set of changes for the manual
2192         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
2193         to elisp's description of 'pp'.
2194         (Program Modes): Add a few more programming modes.  Add index
2195         entries.
2196         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
2197         (Manipulating Comments): Fix markup of keyboard commands.
2198         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
2199         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
2200         in emacs-manual-bugs@gnu.org.
2202         * doc/lispref/display.texi (Display Tables): Fix the description
2203         of the 5th extra slot of the display table.  (Bug#13473)
2205         * doc/emacs/regs.texi (Registers): Simplify wording.
2207         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
2208         about perils of encoded keyboard input.
2210 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
2212         Improvements on tramp.texi
2214         * doc/misc/tramp.texi: Use Tramp version in title.  Further
2215         improvements on user option indexing.  Finish command examples
2216         with @key{RET} where appropriate.
2217         (Remote processes): Use 'M-&' for invocation of async shell.
2218         (Frequently Asked Questions): Add example with simplified syntax.
2220 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
2222         Tramp minor doc fixes
2224         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
2225         wording improvement.
2227 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
2229         More changes in the Emacs manual
2231         * doc/emacs/search.texi (Regexp Backslash): Say that
2232         symbol-constituent characters are determined by the syntax table.
2233         (Lax Search): Fix example of case-insensitive search.  Fix a
2234         typo.
2235         (Unconditional Replace): Improve wording.
2236         (Regexp Replace): More consistent wording.  Reported by Michael
2237         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2239         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
2240         Windows versions.  Reported by Isaac Carter
2241         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
2243 2018-02-13  Andreas Schwab  <schwab@suse.de>
2245         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
2247 2018-02-13  Andreas Schwab  <schwab@suse.de>
2249         Don't signal error in vc-deduce-backend
2251         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
2252         vc-responsible-backend signals an error.
2254 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
2256         * doc/misc/tramp.texi: Index more user options.
2258 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
2260         Minor change in the Emacs manual
2262         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
2263         load-path is not a good idea.  Suggested by James Yoo
2264         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
2266 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
2268         NEWS update about 'string-trim'
2270         * etc/NEWS: Mention changes in string-trim family of functions.
2271         (Bug#30442)
2273 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
2275         Clarify TRAMP process-environment interaction (Bug#30419)
2277         * doc/misc/tramp.texi (Remote processes): Index the
2278         tramp-remote-process-environment description.  Clarify the effects of
2279         let-binding process-environment and the motivation for that behavior.
2281 2018-02-12  Juri Linkov  <juri@linkov.net>
2283         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
2285         (grep-mode-line-matches): New defconst.
2286         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
2287         to include the number of matches found.
2288         (grep-process-setup): Set grep-num-matches-found to 0.
2289         (grep-exit-message): New function with body moved from lambda
2290         in grep-process-setup.  Use grep-num-matches-found to return
2291         the number of matches found.
2292         (grep-filter): Increment grep-num-matches-found.
2293         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
2294         (Bug#30397, bug#14017)
2296 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
2298         Avoid aborts in cm.c due to too small TTY frame
2300         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
2301         minimum height large enough to allow for a menu bar, the mode
2302         line, one text line and one echo-area line.  This avoids aborts in
2303         cm.c:cmcheckmagic.  (Bug#30320)
2305 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
2307         Another set of improvements in the Emacs manual
2309         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
2310         * doc/emacs/msdos.texi (Windows Keyboard):
2311         * doc/emacs/mark.texi (Using Region):
2312         * doc/emacs/frames.texi (Menu Mouse Clicks):
2313         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
2314         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
2315         emacs-manual-bugs@gnu.org.
2317         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
2318         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
2319         Various minor wording improvements.  Suggested by Toon Claes
2320         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
2321         More minor changes.  Suggested by Michael Albinus
2322         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2324         * doc/emacs/cmdargs.texi (Title X): Improve wording.
2326         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
2327         passive tense.
2329         * doc/emacs/basic.texi (Moving Point): Move the description of the
2330         bidi-related effects of the arrow keys from here ...
2331         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
2332         Explain the behavior of arrow keys between paragraphs.
2334 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
2336         Fix help in mode-line-mode-menu
2338         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
2339         Fix help string.
2341 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
2343         Improve documentation of desktop restoring
2345         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
2346         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
2347         how to restore desktop in daemon mode.  (Bug#30421)
2349 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
2351         Improve the Emacs manual's chapter "Frames"
2353         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
2354         to where frame visibility is described.
2355         (Word and Line Mouse): Clarify wording.
2356         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
2357         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
2359 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
2361         Fix unbound mm-uu-entry in mm-uu
2363         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
2365 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
2367         Improve Emacs user manual in fixit.texi
2369         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
2370         repeated undo.
2371         (Transpose): Describe explicitly what happens at EOL.
2372         (Spelling): Use "spell-checking" consistently.  Clarify wording.
2373         Suggested by Toon Claes <toon@iotcl.com> in
2374         emacs-manual-bugs@gnu.org.
2376 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
2378         Another minor change in the manual
2380         * doc/emacs/glossary.texi (Glossary): Add popular Latin
2381         abbreviations, such as "e.g.".
2383 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
2385         More minor changes in the Emacs manual
2387         * doc/emacs/xresources.texi (GTK resources):
2388         * doc/emacs/trouble.texi (Contributing):
2389         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
2391         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
2392         based on reports in emacs-manual-bugs@gnu.org about incorrect
2393         hyphenation.
2395 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
2397         Avoid printing garbled error message from image.el
2399         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
2400         apostrophe in the error message, as that message is shown from a
2401         unibyte buffer, and will run afoul of the default style of showing
2402         quote characters.  (Bug#30405)
2404 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
2406         Doc string fix in latin-alt.el
2408         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
2409         Robert Pluim <rpluim@gmail.com>.
2411 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
2413         Minor improvements in package.texi
2415         * doc/emacs/package.texi (Package Menu): Minor wording change.
2416         (Package Installation): Use HTTPS.  A better @xref to GnuPG
2417         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
2418         emacs-manual-bugs@gnu.org.
2420 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
2422         Minor improvement in Emacs user manual
2424         * doc/emacs/files.texi (Directories): Document that
2425         'directory-free-space-program' and 'directory-free-space-args' are
2426         only for local filesystems.  Suggested by Michael Albinus
2427         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2429 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
2431         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
2433 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
2435         Improve documentation of mini-window resizing
2437         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
2438         'message-truncate-lines' for preventing resizing of minibuffer
2439         windows.  (Bug#19045)
2440         (Minibuffer Misc): Remove redundant description of
2441         'max-mini-window-height'.
2442         * doc/lispref/display.texi (Echo Area Customization): Adjust
2443         cross-reference.
2445 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
2447         More changes in the Emacs manual
2449         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
2450         (Fixing Case): Fix punctuation.
2451         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
2452         in emacs-manual-bugs@gnu.org.
2454         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
2455         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
2456         in emacs-manual-bugs@gnu.org.
2458         * doc/emacs/indent.texi (Just Spaces): Yet another minor
2459         rewording.
2461         * doc/emacs/building.texi (Watch Expressions): Improve wording.
2462         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
2463         by Alberto Sartori <alberto.sartori@sissa.it> in
2464         emacs-manual-bugs@gnu.org.
2465         (Grep Searching): Mention the effect of
2466         'compilation-mode-line-errors'.  (Bug#30397)
2468         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
2469         rewording of what <LEFT> and <RIGHT> do.
2471 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
2473         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
2475         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
2476         manual display is unaffected.
2478 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
2480         Mention that shell quoting of % on w32 may fail (Bug#19350)
2482         * doc/lispref/os.texi (Security Considerations): Mention that quoting
2483         of '%' assumes no '^' in variable names.
2484         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
2485         demonstrating what doesn't work.
2487 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
2489         Fix --no-build-details for w32 and macOS
2491         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
2492         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
2493         to `x-open-connection'.
2495 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2497         * doc/lispref/anti.texi (Antinews): Add some more antinews.
2499 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2501         Fix crashes when run with --no-build-details
2503         * src/xrdb.c (get_environ_db):
2504         * src/xterm.c (same_x_server, x_term_init):
2505         Don’t assume Fsystem_name returns a string.
2507 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
2509         More changes for the manual
2511         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
2512         Reported by Michael Albinus <michael.albinus@gmx.de> in
2513         emacs-manual-bugs@gnu.org.
2515         * doc/emacs/custom.texi (Function Keys): Improve wording.
2516         Suggested by clemens.radermacher@posteo.de in
2517         emacs-manual-bugs@gnu.org.
2519         * doc/emacs/misc.texi (History References): Improve punctuation.
2520         (Terminal emulator): Fix a typo.
2521         (Term Mode): Remove redundant repeated text.
2522         (Invoking emacsclient): Improve wording.  Suggested by Alberto
2523         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2525         * doc/emacs/files.texi (Visiting): Fix last change.
2527 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
2529         Doc fixes for process functions (Bug#30349)
2531         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
2532         the 'stopped' state means for a pipe process.
2533         * src/process.c (Fmake_process, Fmake_pipe_process)
2534         (Fmake_serial_process, Fmake_network_process):
2535         * lisp/subr.el (start-process):
2536         * lisp/net/tls.el (open-tls-stream):
2537         * lisp/net/starttls.el (starttls-open-stream):
2538         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
2539         "specify an output stream" phrase from docstring.
2541 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
2543         Fix shr and CSS 4 color maps
2545         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
2546         Add RebeccaPurple.
2547         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
2548         and aqua-cyan aliases.
2549         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
2550         Bump color count.
2552 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
2554         Yet another round of improvements in the manual
2556         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
2557         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
2559         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
2560         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
2562         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
2563         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2565         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
2566         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
2567         emacs-manual-bugs@gnu.org.
2569         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
2570         regarding registry keys.
2572         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
2573         Reported by Cena Mayo <cenazoic@gmail.com> in
2574         emacs-manual-bugs@gnu.org.
2576         * doc/emacs/screen.texi (Screen): More accurate wording.
2577         Suggested by Miloš Polakovič <milos@alphamail.org> in
2578         emacs-manual-bugs@gnu.org.
2580         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
2581         Suggested by David Bonnafous <dbonnafo@gmail.com> in
2582         emacs-manual-bugs@gnu.org.
2584         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
2585         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
2586         emacs-manual-bugs@gnu.org.
2588         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
2590         * doc/emacs/display.texi (Highlight Interactively): Fill text.
2591         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
2592         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2594         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
2596         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
2597         (Remote Files, File Names, Visiting, Backup Deletion)
2598         (Customize Save, Interlocking): Improve wording and accuracy of
2599         the text.
2600         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
2601         "his".
2602         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
2603         wording changes.
2604         (Supporting additional buffers): Moved to ...
2605         * doc/lispref/backups.texi (Reverting): ... here.
2606         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
2607         buffers" from master menu.
2608         * doc/emacs/files.texi (Reverting): Mention use of file
2609         notifications.  Suggested by Michael Albinus
2610         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2612         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
2613         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
2614         emacs-manual-bugs@gnu.org.
2616         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
2617         (Action Arguments): Fix a typo.
2618         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
2619         Justin Heyes-Jones <justinhj@gmail.com> in
2620         emacs-manual-bugs@gnu.org.
2622         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
2623         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2625         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
2626         Minor wording changes.
2628 2018-02-04  Juri Linkov  <juri@linkov.net>
2630         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
2632         when vc-git-print-log-follow is non-nil (bug#19045).
2633         (vc-git-print-log-follow): Doc fix.
2635         * etc/NEWS: Mention 'vc-git-print-log-follow'.
2637 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
2639         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
2641         for hints how to type remote file names effectively.
2643 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
2645         Yet another round of fixing the Emacs manual
2647         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
2648         describing what happens when Emacs is invoked with several file
2649         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
2650         emacs-manual-bugs@gnu.org.
2652         * doc/emacs/xresources.texi (GTK styles):
2653         * doc/emacs/mini.texi (Passwords):
2654         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
2655         "can not".
2657         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
2658         of ns-right-alternate-modifier when its value is 'none'.
2659         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
2660         emacs-manual-bugs@gnu.org.
2662         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
2663         sub-sections of Diary.
2664         * doc/emacs/emacs.texi (Top):
2665         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
2666         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
2667         emacs-manual-bugs@gnu.org.
2669         * doc/emacs/anti.texi (Antinews): Fix grammar.
2671 2018-02-04  Alan Mackenzie  <acm@muc.de>
2673         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
2675 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
2677         Two minor fixes in Antinews
2679         * doc/emacs/anti.texi (Antinews): Two minor fixes.
2681 2018-02-03  Juri Linkov  <juri@linkov.net>
2683         * etc/NEWS: Rename image-dired-thumb-job-limit
2685         to image-dired-queue-active-limit (bug#30279)
2687 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2689         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
2691 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2693         Fix deferred display of async shell-command buffers
2695         * lisp/simple.el (shell-command): Display async shell buffer on
2696         process output for every, not just first, command invocation.  Check
2697         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
2699 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2701         Mention remote file name completion in Emacs manual
2703         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
2704         "//" with remote file names.  (Bug#29149)
2706 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2708         Yest another round of manual copyedits
2710         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
2711         changes.  Suggested by myq larson <myqlarson@gmail.com> in
2712         emacs-manual-bugs@gnu.org.
2714         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
2715         relevant Org features.  Suggested by Alex Branham
2716         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
2718         * doc/emacs/dired.texi (Operating on Files)
2719         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
2720         Suggested by Francis Wright <f.j.wright@live.co.uk> in
2721         emacs-manual-bugs@gnu.org.
2723         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
2724         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
2725         emacs-manual-bugs@gnu.org.
2727 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2729         Update xdisp.c commentary
2731         * src/xdisp.c: Update commentary regarding "asynchronous" entry
2732         into redisplay.  (Bug#30182)
2734 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
2736         Fix Bug#30324
2738         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
2739         Adapt to changed remote file name syntax.  (Bug#30324)
2741 2018-02-03  Glenn Morris  <rgm@gnu.org>
2743         Recognize Org as builtin package (bug#30310)
2745         * lisp/org/org.el: Add Version header so detected as builtin package.
2746         * test/lisp/org/org-tests.el: New file.
2748 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2750         Another round of manual fixups
2752         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
2753         Reported by David Bonnafous <dbonnafo@gmail.com> in
2754         emacs-manual-bugs@gnu.org.
2756         * doc/emacs/windows.texi (Other Window): Improve wording.
2757         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
2758         emacs-manual-bugs@gnu.org.
2760         * doc/emacs/display.texi (Display Custom): Mention that line
2761         numbers are not displayed in the minibuffer and tooltips.
2763         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
2764         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
2765         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
2766         emacs-manual-bugs@gnu.org.
2768         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
2769         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
2771         * doc/emacs/display.texi (Scrolling): Fix grammar.
2772         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
2773         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
2774         in emacs-manual-bugs@gnu.org.
2776         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
2777         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
2778         Remove redundant commas.  Suggested by oldgaro
2779         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
2781         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
2782         Suggested by clemens.radermacher@posteo.de in
2783         emacs-manual-bugs@gnu.org.
2785         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
2786         wording.  Suggested by drone <yoorobot@gmail.com> in
2787         emacs-manual-bugs@gnu.org.
2789         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
2790         (Dired Deletion): Fix a typo.
2791         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
2792         character.  Fix typos.
2793         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
2794         (Arguments): Some additional information about keys.  Reported by
2795         Francis Wright <f.j.wright@live.co.uk> in
2796         emacs-manual-bugs@gnu.org.
2798 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
2800         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
2803         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
2805 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2807         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
2809 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
2811         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
2813         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
2815 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2817         Fix last change of @key markup
2819         * doc/lispref/display.texi (Specified Space):
2820         * doc/emacs/programs.texi (C Modes):
2821         * doc/emacs/killing.texi (Rectangles):
2822         * doc/emacs/emacs.texi (Top):
2823         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
2824         markup for characters and commands, only for keys.
2826 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2828         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
2830 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
2832         Revert a1bbc49015 (Bug#30243), do not merge
2834         * lisp/files.el:
2835         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
2837 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
2839         Use @key{} where it is missing in the manuals
2841 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2843         Another round of manual fixes from proofreading
2845         * doc/emacs/search.texi (Incremental Search)
2846         (Nonincremental Search): Mention the menu bar and fix typos.
2847         Reported by David Bonnafous <dbonnafo@gmail.com> in
2848         emacs-manual-bugs@gnu.org.
2849         * doc/emacs/building.texi (Compilation): Improve wording.
2850         Suggested by drone <yoorobot@gmail.com> in
2851         emacs-manual-bugs@gnu.org.
2852         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
2853         Suggested by Robert Pluim <rpluim@gmail.com> in
2854         emacs-manual-bugs@gnu.org.
2855         * doc/emacs/display.texi (Highlight Interactively, Fringes):
2856         Improve wording.  Suggested by Justin Heyes-Jones
2857         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2858         * doc/emacs/commands.texi (User Input, Commands): Add missing
2859         commas.
2860         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
2861         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
2862         emacs-manual-bugs@gnu.org.
2863         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
2864         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
2865         emacs-manual-bugs@gnu.org.
2866         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
2867         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
2868         emacs-manual-bugs@gnu.org.
2869         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
2870         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
2871         * doc/emacs/maintaining.texi (Introduction to VC)
2872         (Why Version Control?, VCS Merging): Fix typos and section
2873         capitalization.  Suggested by "R. P. Dillon"
2874         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
2875         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
2876         Reported by clemens.radermacher@posteo.de in
2877         emacs-manual-bugs@gnu.org.
2879 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2881         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
2883 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
2885         Document 'window-at-side-p' in the Elisp manual
2887         * doc/lispref/windows.texi (Windows and Frames): Document
2888         'window-at-side-p'.
2890 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2892         Document external-debugging-output in the Elisp Manual (Bug#24051)
2894         * doc/lispref/streams.texi (Output Streams): List
2895         external-debugging-output.
2896         * src/print.c (Fexternal_debugging_output): Quote `print' in
2897         docstring.
2899 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2901         Fix scroll-margin docstring (Bug#13791)
2903         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
2904         the margin may trigger any sort of auto scrolling, not recentering
2905         specifically.
2907 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2909         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
2911         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
2913 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2915         Update manual description of locate-file (Bug#23650)
2917         * doc/lispref/files.texi (Locating Files): Add example of predicate
2918         when searching for a directory.
2920 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2922         Clarify effect of print-gensym (Bug#27776)
2924         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
2925         and #N= constructs depends on the value of `print-circle'.
2927 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2929         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
2931 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2933         Define cl-type-definition button type as needed (Bug#28899)
2935         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
2936         `cl-extra' before using the `cl-type-definition' button type.
2938 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2940         Emphasize that GPG passphrase caching is temporary (Bug#29907)
2942         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
2943         temporary.
2944         (GnuPG version compatibility): Fix typo.
2946 2018-01-30  Alan Mackenzie  <acm@muc.de>
2948         Fix @examples in cc-mode.info, where lines were getting glued together.
2950         This happened because of false @c's in macro lines.
2952         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
2953         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
2955 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2957         Minor change in "Mode Line" section of Emacs manual
2959         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
2960         hovering the mouse over the mode line.  Suggested by Eduardo
2961         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
2963 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2965         More fixes in the Emacs manual
2967         * doc/emacs/screen.texi (Mode Line): Fix markup and
2968         cross-references.
2969         (Menu Bar): Correct inaccurate description.
2970         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
2971         * doc/emacs/frames.texi (Scroll Bars):
2972         * doc/emacs/emacs.texi (Top):
2973         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
2974         * doc/emacs/misc.texi (Invoking emacsclient)
2975         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
2976         Michael Albinus <michael.albinus@gmx.de> in
2977         emacs-manual-bugs@gnu.org.
2979 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2981         Minor copyedits in "Distribution" chapter of the Emacs manual
2983         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
2984         Suggested by oldgaro <oldgaro@protonmail.com> in
2985         emacs-manual-bugs@gnu.org.
2987 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2989         Minor copyedits in "Entering" chapter of Emacs manual.
2991         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
2992         to MS-Windows startup procedures.  Clarify wording.  Suggested by
2993         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
2995 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2997         Minor wording change in the Emacs manual
2999         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
3000         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
3002 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
3004         Fix a typo in the Emacs manual
3006         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
3007         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
3008         emacs-manual-bugs@gnu.org.
3010 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
3012         Improve the "Basic" chapter of the Emacs manual
3014         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
3015         (Position Info): Add a cross-reference to where
3016         display-line-numbers-mode is described.  Reported by Joshua
3017         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
3019 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
3021         Resurrect lost text in lispref
3023         * doc/lispref/files.texi (File Attributes): Resurrect
3024         inadvertently lost text.
3026 2018-01-30  Philipp Stephani  <phst@google.com>
3028         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
3030 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3032         Proofread os.texi and files.texi
3034 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
3036         Minor improvements in the "International" chapter of Emacs manual
3038         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
3039         versions of MS-Windows.
3040         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
3041         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
3042         emacs-manual-bugs@gnu.org.
3044 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
3046         Minor improvement in "Text" chapter of Emacs manual
3048         * doc/emacs/text.texi (Words): Improve wording.  Reported by
3049         Marcin Borkowski <mbork@mbork.pl> in
3050         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
3052 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
3054         Fix some issues in the emacs/lispref manuals
3056         * doc/emacs/basic.texi (Continuation Lines):
3057         * doc/emacs/building.texi (GDB User Interface Layout):
3058         * doc/emacs/dired.texi (Misc Dired Features):
3059         * doc/emacs/maintaining.texi (Identifier Search):
3060         * doc/emacs/mark.texi (Using Region):
3061         * doc/emacs/misc.texi (Document View, DocView Conversion):
3062         * doc/emacs/modes.texi (Major Modes):
3063         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
3064         * doc/emacs/sending.texi (Mail Methods): Replace @code by
3065         @kbd.
3066         * doc/emacs/frames.texi (Text-Only Mouse):
3067         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
3068         @key.
3069         * doc/lispref/compile.texi (Compiler Errors): Write
3070         non-@code{nil} instead of non-nil.
3071         * doc/lispref/debugging.texi (Internals of Debugger):
3072         'backtrace' is not a command.  'debugger-stack-frame-as-list'
3073         is an option.
3074         * doc/lispref/display.texi (Size of Displayed Text):
3075         'window-lines-pixel-dimensions' has a last argument 'left'.
3076         * doc/lispref/display.texi (Attribute Functions):
3077         'set-face-underline' and 'set-face-inverse-video' are
3078         commands.
3079         (Tooltips): 'tooltip-frame-parameters' is an option.
3080         (Bidirectional Display): 'bidi-paragraph-direction' is an
3081         option.
3082         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
3083         is an option.
3084         (Input Focus): Argument FRAME of 'x-focus-frame' is not
3085         optional.
3086         (Child Frames): Both arguments of 'frame-ancestor-p' are
3087         non-optional.  'iconify-child-frame' is an option.
3088         * doc/lispref/os.texi (Killing Emacs):
3089         'kill-emacs-query-functions' is an option.
3090         * doc/lispref/windows.texi (Mouse Window Auto-selection):
3091         'mouse-autoselect-window' is an option.
3093 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
3095         Fix multiple spaces in Emacs manual
3097         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
3098         spaces in printed manual.
3100 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
3102         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
3104 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
3106         Adjudicate comments to "International" chapter of Emacs manual
3108         * doc/emacs/mule.texi (International Chars)
3109         (Language Environments, Input Methods, Defining Fontsets)
3110         (Modifying Fontsets): Minor wording changes and typo fixes.
3111         Reported by Francis Wright <f.j.wright@live.co.uk> in
3112         emacs-manual-bugs@gnu.org.
3114 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
3116         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
3118         That commit did not make the corresponding change to printing, thus
3119         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
3120         symbols.  It's too late in the release cycle to change printing
3121         behavior, therefore revert the reader change.
3123         Don't merge to master, the print function will be updated there (see
3124         "Fix round tripping of read->print for symbols with strange quotes").
3126 2018-01-27  Alan Mackenzie  <acm@muc.de>
3128         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
3130         This fixes bug #30186.  The with-silent-modifications was there to prevent
3131         records of text property manipulations being put into buffer-undo-list.  These
3132         had been causing a significant slowdown in CC Mode with C-_ after a large
3133         C-y.  This CC Mode problem has since been solved by a different workaround.
3135         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
3136         with-silent-modifications around the text property manipulations.
3138 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3140         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
3142 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
3144         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
3146 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3148         Minor changes in the Emacs manual
3150         * doc/emacs/search.texi (Search Customizations): Minor wording
3151         change.
3152         * doc/emacs/files.texi (Customize Save): Add a cross-reference
3153         for batch mode.
3155 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3157         Improve the "Files" chapter of the Emacs manual
3159         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
3160         the notion of shadowing before describing the commands.  Suggested
3161         by Will Korteland <emacs-devel@korte.land> in
3162         emacs-manual-bugs@gnu.org.
3164 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3166         Improve the "Search" chapter of the Emacs manual
3168         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
3169         clarify wording.
3170         (Search Customizations): Fix a typo.  Reported by Will Korteland
3171         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
3173 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3175         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
3177 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3179         Improve documentation of 'edebug-defun'
3181         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
3182         for a failure to instrument due to unknown macros.  (Bug#30243)
3183         (Bug#10577)
3185 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
3187         Mention crashes due to Noto Serif Kannada fonts
3189         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
3190         and the respective workarounds.  (Bug#30193)
3192 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
3194         * doc/lispref/searching.texi: Document regexp repetition limit.
3196         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
3198 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
3200         Load mm-util as needed for url-file and url-data (Bug#30258)
3202         * lisp/url/url-file.el (url-file):
3203         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
3204         `mm-disable-multibyte'.
3205         * test/lisp/url/url-file-resources/file.txt:
3206         * test/lisp/url/url-file-tests.el:
3207         * test/lisp/url/url-misc-tests.el: New tests.
3209 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
3211         Another minor copyedit in the manual's "Scroll Bars"
3213         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
3214         left/right buttons may be absent from the toolkit scroll bars.
3215         Reported by Robert Pluim <rpluim@gmail.com> in
3216         emacs-manual-bugs@gnu.org.
3218 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
3220         Minor fix in documentation of 'equal'
3222         * doc/lispref/objects.texi (Equality Predicates): Correct the
3223         conditions for equality of unibyte and multibyte strings.
3224         (Bug#30218)
3226 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
3228         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
3230 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
3232         Minor rewording in Emacs manual's "Help Mode" node
3234         * doc/emacs/help.texi (Help Mode): Minor rewording of description
3235         of 'help-follow-symbol'.  Suggested by Richard Stallman
3236         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
3238 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
3240         Fixes for Emacs manual in frames.texi
3242         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
3243         (Window Dividers): Minor clarifications and spelling/markup
3244         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
3245         emacs-manual-bugs@gnu.org.
3247 2018-01-24  Glenn Morris  <rgm@gnu.org>
3249         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
3251 2018-01-24  Robert Pluim  <rpluim@gmail.com>
3253         Fix a few issues with latest GTK scaling changes
3255         * src/xfns.c (Fx_display_monitor_attributes_list): Call
3256         gdk_screen_get_monitor_scale_factor only for GTK versions
3257         3.10..3.21.
3258         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
3260 2018-01-24  Robert Pluim  <rpluim@gmail.com>
3262         Use scaled coordinates when calling into GTK
3264         This is part two of a two part fix for the GTK scaling
3265         problems.  See the thread starting at
3266         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
3267         for an explanation of why it has been added to Emacs 26.
3269         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
3270         pass to gtk_window_move and to gtk_window_parse_geometry.
3271         * src/xterm.c (x_set_offset): Likewise.
3273 2018-01-24  Robert Pluim  <rpluim@gmail.com>
3275         Scale monitor dimensions obtained from GTK
3277         This is part one of a two part fix for the GTK scaling
3278         problems.  See the thread starting at
3279         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
3280         for an explanation of why it has been added to Emacs 26.
3282         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
3283         into account when using GTK to query the monitor dimensions, which
3284         allows frameset-restore to position frames correctly.
3286 2018-01-22  Rasmus  <rasmus@gmx.us>
3288         Update Org to v9.1.6
3290         Please note this is a bugfix release. See etc/ORG-NEWS for details.
3292 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
3294         Use text-pixels values only when saving framesets (Bug#30141)
3296         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
3297         that text-pixels values are by default only saved by framesets
3298         so the parameter is not set when restoring (Bug#30141).
3300 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
3302         Minor improvement in section "Pages" of the usere manual
3304         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
3305         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
3307 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
3309         Minor improvements in user manual
3311         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
3312         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
3313         in emacs-manual-bugs@gnu.org
3315 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
3317         Improve the "Mark" chapter of the user manual
3319         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
3320         clarify wording.  Suggested by John Cummings <john@rootabega.net>
3321         in emacs-manual-bugs@gnu.org.
3323 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
3325         Improve the "Buffers" chapter of the user manual
3327         * doc/emacs/buffers.texi (Several Buffers): Correct description of
3328         prefix arguments.  Clarify "bury".
3329         (Buffer Menus): Clarify wording.  Reported by John Cummings
3330         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
3332 2018-01-21  tino calancha  <tino.calancha@gmail.com>
3334         * lisp/term.el (term-send-input): Fix text duplication in docstring
3336 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
3338         Improve "Buffers" in the user manual
3340         Suggested by John Cummings <john@rootabega.net> in
3341         emacs-manual-bugs@gnu.org:
3342         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
3343         "Windows" and "Frames".
3344         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
3345         that accept buffer names.
3346         (Select Buffer): Improve description of "M-g M-g".  Improve
3347         wording.
3348         (Misc Buffer, Kill Buffer): Improve wording.
3349         (Kill Buffer): Fix the response required by kill-some-buffers.
3350         Mention customizable options that control what clean-buffer-list
3351         does.
3352         (Several Buffers): More detail about
3353         'Buffer-menu-unmark-all-buffers'.
3355 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
3357         Don't mention 'vc-stay-local' in the user manual
3359         * doc/emacs/vc1-xtra.texi (CVS Options):
3360         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
3361         references to 'vc-stay-local', which no longer exists.
3362         (Bug#30138)
3364 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
3366         Fix a typo in calendar.texi
3368         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
3369         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
3370         in emacs-manual-bugs@gnu.org.
3372 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
3374         Minor improvement in wording of the Emacs manual
3376         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
3377         Suggested by Will Korteland <emacs-devel@korte.land> in
3378         emacs-manual-bugs@gnu.org.
3380 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
3382         Revert "Fix tempfile creation when byte compiling"
3384         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
3385         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
3386         Put tempfile next to the target file, as was the original intent.
3388 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3390         Fix tempfile creation when byte compiling
3392         This improves on the recent fix for master failing to build
3393         on FreeBSD.  Suggested by Stefan Monnier in:
3394         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
3395         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
3396         Put tempfile next to the target file, as was the original intent.
3398 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
3400         Improve the Emacs manual as suggested in emacs-manual-bugs
3402         * doc/emacs/killing.texi (Deletion and Killing): Add
3403         cross-reference to "Kill Ring".
3404         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
3405         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
3406         emacs-manual-bugs@gnu.org.
3408 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3410         * lisp/emacs-lisp/bytecomp.el: Tweak last change
3412         (byte-compile-file): Move comment closer to the code it describes.
3414 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
3416         Unbreak building Emacs on FreeBSD
3418         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
3419         the temporary file under temporary-file-directory if the file
3420         being compiled is specified by an absolute file name.  This avoids
3421         problems with ACL copying from temporary-file-directory on
3422         FreeBSD.  For the details, see
3423         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
3425 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
3427         Don't unnecessarily use non-ASCII characters in C sources
3429         * src/xwidget.c (webkit_javascript_finished_cb):
3430         * src/gtkutil.c (xg_check_special_colors):
3431         * src/emacs-module.c (module_make_string):
3432         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
3433         characters.
3435 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
3437         Portability fixes in emacs-module-tests
3439         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
3440         CPPFLAGS.
3441         * test/data/emacs-module/mod-test.c: Include <limits.h>.
3442         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
3443         don't support %td and %zu format specs.
3444         (emacs_module_init): Use compatibility macros to make the error
3445         messages print meaningful values (and avoid compiler warnings).
3447 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
3449         Add tests for term.el
3451         * lisp/term.el (term-mode): Add `name' attribute to
3452         window-adjust-process-window-size-function value, so that it can be
3453         removed easily by tests.
3454         * test/lisp/term-tests.el: New tests.
3456 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
3458         Handle split AnSiT messages for term.el (Bug#17231)
3460         Check to see if there is an incomplete command at the end of
3461         term-emulate-terminal's input string, and, if so, save it so the whole
3462         command can be processed when the next string arrives.
3463         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
3464         (term-mode): Make it buffer local.
3465         (term-handle-ansi-terminal-messages): Prepend it to the received
3466         message, and set it if a partial message was received.
3469         Do not merge to master, it will be solved differently there, see
3470         "Switch term.el to lexical binding, and clean up code a bit".
3472 2018-01-19  Glenn Morris  <rgm@gnu.org>
3474         * configure.ac (emacs_config_features): Add threads.
3476 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
3478         Handle case-insensitive filenames for load-path shadows (Bug#5845)
3480         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
3481         shadowing with case-insensitive matching for files of case-insensitive
3482         directories (as determined by `file-name-case-insensitive-p').
3483         * test/lisp/emacs-lisp/shadow-tests.el: New test.
3484         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
3485         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
3487 2018-01-18  Alan Mackenzie  <acm@muc.de>
3489         CC Mode: stop distinguishing brace blocks from defun blocks by content.
3491         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
3492         essentially a reversion of the patch from 2017-11-10 which attempted to handle
3493         C99's compound literals.
3495         The bug here was triggered when a defun block contained a declaration ending
3496         in a comma, yet without a semicolon.
3498         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
3499         remove from the `or' form the test of a block's contents.
3501 2018-01-17  Philipp Stephani  <phst@google.com>
3503         Use recommended long options syntax in man page
3505         * doc/man/emacs.1.in: Specify equals sign for long options, as
3506         recommended in the manual.
3508 2018-01-17  Glenn Morris  <rgm@gnu.org>
3510         An overdue update of GNUstep emacs.tiff
3512         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
3513         Update to the Emacs 25 icon.
3514         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
3515         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
3517 2018-01-17  Glenn Morris  <rgm@gnu.org>
3519         Add some test skip conditions
3521         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
3522         (vc-bzr-test-bug9781): Skip if bzr is faulty.
3523         * test/src/thread-tests.el: Skip if not compiled with threads.
3525 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
3527         Add documentation to ecomplete.el
3529         * lisp/ecomplete.el: Add doc strings and document the format.
3531 2018-01-17  Glenn Morris  <rgm@gnu.org>
3533         * admin/authors.el (authors-aliases): Tighten more entries.
3535 2018-01-17  Glenn Morris  <rgm@gnu.org>
3537         Small startup fix for current-load-list
3539         * lisp/startup.el (command-line):
3540         Avoid current-load-list being non-nil after startup ends.
3542 2018-01-17  Glenn Morris  <rgm@gnu.org>
3544         authors-aliases is based on regexps, not literals
3546         * admin/authors.el (authors-aliases): Replace overly-broad entries.
3548 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
3550         Remove incorrect documentation in comint.el
3552         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
3553         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
3554         documentation.  (Bug#30079)
3556 2018-01-15  Glenn Morris  <rgm@gnu.org>
3558         An overdue update of src/emacs-icon.h
3560         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
3561         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
3563 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
3565         Minor copyedit in ELisp manual
3567         * doc/lispref/variables.texi (File Local Variables): Improve
3568         wording of last change.
3570 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
3572         Fix Bug#29149 in dired-aux.el
3574         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
3575         commands on w32 properly.  (Bug#29149)
3577 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
3579         Fix Bug#29149 in shell.el
3581         * lisp/shell.el (shell): Change order of `file-local-name' and
3582         `expand-file-name' calls.  Otherwise, the local file name
3583         would be extended by a drive letter, even when it is a remote
3584         file, seen from w32.  (Bug#29149)
3586 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3588         * doc/lispref/variables.texi (File Local Variables): Fix last change
3590 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3592         * ChangeLog.3: Update
3594         Update etc/AUTHORS
3596 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3598         Fix an entry in authors-aliases
3600         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
3601         is too broad, to an email address ("mu@magi.net.ru").
3603 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3605         Mention trace.el facilities in the ELisp manual
3607         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
3608         library.
3610 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3612         Improve documentation of safe values of variables
3614         * doc/lispref/variables.texi (File Local Variables): Mention the
3615         autoload cookie as a means of defining safe values for variables.
3616         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
3617         for the details.
3618         * doc/lispref/compile.texi (Compiler Errors): Document
3619         'byte-compile-error-on-warn'.
3621 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3623         Improve the Emacs manual's "Misc" node
3625         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
3626         (Invoking emacsclient): Mention how to avoid errors when there's
3627         no Emacs server.
3628         (EWW, Embedded WebKit Widgets): Now subsections under
3629         "Hyperlinking and Web Navigation Features".
3630         (Amusements): Add "games" to the section name.  Suggested by Alex
3631         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
3633         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
3634         above changes.
3636         * doc/lispref/os.texi (Security Considerations): Fix typos.
3638 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
3640         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
3642         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
3643         of FRAME_X_P (Bug#30019).
3645 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3647         Bump Emacs version to 26.0.91
3649         * README:
3650         * configure.ac:
3651         * msdos/sed2v2.inp:
3652         * nt/README.W32: Bump Emacs version.
3654 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3656         * ChangeLog.3: Update
3658 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3660         Update authors
3662         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
3663         * etc/AUTHORS: Update AUTHORS file.
3665 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
3667         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
3668         adding extra citation mark (bug#29767, but it is a different bug).
3670 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3672         Improve documentation of etags
3674         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
3675         Improve documentation of etags options and of source language
3676         detection.
3678 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3680         Teach etags new interpreters for some languages
3682         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
3683         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
3684         static variables.
3685         (lang_names): Use them to set interpreters for Erlang, Lua,
3686         Prolog, Python, and Ruby.
3687         (find_entries): Support "/usr/bin/env FOO" form of specifying an
3688         interpreter.
3690         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
3691         line to test the "env FOO" interpreter spec.  (Bug#30075)
3692         * test/manual/etags/ETAGS.good_1:
3693         * test/manual/etags/ETAGS.good_2:
3694         * test/manual/etags/ETAGS.good_3:
3695         * test/manual/etags/ETAGS.good_4:
3696         * test/manual/etags/ETAGS.good_5:
3697         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
3698         files.
3700 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3702         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
3704         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
3706 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
3708         Improve documentation of fill-separate-heterogeneous-words-with-space
3710         * lisp/textmodes/fill.el
3711         (fill-separate-heterogeneous-words-with-space): Fix grammar.
3713 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
3715         Fix documentation of some x-* functions
3717         * lisp/term/pc-win.el (x-display-pixel-width)
3718         (x-display-pixel-height, x-display-planes)
3719         (x-display-color-cells, x-server-max-request-size)
3720         (x-server-vendor, x-server-version, x-display-screens)
3721         (x-display-mm-height, x-display-mm-width)
3722         (x-display-backing-store, x-display-visual-class): Provide doc
3723         strings, so that 'makedoc' produces non-empty documentation in
3724         etc/DOC for these functions.  (Bug#30068)
3726 2018-01-10  Philipp Stephani  <phst@google.com>
3728         Inherit query-on-exit flag to stderr process (Bug#30031)
3730         * src/process.c (Fmake_process): Have the pipe process honor the
3731         parent's query-on-exit flag.
3733         * test/src/process-tests.el (make-process/noquery-stderr): New test.
3735 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
3737         Fix Bug#30057
3739         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
3740         (file-notify--test-cleanup, file-notify--test-make-temp-name)
3741         (file-notify-test01-add-watch, file-notify-test03-events)
3742         (file-notify-test05-file-validity)
3743         (file-notify-test09-watched-file-in-watched-dir)
3744         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
3746 2018-01-10  Glenn Morris  <rgm@gnu.org>
3748         Tag some unstable tests, and skip by default (bug#24503)
3750         * Makefile.in (check-all): New phony target.
3751         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
3752         Also skip unstable tests.
3753         (SELECTOR_ALL): New variable.
3754         (check-all): New phony target.
3755         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
3756         (eieio-test-method-order-list-6):
3757         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
3758         (eieio-test-37-obsolete-name-in-constructor):
3759         Mark as unstable rather than skipping on hydra.nixos.org.
3761 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3763         Merge from Gnulib
3765         This incorporates:
3766         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
3767         2018-01-04 update-copyright: Handle use of ©
3768         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
3769         2018-01-02 stat-time: silence -Wunused-parameter regression
3770         * build-aux/config.guess, build-aux/config.sub:
3771         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
3772         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
3773         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
3774         * lib/stat-time.h: Copy from Gnulib, or regenerate.
3776 2018-01-09  Glenn Morris  <rgm@gnu.org>
3778         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
3780 2018-01-09  Glenn Morris  <rgm@gnu.org>
3782         Small fix for erc-logging-enabled
3784         * lisp/erc/erc-log.el (erc-logging-enabled):
3785         Respect buffer-locality of erc-enable-logging variable.
3787 2018-01-09  Glenn Morris  <rgm@gnu.org>
3789         Quieten semantic normal usage
3791         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
3792         compile time in the normal way, not at run-time.  (Bug#30035)
3794 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
3796         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
3798         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
3800 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
3802         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
3804 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
3806         Query background for gnome terminal version 3.22 (Bug#29716)
3808         * lisp/term/xterm.el (xterm--version-handler): Use
3809         xterm--report-background-handler for terminals reporting minor version
3810         4000 and above.
3812 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3814         Make pixel-wise scrolling less laggy
3816         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
3817         New variables.
3818         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
3819         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
3821 2018-01-07  Alan Third  <alan@idiocy.org>
3823         Fix child frame placement issues (bug#29953)
3825         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
3826         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
3827         struct as invisible child windows are detached from their parents in
3828         NS.
3829         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
3830         value, so handle that gracefully.  Child frames with negative left and
3831         top should be positioned relative to the bottom right of the parent
3832         frame.
3834 2018-01-06  Alan Mackenzie  <acm@muc.de>
3836         Describe the precise interaction of complex primitives with the change hooks
3838         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
3839         primitives call before- and after-change-functions in balanced pairs, but that
3840         some complex primitives call b-c-f once, and a-c-f zero, one, or several
3841         times.
3843 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3845         Fix valgrind report in call-interactively
3847         * src/callint.c (Fcall_interactively): Don't try to access more
3848         bytes than are available in the interactive spec.  (Bug#30004)
3850 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3852         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
3854 2018-01-06  Alan Mackenzie  <acm@muc.de>
3856         Fix mark-defun when there's no spaces between successive defuns.
3858         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
3859         argument to detect non-syntactic WS.  This fails on a "}", which does not
3860         begin a sexp.
3862         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
3863         handle BOL being in a string.
3864         (beginning-of-defun-comments): Call the above function in place of the call
3865         to parse-partial-sexp.
3867 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3869         Fix Dired display and operations on file names with raw bytes
3871         * src/coding.c (decode_coding): When flushing remaining raw bytes
3872         from multibyte text, copy 2-byte forms of eight-bit-*
3873         characters as single characters, not as 2 raw bytes.  (Bug#29189)
3875 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3877         Improve documentation of 'gdb-many-windows'
3879         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
3880         for using a separate frame for 'gdb-many-windows'.
3882 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3884         Fix failures in smerge-mode on MS-Windows
3886         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
3887         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
3888         convention explicit.
3889         (smerge-refine-regions): Use utf-8-emacs instead of
3890         emacs-internal, to allow decoding of non-Unix EOL conventions.
3891         (Bug#29916)
3893 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
3895         Fix description of 'struct' generic function specializer
3896         Backport:
3898         * doc/lispref/functions.texi (Generic Functions): Fix description of
3899         'struct' specializer; it must be the named struct or a child, not a
3900         parent.
3902         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
3904 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
3906         * etc/DEBUG (Getting control to the debugger): Fix grammar.
3908 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3910         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
3912 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
3914         Don't bind dframe events on load (Bug#29599)
3916         * lisp/dframe.el (dframe-setup-hook): New hook.
3917         (dframe-set-special-events): New function, containing previous
3918         top-level key binding code.
3919         (top-level): Add it to dframe-setup-hook.
3920         (dframe-frame-mode): Run the hook.
3922 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
3924         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
3926         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
3928 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3930         Fix description of 'emacs-internal'
3932         * doc/lispref/nonascii.texi (Coding System Basics): Correct
3933         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
3935 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3937         Update PROBLEMS with selection-related issues
3939         * etc/PROBLEMS: Update the entry about large selections and
3940         klipper.  (Bug#29661)
3942 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
3944         New customization variable for python-mode indentation (Bug#28475)
3946         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
3947         (python-indent--calculate-indentation): Let it control how many indent
3948         levels are inserted for multi-line function signatures.
3950 2018-01-01  Alan Third  <alan@idiocy.org>
3952         Fix menu keyboard shortcuts on macOS (Bug#29595)
3954         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
3955         macOS 10.13 no longer ignores long modifier strings, so explicitly use
3956         an empty string.
3958 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3960         Fix copyright years by hand
3962         These are dates that admin/update-copyright did not update, or
3963         updated incorrectly.
3965 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3967         Update copyright year to 2018
3969         Run admin/update-copyright.
3971 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3973         Merge from Gnulib
3975         This incorporates:
3976         2018-01-01 maint: Run 'make update-copyright'
3977         2017-12-29 Add cross-compilation results for GNU/Hurd.
3978         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
3980 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
3982         Don't add empty keyboard macro to macro ring (Bug#24992)
3984         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
3985         macro if it is empty.
3987         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
3988         Remove expected failure tag.
3990 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
3992         Allow customization of decoding of "man" command
3994         * lisp/man.el (Man-coding-system): New defcustom.
3995         (Man-start-calling): Use it, and also pay attention to user
3996         overriding coding-system-for-read.  (Bug#29872)
3998 2017-12-31  Daiki Ueno  <ueno@gnu.org>
4000         * etc/NEWS: Add security consideration note on passphrase input
4002 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
4004         Fix subtle problem with scroll-down when scroll-margin is nonzero
4006         * src/window.c (window_scroll_pixel_based): Account for
4007         scroll-margin when scrolling down, i.e. moving window-start
4008         towards the beginning of the buffer.  Reported by zhang cc
4009         <ccsmile2008@outlook.com> in
4010         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
4012 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
4014         Fix problems with indexing in User manual
4016         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
4017         (Moving Point):
4018         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
4019         * doc/emacs/trouble.texi (Quitting):
4020         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
4021         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
4022         (Creating Custom Themes):
4023         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
4024         (Basic Indent, Info Lookup, Symbol Completion):
4025         * doc/emacs/screen.texi (Echo Area):
4026         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
4027         * doc/emacs/display.texi (Line Truncation, Cursor Display):
4028         * doc/emacs/files.texi (File Names, Backup, File Archives):
4029         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
4030         * doc/emacs/commands.texi (User Input):
4031         * doc/emacs/mule.texi (International, Unibyte Mode)
4032         (International Chars):
4033         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
4034         (CVS Options):
4035         * doc/emacs/modes.texi (Major Modes, Minor Modes):
4036         * doc/emacs/indent.texi (Just Spaces):
4037         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
4038         (Frame Commands):
4039         * doc/emacs/cmdargs.texi (Initial Options):
4040         * doc/emacs/abbrevs.texi (Dabbrev Customization):
4041         * doc/emacs/mini.texi (Completion Example, Completion Commands):
4042         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
4043         (From Other Calendar):
4044         * doc/emacs/regs.texi (Text Registers, Bookmarks):
4045         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
4046         * doc/emacs/maintaining.texi (Xref Commands):
4047         * doc/emacs/windows.texi (Pop Up Window):
4048         * doc/emacs/text.texi (Text, Org Mode):
4049         * doc/emacs/killing.texi (Other Kill Commands):
4050         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
4051         (Gnus Summary Buffer, Shell Mode):
4052         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
4053         redundant identical index entries.
4054         * doc/emacs/custom.texi (Mouse Buttons)
4055         * doc/emacs/files.texi (Reverting): Fix hyphenation.
4056         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
4057         * doc/emacs/files.texi (File Conveniences):
4058         * doc/emacs/programs.texi (MixedCase Words): Make entries that
4059         belong to Concept Index be indexed with @cindex.  (Bug#29888)
4061 2017-12-29  Alan Mackenzie  <acm@muc.de>
4063         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
4065 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
4067         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
4069         Don't mess with the lock file when inhibit_modification_hooks is set,
4070         just like we do in prepare_to_modify_buffer_1.
4072 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
4074         Improve documentation of 'inhibit-modification-hooks' and friends
4076         * src/buffer.c (Fset_buffer_modified_p)
4077         (Frestore_buffer_modified_p): Doc fixes.
4078         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
4079         Document in the doc string that this variable also inhibits file
4080         locks and active region handling.  (Bug#29846)
4082 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
4084         Fix doc string of 'enable-recursive-minibuffers'
4086         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
4087         Doc fix.  (Bug#29873)
4089 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
4091         Fix documentation of delsel and of killing text
4093         * doc/emacs/killing.texi (Appending Kills): Make sure the text
4094         with 2 spaces is not broken between 2 lines.
4095         * doc/emacs/mark.texi (Using Region): Remove the sentence about
4096         delsel mode that describes behavior which exists even without
4097         delsel mode turned on.  Suggested by Petteri Hintsanen
4098         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
4100         * lisp/delsel.el (delete-selection-mode): Doc fix.
4102 2017-12-27  Glenn Morris  <rgm@gnu.org>
4104         * doc/lispref/strings.texi (Case Conversion):
4105         Use a TeX font that support ligatures.
4107 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
4109         * doc/misc/speedbar.texi (Top): Fix grammar.
4111         * lisp/subr.el (with-silent-modifications): Doc fixes.
4113 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
4115         Fix curved quotes in printed manual
4117         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
4118         characters in the printed version of the manual.
4120 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4122         Say that "gnus-cloud" is a parody name
4124 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
4126         More improvements for text.texi
4128         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
4129         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
4130         emacs-manual-bugs@gnu.org.
4132 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
4134         Adjudicate review comments for the "Text" chapter of user manual
4136         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
4137         cross-reference to the Org manual.  Make the cross-reference to
4138         Outline Mode appear in online manuals as well (the conditional was
4139         a forgotten remnant from time immemoriam).
4140         (Paragraphs): Add a note that 'paragraph-start' and
4141         'paragraph-separate' should not be anchored.
4142         (Auto Fill): Remove redundant text.  Suggested by Petteri
4143         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
4145 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
4147         * lisp/url/url-http.el
4148         (url-http-wait-for-headers-change-function): Change message to
4149         url-http-debug.
4151 2017-12-24  Alan Mackenzie  <acm@muc.de>
4153         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
4155         , and instruct her to hold the mouse button to display its documentation.
4157         * lisp/help.el (help-downify-mouse-event-type): New function.
4158         (help-read-key-sequence, describe-key): handle double-click-time being nil or
4159         t.
4160         (describe-key): Print out instructions for displaying documentation of
4161         matching mouse down key sequence command when such exists.
4163 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
4165         * net/eww.el (eww): Handle URLs without host part.
4167 2017-12-23  Alan Mackenzie  <acm@muc.de>
4169         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
4171         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
4172         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
4173         event of a sequence which is bound.
4175         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
4176         a list.  Return the latest one which has a binding.
4178 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
4180         Avoid crashes when ':eval' deletes our frame
4182         * src/xdisp.c (display_mode_element): Signal an error if
4183         ':eval' somehow deletes the frame whose window we are
4184         redisplaying. (Bug#29726)
4186 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4188         Fix scrolling up in pixel-scroll.el
4190         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
4191         down when EOB is shown at the top.  This function is reverted to
4192         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
4194 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
4196         Fix problems with ligatures in PDF version of ELisp manual
4198         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
4199         ligatures in printed versions of the manual.  (Bug#29818)
4201 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4203         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
4205         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
4206         Don't burp if the source-buffer has been killed.
4208 2017-12-22  Glenn Morris  <rgm@gnu.org>
4210         Avoid some overfull lines in PDF lispref
4212         * doc/lispref/commands.texi (Reading One Event):
4213         * doc/lispref/display.texi (SVG Images):
4214         * doc/lispref/frames.texi (Size Parameters):
4215         * doc/lispref/syntax.texi (Categories):
4216         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
4217         Avoid overfull lines.
4219 2017-12-22  Glenn Morris  <rgm@gnu.org>
4221         Avoid some overfull lines in PDF manual
4223         * doc/emacs/display.texi (Display Custom):
4224         * doc/emacs/search.texi (Other Repeating Search):
4225         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
4227 2017-12-22  Glenn Morris  <rgm@gnu.org>
4229         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
4230         Fix ref.
4232 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4234         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
4236 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4238         Fix doc string of 'footnote-style-alist'
4240         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
4241         to non-existing files from doc string.  (Bug#29759)
4243 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4245         Improve documentation of selecting windows
4247         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
4248         Clarify what selecting a window means for keyboard input, and that
4249         input focus may need to be considered when selecting windows on
4250         other frames.  See
4251         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
4252         for more details.
4254 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4256         Improve documentation of records
4258         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
4259         * doc/lispref/records.texi (Records): Recommend that record type
4260         names use package-naming conventions.
4262         * etc/NEWS: Add the naming convention recommendation for record
4263         types.
4265 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4267         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
4269 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4271         Fix interactive spec of 'semantic-ia-show-variants'
4273         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
4274         interactive spec to match the function's expectations.  (Bug#29770)
4276 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4278         Fix documentation of 'mouse-drag-and-drop-region' and friends
4280         * doc/emacs/frames.texi (Drag and Drop): Index
4281         'mouse-drag-and-drop-region-cut-when-buffers-differ',
4282         'mouse-drag-and-drop-region-show-tooltip', and
4283         'mouse-drag-and-drop-region-show-cursor'.
4285         * etc/NEWS: Fix the format of the related entries.
4287 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
4289         Improve detection of speller version in ispell.el
4291         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
4292         general forms of version numbers for Aspell, Hunspell, and
4293         Enchant, to include various beta and prereleases.  (Bug#29801)
4295 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4297         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
4299         * doc/emacs/frames.texi (Drag and Drop):
4300         * etc/NEWS (times): Document options for
4301         'mouse-drag-and-drop-region' and mention them in NEWS.
4303 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
4305         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
4307         * doc/emacs/building.texi (Grep Searching): Fix doc of
4308         'grep-save-buffers'.
4309         (Drag and Drop): Reorder paragraphs.  Fix doc of
4310         'mouse-drag-and-drop-region'.
4311         * doc/emacs/frames.texi (Word and Line Mouse):
4312         * doc/emacs/search.texi (Other Repeating Search):
4313         * doc/lispref/compile.texi (Compilation Functions):
4314         * doc/lispref/files.texi (Directory Names):
4315         * doc/lispref/functions.texi (Advising Named Functions):
4316         * doc/lispref/keymaps.texi (Controlling Active Maps):
4317         * doc/lispref/lists.texi (Association Lists):
4318         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
4319         'non-nil' and 'nil'.
4321 2017-12-21  Philipp Stephani  <phst@google.com>
4323         Document that mode commands should be idempotent.
4325         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
4326         Conventions): Document that the mode commands should be idempotent.
4328 2017-12-21  Alan Mackenzie  <acm@muc.de>
4330         Fontify a CPP construct correctly when a comment follows without spaces
4332         Do this by removing a broken optimization in the state cache which put
4333         category text properties on a character between the end of the CPP construct
4334         and the beginning of the comment.  This can't work when there's no such
4335         character.
4337         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
4338         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
4339         (c-with-all-but-one-cpps-commented-out): Remove.
4341         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
4342         start position rather than one character before it.
4343         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
4344         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
4346         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
4347         c-neutralize-syntax-in-CPP and remove the bits which applied category
4348         properties.
4350         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
4351         new name of the function c-neutralize-syntax-in-CPP.
4353 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
4355         Prevent infloop in redisplay on TTY frames
4357         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
4358         filling up display margins with the default face's background.
4359         (Bug#29789)
4361 2017-12-21  Alan Mackenzie  <acm@muc.de>
4363         Fix loss of documentation face in certain CC Mode doc comment situations
4365         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
4366         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
4367         "/**" (etc.) being itself inside a literal, rather than just depending on the
4368         face of the previous character.
4370 2017-12-21  Daiki Ueno  <ueno@gnu.org>
4372         Remove pinentry.el
4374         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
4375         * lisp/net/pinentry.el: Remove (bug#27445).
4377 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
4379         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
4381         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
4382         (Fgnutls_available_p): Use it.
4384 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
4386         Work around GnuTLS version issues with %DUMBFW (tiny change)
4388         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
4389         (init_gnutls_functions): Use it.
4390         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
4392 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
4394         Merge branch 'widen-less' into emacs-26
4396 2017-12-20  Glenn Morris  <rgm@gnu.org>
4398         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
4400 2017-12-20  Glenn Morris  <rgm@gnu.org>
4402         Fix some more aliases to user options
4404         * lisp/cus-edit.el (custom-mode-hook):
4405         * lisp/erc/erc.el (erc-default-coding-system):
4406         * lisp/progmodes/python.el (python-indent, python-guess-indent)
4407         (python-shell-virtualenv-path)
4408         (python-shell-completion-module-string-code)
4409         (python-shell-completion-pdb-string-code, python-use-skeletons):
4410         Define aliases to user options before the options are defined.
4412 2017-12-20  Glenn Morris  <rgm@gnu.org>
4414         Fix some flymake aliases
4416         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
4417         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
4418         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
4419         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
4420         Define aliases to user options before the options are defined.
4422 2017-12-20  Glenn Morris  <rgm@gnu.org>
4424         Unbreak a fileio test on non-Mac OS X systems
4426         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
4427         Don't use an undefined coding system.
4429 2017-12-20  Robert Pluim  <rpluim@gmail.com>
4431         Fix updating scrollbar sizes when scaling is in effect
4433         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
4434         scrollbar when scaling is in effect.
4435         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
4436         when scaling is in effect.
4438 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
4440         Widen in indent-for-tab-command in the normal case, too
4442         Fixing this obvious omission.
4443         * lisp/indent.el (indent--funcall-widened): New function.
4444         (indent-for-tab-command): Use it.
4446 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
4448         Collect GnuTLS extensions and use them to set %DUMBFW if supported
4450         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
4451         only when it's supported as "ClientHello Padding" (Bug#25061).
4453         * src/gnutls.c (Fgnutls_available_p): Get extension names and
4454         put them in the GnuTLS capabilities, using a hard-coded limit
4455         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
4457 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
4459         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
4461 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
4463         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
4465         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
4466         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
4467         rather than forms (bug#29679).
4469 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
4471         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
4472         not position (bug#29734).
4474 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
4476         Replace the mention of c-indent-defun with js-indent-line
4478         * doc/lispref/text.texi (Mode-Specific Indent):
4479         Avoid mentioning c-indent-defun in the context of multi-mode
4480         indentation.
4482 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
4484         python.el doc fixes
4486         * lisp/progmodes/python.el (python-shell-accept-process-output):
4487         (python-shell-comint-end-of-output-p):
4488         (python-shell-first-prompt-hook):
4489         (python-info-beginning-of-backslash): Doc fixes.
4491 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4493         Make 'mouse-drag-and-drop-region' more robust and customizable
4495         * lisp/mouse.el
4496         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
4497         to permit 'mouse-drag-and-drop-region' to cut text also when source
4498         and destination buffers differ.
4499         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
4500         display of tooltip during mouse dragging on graphic displays.
4501         (mouse-drag-and-drop-region-show-cursor): New option to toggle
4502         moving point with mouse cursor during mouse dragging of region.
4503         (mouse-drag-and-drop-region): New face to highlight original
4504         text while dragging.
4505         (mouse-drag-and-drop-region): Make use of new options and face.
4506         Ignore errors during tracking.
4508 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
4510         Backport: Don't compare arguments that can be nil (Bug#28039)
4512         copy-region-as-kill can be called passing nil as `beg' and
4513         `end'. Magit does that, which caused an error when this advice was in
4514         effect.
4516         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
4517           unless `beg' and `end' are non-nil.
4519 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
4521         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
4523         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
4524         similar may update the syntax-ppss cache if
4525         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
4526         any of these functions with a different than normal syntax-table, the
4527         cache must be cleaned afterwards.
4528         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
4529         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
4531 2017-12-17  Glenn Morris  <rgm@gnu.org>
4533         * etc/emacs.appdata.xml: Update file format.
4535 2017-12-16  Alan Third  <alan@idiocy.org>
4537         Use utf-8-hfs-unix on macOS (Bug#29712)
4539         This is a quick fix for the Emacs 26 release. Do not merge to master.
4541         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
4542         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
4544 2017-12-16  Alan Mackenzie  <acm@muc.de>
4546         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
4548 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
4550         Improve fix for Bug#29712
4552         * test/lisp/net/tramp-tests.el
4553         (tramp-test32-environment-variables-and-port-numbers):
4554         Adapt check for systems which do not support "echo -n".  (Bug#29712)
4556 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4558         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
4560 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4562         Avoid reordering of output in 'shr-insert-document'
4564         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
4565         shr-pixel-column invocations.  (Bug#29734)
4567 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4569         Improve documentation of 'invisible-p'
4571         * doc/lispref/display.texi (Invisible Text): Document the return
4572         value of 'invisible-p'.
4574         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
4575         (Bug#29721)
4577 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
4579         Remove one more check that Vframe_list is non-nil
4581         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
4582         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
4583         assumes that.
4585 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
4587         Fix off-by-one error in 'css--hex-color'
4589         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
4591         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
4592         for 'css--hex-color'.
4594 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
4596         Save and restore text-pixel height and width of frames (Bug#28442)
4598         * lisp/frameset.el (frameset--record-relationships): Record
4599         text-pixel-height and text-pixel-width of frame.
4600         (frameset--restore-frame): Restore text-pixel-height and
4601         text-pixel-width of frame if available.  (Bug#28442)
4603 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
4605         Partially revert "Mention new strictness for &optional, &rest..."
4607         The changes to cl argument parsing are not backwards compatible, and
4608         cause inconvenience when writing macros (e.g., instead of doing '&aux
4609         ,@auxargs', some more complicated conditionals would be required).
4610         The `cl-defstruct' macro makes use of this convenience when defining
4611         empty structs (Bug#29728).
4612         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4613         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
4614         and &aux.
4615         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
4616         test.
4618 2017-12-15  Glenn Morris  <rgm@gnu.org>
4620         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
4622         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
4624 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4626         FOR_EACH_FRAME no longer assumes frame-list
4628         This cleans up a recent fix related to Bug#29661.
4629         Suggested by Stefan Monnier in:
4630         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
4631         * src/frame.c (next_frame, prev_frame, delete_frame):
4632         Restore debugging checks that Vframe_list is non-nil,
4633         as FOR_EACH_FRAME no longer has these checks.
4634         (delete_frame): Remove no-longer-needed checks that Vframe_list is
4635         non-nil, as FOR_EACH_FRAME no longer assumes that.
4636         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
4638 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4640         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
4642 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4644         Modernise message.el face spec syntax
4646         * lisp/gnus/message.el (message-header-to, message-header-cc)
4647         (message-header-subject, message-header-newsgroups)
4648         (message-header-other, message-header-name, message-header-xheader)
4649         (message-separator, message-cited-text, message-mml):
4650         Use (DISPLAY . PLIST) face spec syntax as recommended in
4651         `(elisp) Defining Faces'.  (Bug#29405)
4653 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4655         Update message.el obsolete face aliases
4657         * lisp/gnus/message.el: (message-header-to, message-header-cc)
4658         (message-header-subject, message-header-newsgroups)
4659         (message-header-other, message-header-name, message-header-xheader)
4660         (message-separator, message-cited-text, message-mml):
4661         Use define-obsolete-face-alias.  (Bug#29405)
4663 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4665         Improve documentation of TERM environment variable
4667         * doc/emacs/trouble.texi (Checklist):
4668         * doc/emacs/building.texi (Compilation Shell):
4669         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
4670         * doc/emacs/building.texi (Compilation Shell): Mention
4671         'comint-terminfo-terminal' in conjunction with the TERM value.
4673 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
4675         Add option to configure comint TERM
4677         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
4678         (comint-term-environment): New function for setting terminal options
4679         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
4680         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
4682         * etc/NEWS:
4683         * doc/emacs/misc.texi (Shell Options): Document the new option.
4685 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4687         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
4689         * lisp/international/mule.el (sgml-xml-auto-coding-function):
4690         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
4691         obey the buffer's encoding if it is one of these variants, instead
4692         of re-encoding in UTF-8 proper.  (Bug#20623)
4694 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4696         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
4698 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
4700         Fix Bug#29712 in tramp-tests.el
4702         * test/lisp/net/tramp-tests.el
4703         (tramp-test32-environment-variables-and-port-numbers):
4704         Skip for macOS.  (Bug#29712)
4706 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
4708         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
4710         This does not fix Bug#29961 but avoids that Emacs segfaults when
4711         trying to shut down because it lost connection to the X server.
4713         * src/dispnew.c (check_glyph_memory):
4714         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
4715         there's no frame left (Bug#29961).
4717 2017-12-15  Glenn Morris  <rgm@gnu.org>
4719         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
4721 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4723         Remember password change for IMAP in Gnus (Bug#29692)
4725         Reported by Trey Jackson <trey_jackson@mentor.com>.
4727         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
4728         `mail-source-password-cache' for password.
4730 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4732         Add %DUMBFW to the default GnuTLS priority strings
4734         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
4735         the default priority strings (Bug#25061).
4737         * etc/NEWS: Mention it.
4739         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
4740         GnuTLS priority string documentation URL.
4742 2017-12-15  Glenn Morris  <rgm@gnu.org>
4744         Small fixes prompted by make check-declare
4746         * lisp/frame.el (x-focus-frame): Update declaration.
4747         (ns-mouse-absolute-pixel-position): Fix declaration.
4748         * lisp/vc/diff-mode.el (diff-refine-hunk):
4749         Use smerge-refine-regions rather than obsolete alias.
4750         (smerge-refine-subst): Remove declaration, no longer relevant.
4752 2017-12-15  Glenn Morris  <rgm@gnu.org>
4754         Fix some custom groups
4756         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
4757         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
4759 2017-12-14  Alan Mackenzie  <acm@muc.de>
4761         Fix fontification of first declaration within a C++ lambda form.
4763         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
4764         spuriously recognizing the braces of a lambda form as a brace list when there
4765         is an "=" preceding the introductory brackets.
4767 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
4769         * src/data.c (Fadd_variable_watcher): Doc fix.
4771 2017-12-14  Alan Mackenzie  <acm@muc.de>
4773         Fix misfontification of C++ member initialization list after "throw"
4775         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
4776         starting with "throw", by using c-opt-type-modifier-prefix-key.
4778         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
4779         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
4780         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
4781         any keyword in the previous lang const.
4783 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
4785         Consolidate 'widen' calls
4787         * lisp/progmodes/prog-mode.el (prog-indentation-context):
4788         Un-document all elements but the first.
4789         (prog-widen): Remove.
4790         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
4792         * doc/lispref/text.texi (Mode-Specific Indent): Update.
4794         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
4795         Don't call widen.
4797         * lisp/progmodes/python.el
4798         (python-indent-guess-indent-offset)
4799         (python-info-current-defun): Replace prog-widen with widen;
4800         these functions are not called during indentation.
4801         (python-indent-context)
4802         (python-indent--calculate-indentation)
4803         (python-info-dedenter-opening-block-message)
4804         (python-info-line-ends-backslash-p)
4805         (python-info-beginning-of-backslash)
4806         (python-info-continuation-line-p)
4807         (python-info-current-defun): Remove 'widen' calls.
4809         * lisp/indent.el (indent-according-to-mode)
4810         (indent-for-tab-command, indent-region): Move them here.
4812         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
4813         Bind prog-indentation-context to one-element list.
4815 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
4817         Fix doc-string of Fbuffer_list
4819         * src/buffer.c (Fbuffer_list): Fix doc-string.
4821 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
4823         Don't raise an extraneous frame (bug#29696)
4825         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
4826         summary buffer keys from article buffer without affecting window
4827         configuration (bug#29696).
4829 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
4831         Mention new strictness for &optional, &rest in arglists (Bug#29165)
4833         * etc/NEWS: Explain that '&optional' not followed by a variable is now
4834         an error.
4835         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
4836         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
4837         followed by a variable for consistency.
4838         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
4839         test.
4841 2017-12-13  Alan Mackenzie  <acm@muc.de>
4843         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
4845         Also recognize and handle function names introduced by "extern" inside a
4846         function.
4848         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
4849         the result list which is t when our declaration is, or is to be treated as,
4850         being at top level.
4852         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
4853         inside a C++ uniform initialization and return (not-decl nil) for this case.
4854         (c-font-lock-declarations): Use the new element 4 of the result of
4855         c-forward-decl-or-cast-1.
4857         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
4858         New lang consts/vars.
4860 2017-12-13  Glenn Morris  <rgm@gnu.org>
4862         Fixes for defcustoms, prompted by cus-test-opts
4864         * lisp/files.el (save-some-buffers-default-predicate):
4865         * lisp/time.el (display-time-world-list):
4866         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
4867         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
4868         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
4869         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
4870         (less-css-output-file-name, less-css-input-file-name):
4871         * lisp/vc/emerge.el (emerge-metachars):
4872         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
4873         Fix :types.
4874         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
4876 2017-12-13  Glenn Morris  <rgm@gnu.org>
4878         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
4879         Update.
4881         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
4883 2017-12-13  Glenn Morris  <rgm@gnu.org>
4885         Add missing :version tags revealed by cusver-check
4887         * lisp/comint.el (comint-move-point-for-matching-input):
4888         * lisp/epa.el (epa-replace-original-text):
4889         * lisp/image-dired.el (image-dired-cmd-optipng-program)
4890         (image-dired-cmd-optipng-options):
4891         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
4892         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
4893         (gnus-cloud-interactive):
4894         * lisp/net/mailcap.el (mailcap-user-mime-data):
4895         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
4896         (c-noise-macro-names, c-noise-macro-with-parens-names):
4897         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
4898         (flymake-wrap-around):
4899         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
4900         * lisp/progmodes/js.el (js-indent-align-list-continuation):
4901         * lisp/progmodes/perl-mode.el (perl-flymake-command):
4902         * lisp/progmodes/python.el (python-flymake-command)
4903         (python-flymake-command-output-pattern, python-flymake-msg-alist):
4904         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
4905         (ruby-rubocop-config):
4906         * lisp/textmodes/less-css-mode.el (less-css):
4907         * lisp/textmodes/tex-mode.el (tex-chktex-program)
4908         (tex-chktex-extra-flags): Add missing :version tags.
4910 2017-12-13  Glenn Morris  <rgm@gnu.org>
4912         Escape column-zero doc parens
4914         * lisp/htmlfontify.el (hfy-display-class):
4915         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
4916         * lisp/net/shr.el (shr-external-rendering-functions):
4917         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
4918         * lisp/textmodes/tildify.el (tildify-tildify):
4919         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
4921 2017-12-12  Alan Third  <alan@idiocy.org>
4923         Remove ObjC blocks (Bug#23753)
4925         * src/macfont.m (macfont_get_glyph_for_character):
4926         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
4928         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
4930 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
4932         Import the latest IVD_Sequences.txt
4934         * admin/unidata/IVD_Sequences.txt: New version from
4935         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
4936         Ideographic Variation Database.
4938         * src/macuvs.h: Regenerated.
4940 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
4942         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
4944         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
4945         to write to stdout rather than relying on the default (the choice of
4946         default is decided when compiling tar, BSD systems usually set it to a
4947         tape drive).  Drop '-v', since the output is not used anywhere.
4949 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
4951         Suppress warnings during elisp completion macroexpansion
4953         Errors are already suppressed, therefore it is logical to suppress
4954         warnings as well.  Some macros (e.g., use-package) may produce
4955         warnings when given the `elisp--witness--lisp' symbol.
4956         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
4957         warning-minimum-log-level to :emergency.
4959 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
4961         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
4963 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
4965         Make tramp-interrupt-process more robust
4967         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
4968         the default implementation if there's no success.
4970 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
4972         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
4974         * lisp/international/quail.el (quail-input-method): Work not only
4975         when buffer-read-only is nil but also when inhibit-read-only is non-nil
4976         (bug#29504).
4978 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4980         Fix 'fontset-name-p'
4982         * lisp/international/fontset.el (fontset-name-p): Make the
4983         function work with full fontset names and fontset alias names.
4985 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4987         Fix fontset documentation inconsistencies for bug#29630
4989         * doc/lispref/display.texi (Face Attributes): Don't document
4990         :family as accepting a fontset.  Document that :font accepts a
4991         fontset.
4993         * lisp/faces.el (set-face-attribute): Doc fix.
4995 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
4997         Remove sentence from child frames section in Elisp manual
4999         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
5000         Suggested by Bob Weiner <rsw@gnu.org>.
5002 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
5004         Avoid crashes in 'font-at' after 'set-fontset-font'
5006         * src/fontset.c (free_realized_fontsets): Call
5007         recompute_basic_faces, so that the basic faces are available to
5008         any Lisp that calls this function, e.g. via set-fontset-font.
5009         (Bug#29632)
5011 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
5013         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
5015 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
5017         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
5019         Problem reported by Mark Ferlatte (Bug#28603).
5020         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
5022 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5024         Fix tool-tip display when display margins are non-zero by default
5026         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
5027         New inline functions.
5028         * src/xfns.c (Fx_show_tip):
5029         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
5030         buffer to zero, as it will be displayed in a pseudo-window, which
5031         doesn't support display margins.  (Bug#29627)
5033 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
5035         Handle hash tables and vectors when reading/writing EIEIO objects
5037         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
5038           printed with `prin1' can no longer be read with `read'. Make sure
5039           they are printed with object-write instead, even when they're inside
5040           hash tables and vectors.
5041         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
5042           Check for written representations of objects inside hash tables and
5043           vectors, and reconstruct them.
5045 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5047         Improve interactive debugging commands in xdisp.c
5049         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
5050         specify ROW via prefix argument.  Fix the doc strings.
5052 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5054         Fix calculation of continuation_pixel_width in display engine
5056         * src/xdisp.c (display_line): Remove incorrect increment of
5057         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
5059 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5061         Improve documentation of 'save-abbrevs'.
5063         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
5064         value of 'save-abbrevs'.  Suggested by Alex Branham
5065         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
5067 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5069         Improve documentation of Dired
5071         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
5072         be made modifiable in Wdired.  Suggested by Alex Branham
5073         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
5075 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
5077         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
5079 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
5081         Minor Tramp fixes
5083         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
5084         Fix a bug when renaming.
5086         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
5087         (tramp-test42-delay-load, tramp-test42-remote-load-path):
5088         Skip unless Emacs >= 26.
5090 2017-12-08  Glenn Morris  <rgm@gnu.org>
5092         * lisp/help-mode.el (help-function-def):
5093         Allow help-make-xrefs to call with one argument.  (Bug#29611)
5095 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
5097         Fix doc-string of 'display-buffer-in-side-window'
5099         * lisp/window.el (display-buffer-in-side-window): In doc-string
5100         clarify why the window returned gets dedicated to its buffer.
5102 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
5104         Fix Bug#29579
5106         * lisp/files.el (file-name-non-special):
5107         Inhibit `file-name-handler-alist' only for some operations.
5108         Add missing operations.  (Bug#29579)
5110         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
5111         Do not quote if it is quoted already.
5113         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
5114         Use `copy-tree' but `copy-sequence'.
5116         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
5117         trailing slashes correctly.
5119         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
5120         (tramp-test12-rename-file, tramp-test24-file-acl)
5121         (tramp-test25-file-selinux, tramp--test-check-files):
5122         Handle also quoted file names.
5123         (tramp-test21-file-links): Fix file name quoting test.
5124         (tramp-test24-file-acl): Be more robust for "smb" method.
5125         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
5127 2017-12-06  Rasmus  <rasmus@gmx.us>
5129         Backport: Update Org to v9.1.4
5131         Please note this is a bugfix release. See etc/ORG-NEWS for details.
5133         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
5135 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
5137         In windows.texi mention special splitting behavior of side and atomic windows
5139         * doc/lispref/windows.texi (Splitting Windows): Add note about
5140         and links to side and atomic windows.
5142 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
5144         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
5145         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
5147 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
5149         Avoid compilation warning in xterm.c
5151         * src/xterm.c (x_draw_underwave): Move the declaration of
5152         'thickness' to the non-USE_CAIRO branch, to avoid compiler
5153         warning.  (Bug#29567)
5155 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
5157         * README: Document all the top-level directories.  (Bug#29558)
5159 2017-12-04  Glenn Morris  <rgm@gnu.org>
5161         Don't enable erc modules on simply loading erc.el
5163         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
5165 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
5167         Allow shr to use data: URLs without encoding
5169         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
5170         image data: URLs that have no base64 encoding like
5171         (shr-image-from-data
5172         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
5174 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
5176         Don't add newlines in minibuffer history
5178         * lisp/simple.el (next-line-or-history-element): Bind
5179         next-line-add-newlines to nil.  (Bug#29529)
5181 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
5183         modhelp.py: Support Python 3 (Bug#24954)
5185         * modules/modhelp.py: 'print' statement was removed in Python
5186         3.  'print' function should be used instead of 'print' statement.
5188 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
5190         Use forward slashes for python w32 config example (Bug#21656)
5192         * lisp/progmodes/python.el: Use forward slashes for Windows path
5193         example, it doesn't require doubling of slashes which reduces chances
5194         of confusion.
5196 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
5198         Fix bug in i18n/l10n optimization
5200         This fixes a off-by-one buffer overrun bug introduced in
5201         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
5202         experimental version of Emacs built with -fcheck-pointer-bounds
5203         and running on Intel MPX hardware.
5204         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
5206 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
5208         Let autoload-compute-prefix be set file-locally (Bug#29471)
5210         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
5211         boolean values as safe.
5213 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
5215         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
5217         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
5218         present the current bindings in the prompt.  Check the the
5219         non-remapped binding of the entered key sequence as well.
5221 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
5223         Add tests on electric-indentation and Python multiline strings (Bug#29305)
5225         * test/lisp/progmodes/python-tests.el
5226         (python-indent-electric-comma-inside-multiline-string,
5227         python-indent-electric-comma-after-multiline-string): New tests.
5229 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
5231         Disable electric indent for python strings (Bug#29305)
5233         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
5234         Do nothing when point or beginning of line is in string.
5236 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
5238         Fix buffer overflow in fontname conversion (Bug#29523)
5240         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
5242 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
5244         Fix byte compilation of files with leading directories
5246         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
5247         of target-file to make-temp-file, in case target-file includes a
5248         leading directory that might not exist under TMPDIR.  See
5249         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
5250         for the details.
5252 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
5254         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
5256 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
5258         Revert Tramp commit from 2017-11-20
5260         * lisp/net/tramp.el (tramp-drop-volume-letter)
5261         (tramp-handle-find-backup-file-name): Revert change from
5262         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
5263         case now.
5265 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
5267         Improve documentation of buffer-list commands and features
5269         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
5270         "Several Buffers", to establish a relation between the two
5271         sections.
5272         (Buffer Menus): Expand on customizability of alternative buffer
5273         menu offered by bs.el.  Mention IBuffer.
5274         Suggested by Alex Branham <alex.branham@gmail.com> in
5275         emacs-manual-bugs@gnu.org.
5277 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
5279         Fix backing up remote files in local directories on MS-Windows
5281         * lisp/files.el (make-backup-file-name-1): Support remote file
5282         names correctly when they are backed up into a local directory on
5283         MS-Windows and MS-DOS.  (Bug#29440)
5285 2017-12-02  Glenn Morris  <rgm@gnu.org>
5287         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
5289 2017-12-01  John Wiegley  <johnw@newartisans.com>
5291         Revert "Fix backing up remote files in local directories on MS-Windows"
5293         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
5295 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
5297         Fix a typo in ELisp manual
5299         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
5300         of using 'seq-uniq'.  (Bug#29524)
5302 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
5304         * lisp/composite.el (find-composition): Fix a typo in the doc string.
5306 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
5308         Fix backing up remote files in local directories on MS-Windows
5310         * lisp/files.el (make-backup-file-name-1): Support remote file
5311         names correctly when they are backed up into a local directory on
5312         MS-Windows and MS-DOS.  (Bug#29440)
5314 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5316         Fix vertical cursor motion in pixel-scroll.el
5318         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
5319         regardless of whether EOB is shown at the top.
5320         (pixel-scroll-down) Move cursor up regardless of whether BOB
5321         is shown at the top.  (Bug#29374)
5323 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
5325         Fix typos in doc strings of message.el
5327         * lisp/gnus/message.el (message-header-to)
5328         (message-header-subject, message-header-newsgroups)
5329         (message-header-other): Fix typos in doc strings.  (Bug#29405)
5331 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
5333         Fix a typo in the Emacs manual
5335         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
5336         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
5338 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
5340         Improve the documentation of 'table-insert-sequence'
5342         * doc/emacs/text.texi (Table Misc): Fix the description of
5343         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
5344         emacs-manual-bugs@gnu.org.
5346 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5348         Port better to QNX
5350         Problem reported by Elad Lahav on emacs-devel.
5351         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
5352         and default LDFLAGS to -N2MB so that the initial stack size
5353         is not too small.  Also, fix misspelling of ‘qnxnto’.
5355 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
5357         Make tramp-test42-auto-load more robust
5359         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
5360         Make it more robust.  Don't skip.
5362 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
5364         Avoid assertions in find-composition
5366         * src/font.c (font_range): If called with STRING non-nil and FACE
5367         a NULL pointer, compute face by calling face_at_string_position.
5368         (Bug#29506)
5370         * lisp/composite.el (find-composition): Doc fix.
5372 2017-11-29  Glenn Morris  <rgm@gnu.org>
5374         Restore obsolete method of changing byte-compile-dest-file
5376         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
5377         Restore seven-year obsolete feature that was removed for six months,
5378         since automake uses it.
5380 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
5382         Some minor Tramp corrections
5384         * lisp/net/tramp.el (tramp-handle-directory-file-name):
5385         Handle several trailing slashes correctly.
5386         (tramp-handle-file-selinux-context): New defun.
5388         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
5389         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
5390         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
5391         Use `tramp-handle-file-selinux-context'.
5393         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
5394         Extend test.
5395         (tramp-test17-insert-directory): Make check more robust.
5396         (tramp-test42-auto-load): Combine several let forms.
5397         (tramp-test42-delay-load, tramp-test42-recursive-load)
5398         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
5400 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
5402         * doc/misc/url.texi (http/https): Fix typo
5404 2017-11-29  Glenn Morris  <rgm@gnu.org>
5406         Remove some bogus definition-prefixes from loaddefs
5408         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
5409         Don't register a definition prefix from define-erc-module,
5410         which adds an erc- prefix to its argument.
5412 2017-11-28  Robert Pluim  <rpluim@gmail.com>
5414         Shell-quote wildcards when invoking 'vc-git-grep'
5416         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
5417         filename wildcards to ensure globbing is done by git rather
5418         than the shell.  (Bug#29303)
5420 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
5422         Update documentation of '.dir-locals-2.el'
5424         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
5425         for more details.
5426         * lisp/files.el (dir-locals-file-2): Remove unused constant.
5427         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
5428         the doc string.
5429         * doc/lispref/variables.texi (Directory Local Variables): Mention
5430         ".dir-locals-2.el".
5431         * etc/NEWS: Replace `dir-locals-file-2' mention with
5432         `dir-locals-file'.
5434 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
5436         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
5438 2017-11-27  Glenn Morris  <rgm@gnu.org>
5440         A few small doc fixes for bytecomp.el
5442         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
5443         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
5445 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5447         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
5449 2017-11-27  Glenn Morris  <rgm@gnu.org>
5451         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
5453 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
5455         Fix ELisp "Warning Tips"
5457         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
5458         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
5460 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
5462         Fix Bug#29163
5464         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
5465         Do not use "\\'" in regexp.  (Bug#29163)
5466         (top) Do not run (tramp-register-autoload-file-name-handlers)
5467         when loading tramp.el.
5469         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
5470         (tramp-test32-environment-variables-and-port-numbers)
5471         (tramp-test41-asynchronous-requests): Use it.
5472         (tramp-test42-auto-load): New test.
5473         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
5474         (tramp-test45-delay-load, tramp-test46-unload): Rename.
5476 2017-11-27  Paul Eggert  <eggert@union>
5478         Harden exec_byte_code against redefining 'error'
5480         Problem discovered by configuring with --enable-gcc-warnings on
5481         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
5482         * src/bytecode.c (exec_byte_code): Call the C error function
5483         instead of the Lisp one, so that the Emacs interpreter does not go
5484         haywire if the user redefines the Lisp error function.
5486 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
5488         Fix Edebug specs for if-let* and and-let* (Bug#29236)
5490         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
5491         Change Edebug spec to cause Edebug to instrument tests the
5492         results of which are not bound to symbols (the (VALUEFORM)
5493         case).
5494         (and-let*): Change Edebug spec to allow empty body.
5496         *test/lisp/emacs-lisp/subr-x-tests.el:
5497         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
5498         form so Edebug will work on this test.
5500 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
5502         Fix Edebug's handling of dotted specs (bug#6415)
5504         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
5505         cl-macro-list1 instead of cl-macro-list in Edebug spec.
5507         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
5508         unused variable.
5509         (edebug-dotted-spec): Add docstring.
5510         (edebug-match-specs): Allow &optional and &rest specs to
5511         match nothing at the tail of a dotted form. Handle matches of
5512         dotted form tails which return non-lists.
5514         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
5515         New test.
5517         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
5518         (edebug-test-code-use-destructuring-bind): New function.
5520 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
5522         Improve documentation of "constant" symbols
5524         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
5525         <font-width-table>:
5526         * src/data.c (syms_of_data) <most-positive-fixnum>
5527         <most-negative-fixnum>:
5528         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
5529         Mention in the doc strings that these variables are read-only.
5531         * doc/lispref/variables.texi (Creating Buffer-Local): Document
5532         that making a constant variable buffer-local signals an error.
5533         * doc/lispref/variables.texi (Constant Variables):
5534         * doc/lispref/errors.texi (Standard Errors): More accurate and
5535         up-to-date documentation of which symbols cannot be assigned
5536         values.
5538 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5540         maint: shorten https://lists.gnu.org/archive/html/... links
5542 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5544         Merge from Gnulib
5546         This incorporates:
5547         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
5548         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
5549         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
5550         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
5551         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
5552         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
5553         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
5554         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
5555         * m4/vararrays.m4:
5556         Copy from Gnulib.
5558 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5560         Work around GCC bug 80776 on Fedora 27 x86
5562         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
5563         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
5564         using XINT rather than XFASTINT and by adding an eassume.  This
5565         works around GCC bug 80776.
5567 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5569         Tweak copy-file, rename-file doc
5571         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
5572         slightly, as NEWNAME is treated as a directory name depending only
5573         on the contents of the NEWNAME string, and independently of
5574         whether NEWNAME names a directory (i.e., whether the directory
5575         exists) (Bug#29362).
5577 2017-11-25  Tom Tromey  <tom@tromey.com>
5579         Change font-lock-extend-region-multiline handling in mhtml-mode
5581         Bug#29159
5582         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
5583         font-lock-extend-region-multiline from
5584         font-lock-extend-region-functions.
5585         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
5587 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5589         Minor cleanup in tramp-gvfs-handle-file-local-copy
5591         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
5592         Move error message up.
5594 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5596         Add test for Bug#29423 in Tramp.
5598         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
5599         Add test for Bug#29423.
5601 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5603         Avoid jumbled order in HTML rendered by shr.el
5605         * lisp/net/shr.el (shr-render-td): Preserve point, as
5606         shr-render-td-1 might move it as a side effect of
5607         save-window-excursion.  (Bug#29348)
5609 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5611         Make sure 'dired-filename' property is always put by ls-lisp
5613         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
5614         'dired-filename' text property on the file name here...
5615         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
5617 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5619         A better solution for bug#29347
5621         * src/thread.c (really_call_select): Don't try to take the global
5622         lock if the same thread is already holding it.  (Bug#29347)
5624 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5626         Avoid a hang after C-g while sit-for on a Unix TTY
5628         * src/thread.c (acquire_global_lock): Don't try to take the global
5629         lock if the same thread is already holding it.  (Bug#29347)
5631 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5633         Improve the doc string of 'list-packages'
5635         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
5636         string the columns shown by the command.  (Bug#29420)
5638 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5640         Improve discoverability of 'defvar' for suppressing warnings
5642         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
5643         * doc/lispref/variables.texi (Defining Variables): Mention that
5644         defvar with no value is used for suppressing compiler warnings.
5645         (Bug#29400)
5647 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5649         Improve discoverability of 'read-buffer-completion-ignore-case'
5651         * lisp/window.el (switch-to-buffer)
5652         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
5653         Mention 'read-buffer' in the doc string.  (Bug#29389)
5655         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
5656         where 'read-buffer-completion-ignore-case' is documented.
5658 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5660         Improve documentation of self-insert-uses-region-functions
5662         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
5663         doc string.
5664         * lisp/delsel.el (delete-selection-uses-region-p): Mention
5665         'self-insert-command' in the doc string.  (Bug#29373)
5667         * doc/lispref/text.texi (Commands for Insertion): Mention
5668         'self-insert-uses-region-functions'.
5669         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
5670         cross-reference to "Commands for Insertion".
5672 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5674         Reflect changes in copy-file and rename-file in doc strings
5676         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
5677         strings that directory names must end in a slash.  (Bug#29362)
5679 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5681         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
5683 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5685         Reorder type predicates in ELisp manual
5687         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
5688         order of listed predicates.  (Bug#29411)
5690 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
5692         Fix backward scrolling in buffers with header-line
5694         * src/window.c (window_scroll_pixel_based): Account for the
5695         header-line when comparing Y coordinate with the last_visible_y.
5696         (Bug#29325)
5698 2017-11-22  Glenn Morris  <rgm@gnu.org>
5700         * lisp/bindings.el (buffer-file-coding-system):
5701         Add explicit permanent-local mark.
5703         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
5705 2017-11-22  Alan Third  <alan@idiocy.org>
5707         Fix incorrect interaction of drag/drop and double click (bug#29121)
5709         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
5710         doesn't use ns-input-file.
5712 2017-11-22  Glenn Morris  <rgm@gnu.org>
5714         * lisp/menu-bar.el (menu-bar-options-save):
5715         Add display-line-numbers-type.
5717         * lisp/menu-bar.el (menu-bar-options-save):
5718         Add global-display-line-numbers-mode.  (Bug#28396)
5720         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
5722 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5724         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
5726         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
5727         (ruby-flymake-rubocop):
5728         Extract the common part as ruby-flymake--helper.
5729         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
5730         variable instead.
5732 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5734         Add Rubocop Flymake backend
5736         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
5737         Inline the value.  There are no known substitutes.
5738         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
5739         the docstring.
5740         (ruby-flymake-use-rubocop-if-available): New option.
5741         (ruby--rubocop-flymake-proc): New variable.
5742         (ruby-rubocop-config): New option.
5743         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
5744         (ruby-mode): Use `ruby-flymake-auto'.
5746 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
5748         Update nt/INSTALL.W64 (Bug#28601)
5750         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
5751         suggestion about modifying PATH to...
5752         (Test Emacs): ... here.
5753         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
5754         (Troubleshooting): New section, includes suggestion to check
5755         PKG_CONFIG_PATH.
5757 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
5759         Remove incorrect NEWS item about VC state indicator (Bug#28817)
5761         * etc/NEWS (VC and related modes): Remove news item about the VC
5762         state indicator.  This should have been done with commit 7882dc6
5763         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
5765 2017-11-21  Glenn Morris  <rgm@gnu.org>
5767         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
5769 2017-11-21  Alan Mackenzie  <acm@muc.de>
5771         Make c-defun-name analyze more thoroughly a function type which is a struct
5773         This fixes bug #29293.
5775         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
5776         encountered, check whether it is the return type of a function rather than a
5777         declaration of the struct itself.  Similarly adapt the cond arm which deals
5778         with functions properly to recognize struct return types.
5780 2017-11-21  Glenn Morris  <rgm@gnu.org>
5782         Avoid bogus abbreviated file names if HOME changes
5784         * lisp/files.el (abbreviate-file-name):
5785         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
5786         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
5788 2017-11-21  Glenn Morris  <rgm@gnu.org>
5790         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
5792 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
5794         Fix erc keep-place module with new defaults (Bug#29111)
5796         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
5797         keep-place to continue working with
5798         switch-to-buffer-preserve-window-point set to t, the new default.
5800 2017-11-20  Alan Third  <alan@idiocy.org>
5802         Add window divider faces to NS (bug#29353)
5804         * src/nsterm.m (ns_draw_window_divider): Use
5805         window-divider-first-pixel and window-divider-last-pixel faces.
5807 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5809         * src/keyboard.c: Undo last change, meant for master only
5811 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
5813         Fix Bug#29149
5815         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
5816         backup file names.
5817         (tramp-handle-find-backup-file-name):
5818         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
5820 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
5822         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
5824         * src/xterm.c (x_draw_window_divider):
5825         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
5826         drawing three-pixel high horizontal dividers (Bug#29353).
5828         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
5829         Third.
5831 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
5833         MH-E: don't automatically download external-body parts
5835         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
5836         mm-automatic-display-p to verify that a part should be
5837         displayed before doing the inline checks (SF#475).
5839 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
5841         Further fix for Bug#29291
5843         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
5844         Check for local ACL support.  (Bug#29291)
5846 2017-11-19  Alan Third  <alan@idiocy.org>
5848         Fix divider frame params on NS (bug#29352)
5850         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
5851         bottom-divider-width parameters.
5853 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5855         Spelling fixes
5857         * lisp/help-fns.el (help-fns--analyze-function):
5858         Rename from help-fns--analyse-function.
5859         All uses changed.
5861 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
5863         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
5865         (read_key_sequence): Recompute first_event
5866         after replay_sequence, since it might have changed (bug#29104).
5868 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
5870         Don't let delete_frame select a tooltip frame (Bug#27647)
5872         * src/frame.c (delete_frame): Don't select a tooltip
5873         frame. (Bug#27647)
5875 2017-11-18  Alan Mackenzie  <acm@muc.de>
5877         Filter obtrusive events in help-read-key-sequence.
5879         This fixes most of bug #29272.
5881         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
5882         discarding any events (such as <help-echo>) received in this time, before
5883         polling for the double-click (etc.) events which may follow.  This fixes the
5884         infinite loop which occurred whwn <help-echo> events triggered a sit-for
5885         whilst handling menu events.
5887 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5889         Fix symlink flag in tramp-gvfs-handle-file-attributes
5891         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
5892         Set proper symlink file mode flag.
5894 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5896         Fix bug in tramp-handle-file-truename
5898         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
5900         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
5901         relative symbolic links.
5903 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5905         Fix a typo in doc string of electric-indent-functions-without-reindent
5907         * lisp/electric.el (electric-indent-functions-without-reindent):
5908         Doc fix.  (Bug#29304)
5910 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5912         Avoid assertion violations in echo_area_display
5914         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
5915         area if the selected-frame's mini-window is nil.  (Bug#27647)
5917 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5919         Fix case-folding in Occur
5921         * lisp/replace.el (occur-engine): Bind case-fold-search in each
5922         buffer we search.  (Bug#29254)
5924 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
5926         Fix quick-calc in C mode with hex values
5928         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
5929         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
5930         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
5931         for the details.
5933 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5935         Improve documentation of dired-next/prev-marked-file
5937         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
5938         Doc fixes.  (Bug#29340)
5940 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5942         Prevent aborts in line-move-visual
5944         * src/indent.c (line_number_display_width): Avoid assertion
5945         violations in init_iterator when the window's buffer was
5946         temporarily switched without updating window-start.  (Bug#29326)
5948 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5950         More fixes in src/.gdbinit
5952         * src/.gdbinit (pwinx): Update to match 'struct window'.
5953         (pcursorx): Use "." instead of "->" because the argument is a
5954         struct, not a pointer.
5956 2017-11-17  Robert Pluim  <rpluim@gmail.com>
5958         Document how to enter whitespace when using grep-read-files
5960         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
5961         how to enter whitespace when using grep-read-files.  (Bug#29303)
5962         * lisp/progmodes/project.el (project-find-regexp): Likewise.
5963         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
5965 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5967         Fix .gdbinit following lisp.h changes
5969         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
5970         (xprintstr): Adapt to latest changes in Lisp object C structures.
5971         (Bug#29332)
5973 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
5975         * lisp/simple.el (shell-command): Doc fixes.
5977 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
5979         Fix marker adjustment for undo (Bug#29118)
5981         * lisp/simple.el (primitive-undo): Compare marker against absolute
5982         value of POS, because the sign of POS is irrelevant to markers.
5984 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
5986         Fix Bug#28139
5988         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
5989         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
5990         (tramp-remote-process-environment): Document their special handling.
5991         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
5992         initial remote shell, so that it is also aware of the environment
5993         in which it is operating.  (Bug#28139)
5995 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
5997         Fix Bug#29291
5999         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
6000         Preserve permissions when copying.  (Bug#29291)
6002 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
6004         Fix Bug#2928
6006         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
6007         Enhance test.  (Bug#29287)
6008         (tramp-test44-delay-load): Fix for older Emacsen.
6010 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
6012         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
6014         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
6015         'select-window' events to make it work with
6016         'mouse-autoselect-window'.
6018 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
6020         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
6022         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
6024 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
6026         Fix cookie handling (bug#29282)
6028         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
6029         Regard a Set-Cookie header as it contains a single cookie;
6030         prefer Max-Age to Expires and convert it to Expires;
6031         remove support for old time string styles (bug#29282).
6033 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
6035         Improve documentation of Edebug and macros
6037         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
6038         discussion of when it might be necessary to find and evaluate macro
6039         specifications before instrumenting.
6040         (Specification List): Clarify what "defining form" means to Edebug
6041         and when 'def-form' or 'def-body' should be used instead of 'form'
6042         or 'body'.
6044 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6046         Port to IBM xlc 12.01
6048         Work around a compiler bug by using a separate enum for alignment.
6049         * src/alloc.c (roundup_size): Declare in a separate enum.
6051 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6053         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
6055         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
6056         needed, since we no longer rely on __attribute__ ((aligned (8))).
6057         All uses removed.
6058         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
6059         (lisp_to_value): Simplify now that we no longer need to worry
6060         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
6062 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6064         Use alignas to fix GCALIGN-related bugs
6066         Use alignas and unions to specify alignments of objects needing
6067         addresses that are at least a multiple of GCALIGNMENT.  Using
6068         these standard C facilities should be safer than relying on ad hoc
6069         and poorly-understood features like GCC’s __attribute__
6070         ((aligned (N))), the root cause for recent porting bugs like
6071         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
6072         supports alignas for pre-C11 platforms.  I have tested this on Sun
6073         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
6074         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
6075         x86-64 and x86).
6076         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
6077         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
6078         now properly aligned.  All uses changed.
6079         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
6080         member; this is simpler and safer than casting a pointer that
6081         might not be aligned properly.
6082         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
6083         Lisp_Symbol is aligned properly.  All uses replaced with struct
6084         Lisp_Symbol.
6085         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
6086         it can cause the natural alignment to be ignored.  All uses
6087         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
6088         described below.
6089         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
6090         Change definition from ‘struct TAG { MEMBERS };’ to
6091         ‘struct TAG { union { struct { MEMBERS } s; char alignas
6092         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
6093         to have an alignment that at least max (GCALIGNMENT, N) where N is
6094         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
6095         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
6096         anyway.  Verify that the resulting ‘struct TAG’ is properly
6097         aligned for Emacs.
6098         (union vectorlike_header): New member ‘gcaligned’ to guarantee
6099         that this type, and its containing types like ‘struct Lisp_Subr’,
6100         ‘struct buffer’ and ‘struct thread_state’, are all properly
6101         aligned for Emacs.
6102         (struct Lisp_String): New union member ‘next’, for the benefit
6103         of NEXT_FREE_LISP_STRING.
6104         (union Aligned_Cons, union Aligned_String): Remove.  All uses
6105         replaced by struct Lisp_Cons and struct Lisp_String, since they
6106         are now properly aligned.
6107         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
6108         assume struct Lisp_Cons and struct Lisp_String are properly
6109         aligned.
6111 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6113         Change vectorlike from struct to union
6115         * src/lisp.h (vectorlike_headed): Change from struct to union.
6116         All uses changed.  Since it has only one member, this does not
6117         change semantics.  This is designed to simplify future changes
6118         needed to fix bugs like Bug#29040.  All uses changed.
6120 2017-11-12  Tom Tromey  <tom@tromey.com>
6122         Don't enable cursor-sensor-mode in mhtml-mode
6124         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
6125         string.
6126         (mhtml-mode): Don't call cursor-sensor-mode.
6128 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
6130         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
6132 2017-11-12  João Távora  <joaotavora@gmail.com>
6134         Unbreak interactive run of a flymake test (bug#29267)
6136         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
6137         technique used here.
6139         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
6140         Let-bind abbreviated-home-dir.
6142 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
6144         Fix Bug#29225
6146         * src/fileio.c (Fset_file_acl): Report error only when
6147         acl_errno_valid returns true.  (Bug#29225)
6149         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
6150         (tramp-test25-file-selinux): New tests.
6151         (tramp-test26-file-name-completion, tramp-test27-load)
6152         (tramp-test28-process-file, tramp-test29-start-file-process)
6153         (tramp-test30-interrupt-process, tramp-test31-shell-command)
6154         (tramp-test32-environment-variables)
6155         (tramp-test32-environment-variables-and-port-numbers)
6156         (tramp-test33-explicit-shell-file-name)
6157         (tramp-test34-vc-registered)
6158         (tramp-test35-make-auto-save-file-name)
6159         (tramp-test36-find-backup-file-name)
6160         (tramp-test37-make-nearby-temp-file)
6161         (tramp-test38-special-characters)
6162         (tramp-test38-special-characters-with-stat)
6163         (tramp-test38-special-characters-with-perl)
6164         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
6165         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
6166         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
6167         (tramp-test41-asynchronous-requests)
6168         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
6169         (tramp-test44-delay-load, tramp-test45-unload): Rename.
6171 2017-11-12  Alan Mackenzie  <acm@muc.de>
6173         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
6175         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
6176         for an open brace at EOB and nested braces inside an unclosed brace block.
6178 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
6180         Merge from Gnulib
6182         This incorporates:
6183         2017-11-11 faccessat: port to macOS (Bug#29231)
6184         2017-11-05 fstatat: pacify GCC on unusual platform
6185         * build-aux/config.guess, build-aux/config.sub:
6186         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
6187         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
6188         Copy from Gnulib.
6189         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6191 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
6193         Pacify GCC when configured --with-x-toolkit=no
6195         Without these changes, Emacs does not build on Fedora 26 x86-64
6196         when configured --with-x-toolkit=no --enable-gcc-warnings.
6197         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
6198         * src/xterm.c (x_dispatch_event): Define only if
6199         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
6201 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
6203         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
6205 2017-11-12  João Távora  <joaotavora@gmail.com>
6207         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
6209         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
6210         more eob corner cases.
6212         * test/lisp/progmodes/flymake-tests.el
6213         (eob-region-and-trailing-newline): New test.
6215 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
6217         Keep Man sections in natural order (bug#28998)
6219         * lisp/man.el (Man-build-section-alist): Reverse sections.
6221 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6223         * lisp/minibuffer.el: Install a workaround for bug#16274
6225         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
6226         error when `md` is applied to another table.
6228 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
6230         Fix comparisons with tip_frame in GTK builds
6232         * src/xterm.c (x_update_begin, x_new_font):
6233         * src/xfns.c (Fx_display_monitor_attributes_list):
6234         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
6235         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
6237 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
6239         Improve the documentation of M-n for entering file names
6241         * lisp/files.el (find-file, find-file-other-window)
6242         (find-file-other-frame): Mention file-name-at-point-functions in
6243         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
6244         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
6246         * doc/emacs/mini.texi (Minibuffer History): Document
6247         file-name-at-point-functions and its effect on M-n when typing
6248         file names in the minibuffer.
6249         * doc/emacs/files.texi (File Names):
6250         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
6251         "Minibuffer History", where special features of M-n regarding
6252         files are described.
6254 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
6256         Fix desktop auto-save timer when linum-mode is used
6258         * lisp/desktop.el (desktop-read): Use toplevel value of
6259         window-configuration-change-hook when deciding whether desktop
6260         auto-saving is enabled.  Suggested by Peter Neidhardt
6261         <pe.neidhardt@googlemail.com>.  (Bug#28945)
6263 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
6265         Fix "C-h k" in xterm-mouse-mode
6267         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
6268         xterm-mouse-mode by calling read-key-sequence-vector instead of
6269         read-event.  (Bug#29150)
6271 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
6273         Fix off-by-1 bug in --enable-checking=stringbytes
6275         Evidently nobody builds Emacs with --enable-checking=all,
6276         which is no surprise as it is so slow as to be unusable nowadays.
6277         Perhaps we should remove the slowest checks, or move them into
6278         another category, or speed them up, or something.
6279         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
6280         error in size calculation, which caused a failure when
6281         --enable-checking=stringbytes was used.  I introduced this bug in
6282         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
6283         members to GCC + valgrind".
6285 2017-11-10  Alan Mackenzie  <acm@muc.de>
6287         Correct the indentation of C99's compound literals.
6289         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
6290         if there is only syntactic whitespace in a brace block, it is regarded as a
6291         statement block.  Also, if there is no semicolon or comma delimiter, treat as
6292         a statement block when there is a keyword.
6293         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
6294         when its contents indicate a brace block.
6296 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
6298         Improve the doc string of 'dired-isearch-filter-filenames'
6300         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
6301         (Bug#29215)
6303 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
6305         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
6307 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
6309         Fix display of line numbers in GTK builds
6311         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
6312         tip_frame is indeed a tooltip frame, before disabling line numbers
6313         on it.  (Bug#27647)
6315         * src/dispextern.h (tip_frame): Add commentary describing the
6316         kludgey usage of this variable in GTK builds.
6318 2017-11-10  João Távora  <joaotavora@gmail.com>
6320         Fix previous change to flymake-diag-region (bug#29174)
6322         * lisp/progmodes/flymake.el (flymake-diag-region):
6323         Pass line and col to commit.
6325 2017-11-09  João Távora  <joaotavora@gmail.com>
6327         flymake-diag-region really returns nil if region is invalid (bug#29174)
6329         Reported by Lele Gaifax <lele@metapensiero.it>.
6331         * lisp/progmodes/flymake.el (flymake-diag-region): Really
6332         return nil if the region is invalid.
6334 2017-11-09  João Távora  <joaotavora@gmail.com>
6336         Flymake correctly highlights whole last line if eob (bug#29201)
6338         If a line/column pair indicates an end-of-buffer position, flymake
6339         should behave like the case where the last line of the buffer is
6340         referenced without a column indication.  This behavior is currently
6341         to highlight the whole last line.
6343         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
6344         conditions of fallback to the fallback-eol local function.
6346 2017-11-09  João Távora  <joaotavora@gmail.com>
6348         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
6350         The function checkdoc-current-buffer may error if there are unbalanced
6351         parens, for example, but this shouldn't disable the
6352         elisp-flymake-checkdoc backend.
6354         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
6355         ignore-errors.
6357 2017-11-09  João Távora  <joaotavora@gmail.com>
6359         Sort entries of the Flymake diagnostics buffer (bug#29175)
6361         Reported by Lele Gaifax <lele@metapensiero.it>.
6363         * lisp/progmodes/flymake.el
6364         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
6366 2017-11-09  Alan Mackenzie  <acm@muc.de>
6368         Correctly indent C++14 brace lists which are a second argument to a function.
6370         In particular, don't indent contained brace lists in "staircase" fashion.
6371         This fixes bug #28623.
6373         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
6374         testing for being enclosed in parens, recognize also a brace directly
6375         following a comma, as well as a brace being the first thing inside the paren.
6376         Enhance the return value, by indicating when we're directly inside an open
6377         paren.
6378         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
6379         whether we will accept a bracelist directly inside an open parenthesis.
6380         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
6381         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
6382         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
6383         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
6384         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
6385         At CASE 9, call that function with extra argument t.
6387 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
6389         Fix redisplay of overlay-arrows on GUI frames
6391         * src/xdisp.c (try_window_reusing_current_matrix)
6392         (try_cursor_movement): Disallow these optimizations if the buffer
6393         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
6395 2017-11-09  João Távora  <joaotavora@gmail.com>
6397         Protect Flymake tests against older Ruby and Perl (bug#29187)
6399         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
6400         for the error from the bottom.
6401         (ruby-backend): Protect against situation of bug#29187
6403 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6405         Fix URL cookie expiration bug
6407         Problem reported by Damien Cassou (Bug#29223).
6408         * lisp/url/url-cookie.el (url-cookie-expired-p):
6409         Fix typo in previous change, which caused unexpired cookies
6410         to be treated as expired and vice versa.
6412 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6414         Use GCALIGNED properly for GCC
6416         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
6417         immediately follow the ‘struct’ keyword when aligning a structure.
6418         The attribute silently does not work if it follows a tag after the
6419         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
6420         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
6421         * lib-src/make-docfile.c (close_emacs_globals):
6422         * src/buffer.c (buffer_defaults, buffer_local_symbols):
6423         * src/lisp.h (DEFUN):
6424         * src/thread.c (main_thread):
6425         Put 'GCALIGNED' immediately after 'struct'.
6427 2017-11-09  Glenn Morris  <rgm@gnu.org>
6429         In f90.el, set fill-paragraph-function to a useful value
6431         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
6432         (f90-mode): Set fill-paragraph-function.
6433         (f90-fill-paragraph): New command.
6435 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
6437         Fix to 2fddfb7ce7
6439         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
6440           Fix bogus paren wrapping.
6442 2017-11-08  Glenn Morris  <rgm@gnu.org>
6444         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
6446 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
6448         Further workaround for faulty localtime() under macOS 10.6
6450         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
6451         when compiling on macOS 10.6 with a western time zone (a
6452         continuation of Bug#27736).  In particular, see:
6454         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
6456         and the first commit that attempted to work around this problem,
6457         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
6458         2017-09-30.
6460 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
6462         Handle object string name in eieio-persistent-convert-list-object
6464         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
6465           Starting to phase out the printing of object names in
6466           `object-write', handle either case.
6468 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
6470         Fix handling of nil PRED2 arg for completion-table-with-predicate
6472         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
6473         if strict is non-nil when pred2 is nil (Bug#27841).
6474         * test/lisp/minibuffer-tests.el
6475         (completion-table-with-predicate-test): Add a test for Bug#27841.
6477 2017-11-07  K. Handa  <handa@gnu.org>
6479         Describe Lao rendering problem
6481         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
6482         by OpenTyype font.
6484 2017-11-07  K. Handa  <handa@gnu.org>
6486         Fix docstring of arabic-shaper-ZWNJ-handling
6488         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
6489         the doctstring for addition of :set (bug#28312).
6491 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
6493         Handle single-line comments correctly (Bug#26049)
6495         * lisp/newcomment.el (comment-region-internal): Previously, the
6496         comment text had to contain at least one line break character for the
6497         ending extra line to be added.  Make the behavior more consistent by
6498         looking for end of line instead.
6499         (comment-region-internal): Remove trailing white space from the
6500         comment's initial line.
6502 2017-11-07  Glenn Morris  <rgm@gnu.org>
6504         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
6505         Clean up properly.
6507 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6509         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
6511 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
6513         Document new treatment of 'comment-auto-fill-only-comments'
6515         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
6516         manual.  Add description of 'comment-auto-fill-only-comments'.
6517         * etc/NEWS: Mention new treatment of
6518         'comment-auto-fill-only-comments'.
6520 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6522         Do not load Tramp unless `tramp-mode' is non-nil
6524         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
6525         `tramp-mode' is non-nil.
6526         (tramp-unload-file-name-handlers): Unload also
6527         `tramp-autoload-file-name-handler'.
6529         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
6531 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6533         Prefer `customize-set-variable' in tramp.texi
6535         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
6536         (Default Host, Remote shell setup, Auto-save and Backup)
6537         (Ad-hoc multi-hops, Frequently Asked Questions):
6538         Prefer `customize-set-variable' over `custom-set-variables'.
6540 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
6542         Fix last change in hscroll_window_tree
6544         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
6545         being disabled, set the frame's garbaged flag less eagerly.
6546         (Bug#29002)
6548 2017-11-05  Philipp Stephani  <phst@google.com>
6550         Ediff: add some missing documentation
6552         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
6553         (ediff-buffers3, ediff-merge-directories)
6554         (ediff-merge-directories-with-ancestor)
6555         (ediff-merge-directory-revisions)
6556         (ediff-merge-directory-revisions-with-ancestor)
6557         (ediff-windows-wordwise, ediff-windows-linewise)
6558         (ediff-regions-wordwise, ediff-regions-linewise)
6559         (ediff-merge-files, ediff-merge-files-with-ancestor)
6560         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
6561         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
6562         (ediff-patch-file, ediff-revision): Document missing arguments.
6563         (ediff-patch-buffer, ediff-revision): Add second space after
6564         period.
6565         (ediff-files-command, ediff3-files-command, ediff-merge-command)
6566         (ediff-merge-with-ancestor-command, ediff-directories-command)
6567         (ediff-directories3-command, ediff-merge-directories-command): Add
6568         documentation for the command line functions.
6570 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
6572         Support python virtualenv on w32 (Bug#24464)
6574         According to the virtualenv docs only POSIX systems follow the
6575         structure "/path/to/venv/bin/", while windows systems use
6576         "/path/to/venv/Scripts" for the location of the binary files, most
6577         importantly including the python interpreter (see:
6578         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
6579         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
6580         "/path/to/venv/Scripts" for `windows-nt' machines.
6582 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6584         Improve dired deletion error handling (Bug#28797)
6586         * lisp/dired.el (dired-internal-do-deletions): Use
6587         `error-message-string' to produce a human readable error message.
6589 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6591         Don't replace user input when completion prefix is empty (Bug#18951)
6593         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
6594         input if we produced a non-empty common completion stub.
6596 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
6598         Return non-nil from gnutls-available-p under GnuTLS 2.x
6600         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
6601         documentation of 'gnutls-available-p'.
6603         * etc/NEWS (GnuTLS): Mention the change in the value returned by
6604         'gnutls-available-p'.
6606         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
6607         2.x is available.  (Bug#29147)
6609 2017-11-05  João Távora  <joaotavora@gmail.com>
6611         Fix Flymake help-echo functions across windows (bug#29142)
6613         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
6614         with-selected-window.
6615         (flymake-goto-next-error): Call help-echo with a window and an
6616         overlay.
6618 2017-11-05  João Távora  <joaotavora@gmail.com>
6620         Add tests for Flymake backends for Ruby and Perl
6622         * test/lisp/progmodes/flymake-tests.el (perl-backend)
6623         (ruby-backend): New tests.
6624         (warning-predicate-rx-perl, warning-predicate-function-perl):
6625         Delete tests.
6627         * test/lisp/progmodes/flymake-resources/test.pl: Include an
6628         error the test file.
6630         * test/lisp/progmodes/flymake-resources/test.rb: file.
6632 2017-11-05  João Távora  <joaotavora@gmail.com>
6634         Add a Flymake backend for Perl
6636         Define a simple backend in perl-mode.el, which cperl-mode.el also
6637         uses.
6639         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
6640         flymake-diagnostic-functions.
6642         * lisp/progmodes/flymake-proc.el
6643         (flymake-proc-allowed-file-name-masks): Disable legacy backend
6644         for perl files.
6646         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
6647         defcustom.
6648         (perl--flymake-proc): New buffer-local variable.
6649         (perl-flymake): New function.
6650         (perl-mode): Add to flymake-diagnostic-functions.
6652 2017-11-05  João Távora  <joaotavora@gmail.com>
6654         Add a Flymake backend for Ruby
6656         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
6657         defcustom.
6658         (ruby--flymake-proc): New buffer-local variable.
6659         (ruby-flymake): New function.
6660         (ruby-mode): Add flymake-diagnostic-functions.
6662 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
6664         Add a Flymake backend for Python (bug#28808)
6666         Implement new Flymake backend with related customizable settings.
6668         * lisp/progmodes/python.el (python-flymake-command)
6669         (python-flymake-command-output-pattern)
6670         (python-flymake-msg-alist): New defcustom.
6671         (python--flymake-parse-output): New function, able to parse
6672         python-flymake-command output accordingly to
6673         python-flymake-command-output-pattern.
6674         (python-flymake): New function implementing the backend
6675         interface using python--flymake-parse-output for the real
6676         work.
6677         (python-mode): Add python-flymake to flymake-diagnostic-functions.
6679 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6681         Allow "%" in Tramp host names
6683         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
6685         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
6687 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
6689         Use hybrid malloc for FreeBSD (Bug#28308)
6691         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
6692         using system malloc dumping does not work correctly (allocated data is
6693         invalid after dumping).
6694         * configure.ac: Set hybrid_malloc for freebsd.
6695         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
6697 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
6699         Add html-, mhtml- and python-mode support to semantic symref
6701         * lisp/cedet/semantic/symref/grep.el
6702         (semantic-symref-filepattern-alist): Fix the entry for
6703         'html-mode', which used a regexp-like syntax where only glob
6704         syntax is permitted.  As a result, 'xref-find-references' (M-?)
6705         can now find references in HTML files.  Also duplicate the same
6706         entry for the sake of 'mhtml-mode', and add a new one for
6707         'python-mode'.
6708         (semantic-symref-derive-find-filepatterns): In the documentation,
6709         clarify that returned patterns must follow the glob syntax.  Fix
6710         an 'if' test that always evaluates to nil.
6711         (semantic-symref-tool-grep):
6712         (semantic-symref-perform-search): Fix typos.
6714 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6716         Improve documentation of 'window-scroll-functions'
6718         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
6719         arguments of 'window-scroll-functions' functions.
6721         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
6723 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6725         Fix subtle problems in tabulated-list-mode with line numbers
6727         * lisp/emacs-lisp/tabulated-list.el
6728         (tabulated-list-watch-line-number-width): Call
6729         tabulated-list-init-header instead of tabulated-list-revert.
6730         (tabulated-list-window-scroll-function): New function.
6731         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
6732         on the buffer-local 'window-scroll-functions' list.
6734 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6736         Make gdb-non-stop-setting default to nil on MS-Windows
6738         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
6739         MS-Windows.
6741 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
6743         Fix gdb-mi prompt after "attach PID" command
6745         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
6746         gdb-first-done-or-error non-nil.  (Bug#29020)
6748 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6750         Fix doc string of 'window-configuration-change-hook'
6752         * src/window.c (syms_of_window) <window-configuration-change-hook>:
6753         Doc fix.  (Bug#29049)
6755 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6757         Improve documentation of window hooks
6759         * doc/lispref/windows.texi (Window Hooks): Fix the description of
6760         window-configuration-change-hook.  (Bug#29049)
6761         <run-window-scroll-functions, run-window-configuration-change-hook>:
6762         Document these functions.
6764 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6766         Fix hscroll suspension after cursor motion
6768         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
6769         of the window when temporary suspension of hscrolling is
6770         disabled.  (Bug#29002)
6772 2017-11-03  Alan Mackenzie  <acm@muc.de>
6774         Introduce a function to CC Mode which displays the current function name
6776         Remove an erroneous interactive specification from two functions.
6778         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
6779         (c-defun-name, c-cpp-define-name): Remove interactive specification.
6781         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
6782         command.
6784         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
6785         command.
6787 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
6789         Fix typos in ediff-wind.el
6791         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
6792         Fix typos in commentary.  (Bug#29138)
6794 2017-11-03  João Távora  <joaotavora@gmail.com>
6796         Examine tex-chktex--process in the correct buffer
6798         As in other Flymake backends, the process sentinel might run in
6799         arbitrary buffers where this variable's value doesn't make sense.
6801         For a way to trigger a problem due to this, see discussion starting in
6802         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
6804         * lisp/textmodes/tex-mode.el (tex-chktex): Use
6805         with-current-buffer.
6807 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
6809         * nt/INSTALL.W64: Update to current mingw64 install instructions
6811 2017-11-03  João Távora  <joaotavora@gmail.com>
6813         Don't resignal errors in flymake-diag-region
6815         * lisp/progmodes/flymake.el (flymake-diag-region): Use
6816         flymake-log instead of flymake-error.
6818 2017-11-03  João Távora  <joaotavora@gmail.com>
6820         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
6822         This is like xref-goto-xref, but quits the *xref* window just before
6823         the user jump to ref.
6825         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
6826         value for SELECT.
6827         (xref-goto-xref): Take optional QUIT arg.
6828         (xref-quit-and-goto-xref): New command.
6829         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
6830         xref-quit-and-goto-xref.
6832         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
6833         *xref*.
6835         * etc/NEWS (Xref): Describe new binding.
6837 2017-11-03  João Távora  <joaotavora@gmail.com>
6839         Allow split-window-sensibly to split threshold in further edge case
6841         As a fallback, and to avoid creating a frame, split-window-sensibly
6842         would previously disregard split-height-threshold if the window to be
6843         split is the frame's root window.
6845         This change generalizes that: it disregards the threshold if the
6846         window to be split is the frame's only _usable_ window (it is either
6847         the only one, as before, or all the other windows are dedicated to
6848         some buffer and thus cannot be touched).
6850         This is required for the fix to bug#28814.
6852         * lisp/window.el (split-height-threshold): Adjust doc to match
6853         split-window-sensibly.
6854         (split-window-sensibly): Also disregard threshold if all other
6855         windows are dedicated.
6857 2017-11-03  João Távora  <joaotavora@gmail.com>
6859         Honor window-switching intents in xref-find-definitions (bug#28814)
6861         When there is more than one xref to jump to, and an *xref* window
6862         appears to help the user choose, the original intent to open a
6863         definition in another window or frame is remembered when the choice to
6864         go to or show a reference is finally made.
6866         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
6867         (xref--original-window-intent): New variable.
6868         (xref--original-window): Rename from xref--window and move up
6869         here for clarity.
6870         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
6871         (xref--show-location): Handle window selection decision here.
6872         (xref--window): Rename to xref--original-window.
6873         (xref-show-location-at-point): Don't attempt window management here.
6874         (xref--show-xrefs): Ensure display-action intent is saved.
6876 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
6878         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
6880 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6882         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
6884         Don't try to flymake-start within a buffer that doesn't exist any more.
6886 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
6888         Fix buffer name comparison in async shell-command
6890         * lisp/simple.el (shell-command): Keep track of output-buffer
6891         by its name, not by its object.  (Bug#28997)
6893 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6895         Change GCALIGNMENT back to an integer literal
6897         * src/lisp.h (GCALIGNMENT): Change it back to a macro
6898         that expands to a literal integer constant, for older GCC.
6899         I had mistakenly thought that only MSVC had the problem.
6900         Problem repored by Eli Zaretskii (Bug#29040#69).
6902 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6904         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
6906 2017-11-03  Hong Xu  <hong@topbug.net>
6908         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
6910         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
6911         function to generate the docstring for custom variables derived from
6912         pcomplete-* variables.
6913         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
6914         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
6915         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
6916         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
6917         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
6918         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
6919         (eshell-command-completion-function, eshell-cmpl-command-name-function)
6920         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
6921         to set the docstring.
6923 2017-11-02  Alan Third  <alan@idiocy.org>
6925         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
6927         * src/nsterm.m (EmacsScroller::mouseDown,
6928         EmacsScroller::mouseDragged): Take scroller buttons into account when
6929         calculating scroller knob position.
6931 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6933         Merge from Gnulib
6935         This incorporates:
6936         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
6937         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
6938         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
6939         * build-aux/config.guess, build-aux/config.sub:
6940         * lib/timespec.h, lib/unistd.in.h:
6941         Copy from Gnulib.
6943 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6945         Fix alignment portability problems
6947         Do not assume that the natural alignment of Lisp objects is a
6948         multiple of GCALIGNMENT.  This improves on the portability of the
6949         recent fix for Bug#29040.
6950         * lib-src/make-docfile.c (close_emacs_globals):
6951         * src/buffer.c (buffer_defaults, buffer_local_symbols):
6952         * src/lisp.h (DEFUN):
6953         * src/thread.c (main_thread):
6954         Use GCALIGNED, not alignas (GCALIGNMENT).
6955         * src/alloc.c (COMMON_MULTIPLE):
6956         Move back here from lisp.h, since it is no longer used elsewhere.
6957         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
6958         worry about MSVC.  Omit no-longer-needed consistency check.
6959         * src/thread.c (THREAD_ALIGNMENT): Remove.
6961 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
6963         Fix completion of colon after CSS property (Bug#29056)
6965         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
6966         ": ;" after completing a CSS property unless the rest of the line is
6967         empty.
6969 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
6971         * src/alloc.c (sweep_symbols): Tweak last change
6973         Avoid the double-free without the extra check.  Add an explanatory comment.
6975 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6977         In frame parameters documentation mention desktop saving/restoring
6979         * doc/lispref/frames.texi (Frame Parameters): Mention that
6980         applications have to care about which parameters they want to
6981         get saved and restored by the desktop library.
6983 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6985         Don't have frameset save the 'client' parameter (Bug#29067)
6987         * lisp/frameset.el (frameset-persistent-filter-alist): Never
6988         save 'client' parameter (Bug#29067).
6990 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
6992         Handle generic variables in cl-defgeneric Edebug spec
6994         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
6995         match (setf name) and replace incorrect cl-lambda-list with listp
6996         (Bug#27747).
6998 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
7000         Give a more sensible message if file-attributes fails (Bug#29070)
7002         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
7003         is a file if we fail to get anything from `file-attributes'.
7005 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
7007         Avoid wrong value from file-attributes on Linux kernel before 3.6
7009         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
7010         descriptors.  (bug#29070)
7012 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
7014         Fix customization of debugger-print-function (Bug#29077)
7016         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
7017         keyword has no effect for :type 'function, use :type '(choice ...)
7018         instead.
7020 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
7022         Avoid duplicate calls to xfree for the same pointer
7024         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
7025         pointer to a symbol's buffer-local value.  (Bug#29066)
7027 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
7029         Don't clobber docstrings of explicitly-defined mode hook variables
7031         * lisp/emacs-lisp/derived.el (define-derived-mode):
7032         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
7033         mode hook variable, do not clobber pre-existing docstrings.
7035 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
7037         Avoid fullscreen ediff control frames by default (Bug#29026)
7039         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
7040         Add parameter to avoid fullscreen control frames (Bug#29026).
7042 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
7044         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
7046         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
7047         properties to gaps (bug#29047).
7049 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
7051         Fix a typo in the ELisp manual
7053         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
7054         (Bug#29068)
7056 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
7058         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
7060         These fixes were suggested by Drew Adams.
7062         * src/window.c (Fminibuffer_selected_window): Disambiguate
7063         doc-string.
7064         * doc/lispref/minibuf.texi (Intro to Minibuffers)
7065         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
7066         the term "currently active minibuffer window".  Disambiguate
7067         documentation of `minibuffer-selected-window'.
7069 2017-10-30  Alan Mackenzie  <acm@muc.de>
7071         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
7073         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
7074         position for BASE is below point-min, scan forward to the end of the current
7075         literal.
7076         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
7077         being at point-min.
7079 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7081         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
7083         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
7084         Reported in https://emacs.stackexchange.com/questions/36337.
7086 2017-10-29  Tom Tromey  <tom@tromey.com>
7088         Extend mhtml submode region when in comment
7090         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
7091         submode when start happens to be in a comment.
7093 2017-10-29  Tom Tromey  <tom@tromey.com>
7095         Fix mthml submode lighting at end of buffer
7097         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
7098         buffer correctly.
7100 2017-10-29  Tom Tromey  <tom@tromey.com>
7102         Remember more variables in mhtml-mode
7104         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
7105         "completion-" and "major-mode".
7106         (mhtml--variable-prefix): Remove "major-mode".
7108 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7110         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
7112 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
7114         Fix minibuffer window related docs and strings (Bug#28978)
7116         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
7117         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
7118         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
7119         description of `minibuffer' parameter.
7120         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
7121         entries and partly rewrite section.
7122         (Minibuffer Misc): Clarify description of
7123         `minibuffer-selected-window'.
7124         * etc/NEWS: Mention new semantics of 'minibuffer' frame
7125         parameter.
7127 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
7129         Add ChkTeX flymake backend for latex-mode
7131         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
7132         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
7133         (latex-mode): Add backend to flymake-diagnostic-functions.
7134         (tex-chktex--process): New variable.
7135         (tex-chktex-command, tex-chktex): New functions.
7137 2017-10-29  Glenn Morris  <rgm@gnu.org>
7139         Fix doc typos
7141         * lisp/simple.el (line-move-ignore-invisible):
7142         * lisp/sort.el (sort-regexp-fields):
7143         * lisp/cedet/ede.el (project-add-file):
7144         * lisp/gnus/message.el (message-bogus-recipient-p):
7145         * lisp/international/mule.el (define-coding-system):
7146         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
7147         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
7148         (scheme-interaction-mode, scheme-debugger-mode)
7149         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
7151 2017-10-29  Glenn Morris  <rgm@gnu.org>
7153         Fix some duplicate word typos
7155         * doc/misc/ede.texi (ede-target):
7156         * doc/misc/flymake.texi (Using Flymake):
7157         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
7159 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7161         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
7163 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7165         Avoid segfaults in 64-bit Windows builds
7167         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
7168         * src/thread.c (THREAD_ALIGNMENT): New macro.
7169         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
7171 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7173         Fix conversion of pixel coordinates to buffer position
7175         * src/dispnew.c (buffer_posn_from_coords): Adapt to
7176         auto-hscroll-mode == current-line.
7178 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7180         Fix doc strings in desktop.el
7182         * lisp/desktop.el (desktop-auto-save-timeout)
7183         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
7185 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7187         Add Index to ERT manual
7189         * doc/misc/ert.texi: Add @syncodeindex directives.
7190         (Index): New node.
7191         (Top): Add Index to the top-level menus.
7192         Add index entries to all nodes.
7194 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7196         Make manuals and NEWS consistent
7198         * etc/NEWS: Fix markings on several entries, and rearrange others
7199         as needed.
7201         * doc/emacs/programs.texi (Hideshow): Document the new
7202         outline-like bindings.
7203         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
7205 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
7207         Don't allow (minibuffer-window-active-p nil) to return t
7209         * lisp/window.el (minibuffer-window-active-p): Return t
7210         only if WINDOW is a live window.
7212 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
7214         Clarify obsolescence message for 'whitespace-tab'
7216         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
7217         message more clear about the replacement.
7219 2017-10-28  Glenn Morris  <rgm@gnu.org>
7221         Fix some duplicate words typos
7223         * lisp/erc/erc.el (erc-hide-current-message-p):
7224         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
7225         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
7226         * doc/lispref/functions.texi (Defining Functions):
7227         * doc/lispref/os.texi (Terminal-Specific):
7228         * doc/misc/sem-user.texi (Analyzer Debug):
7229         * doc/misc/srecode.texi (Special Variables): Fix typos.
7231 2017-10-28  Glenn Morris  <rgm@gnu.org>
7233         * lisp/button.el (button-activate): Fix doc typo.
7235         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
7237 2017-10-28  Glenn Morris  <rgm@gnu.org>
7239         Fix some doc typos
7241         * lisp/calendar/todo-mode.el (todo-next-item)
7242         (todo-previous-item, todo-toggle-item-header):
7243         * lisp/window.el (move-to-window-group-line):
7244         * src/editfns.c (Fformat):
7245         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
7246         Fix doc typos.
7248 2017-10-27  Ken Brown  <kbrown@cornell.edu>
7250         Fix startup display on Cygwin
7252         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
7253         forces input to be read.  (Bug#24091)
7255 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
7257         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
7259         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
7261 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
7263         Improve documentation of how faces are applied to display stings
7265         * doc/lispref/display.texi (Displaying Faces): Describe how the
7266         faces of the "underlying" text affect overlay and display strings.
7267         (Display Margins): Add a cross-reference to "Displaying Faces".
7269 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
7271         Improve pixel-scroll-mode
7273         Scroll vertically by number of pixels returned by
7274         'frame-char-height' with or without horizontally scrolled.
7275         (Bug#28922)
7277         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
7278         by number of pixels returned by 'frame-char-height'.
7279         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
7280         move cursor to avoid unexpected jump.
7281         (pixel-scroll-down): Scroll by 'frame-char-height'.
7282         (pixel-bob-at-top-p): Consider number of pixels that is about to
7283         scroll.
7284         (pixel-posn-y-at-point): Consider existence of an overlay string.
7285         Return nil when horizontally scrolled.
7286         (pixel-point-at-top-p): Consider number of pixels that is about to
7287         scroll. Use different algorithm when horizontally scrolled.
7288         (pixel-point-at-bottom-p): Consider number of pixels that is about
7289         to scroll. Return nil when horizontally scrolled.
7290         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
7291         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
7292         horizontally scrolled.
7293         (pixel-line-height): Call 'pixel-visual-line-height' instead of
7294         'line-pixel-height'.
7295         (pixel-visual-line-height): New function to return height in pixels
7296         of text line where cursor is with or without horizontally scrolled,
7297         considering response of display engine.
7298         (pixel-visible-pos-in-window): New function to return position of
7299         a char shown on text line where cursor is on screen with or without
7300         horizontally scrolled.
7302 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
7304         Support Certification Authority Authorization in dns-mode.el
7306         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
7307         (Bug#28911)
7309 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
7311         Improve documentation of set-default-file-modes
7313         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
7315         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
7316         the argument of set-default-file-modes are used for setting file
7317         permissions.
7319 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
7321         Fix documentation of `newsticker-new-item-functions' (bug#29023).
7323         * lisp/net/newst-backend.el (newsticker-new-item-functions),
7324         (newsticker-new-item-functions-sample),
7325         (newsticker-download-enclosures): Fix docstring, rename
7326         variable feed to feedname (bug#29023).
7328         * doc/misc/newsticker.texi (Automatic Processing)
7329         (Automatic Processing): Fix documentation of
7330         `newsticker-new-item-functions' (bug#29023).
7332 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
7334         Require seq in rmc.el
7336         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
7337         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
7339 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
7341         Make an example code introduced in the Gnus info work (bug#29008)
7343         You can find it in the bottom of (info "(gnus)Foreign Groups").
7344         NOTE: this change is worth being merged to the trunk.
7346         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
7347         Allow a string for bug# (bug#29008).
7349 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
7351         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
7353         NOTE: *DO NOT* merge this change to the trunk.
7355         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
7356         (gnus-read-ephemeral-bug-group): Make it work for any number of times
7357         for the case `url-automatic-caching' is set (bug#29008).
7359 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7361         Port thread.c to OpenBSD ARM
7363         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
7364         * src/thread.c (main_thread): Align to GCALIGNMENT.
7366 2017-10-26  Alan Mackenzie  <acm@muc.de>
7368         Fix another "wrong side of point" error in CC Mode.
7370         This fixes (a follow-up to) bug #28850.
7371         A internal generated form for scanning text to fontify had a LIMIT parameter.
7372         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
7373         allowing point to move beyond the original LIMIT, and to create the wrong side
7374         error.  Fix it by checking point is not beyond LIMIT in the outer context
7375         before using it.
7377         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
7378         parameter CHECK-POINT which, when non-nil, directs the function to generate a
7379         check on point.
7380         (c-make-font-lock-context-search-function): Invoke the above function with new
7381         argument value t.
7383 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
7385         Fix Bug#28959
7387         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
7388         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
7389         hop to backup file name.  (Bug#28959)
7391         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
7392         New test.
7393         (tramp-test35-make-nearby-temp-file)
7394         (tramp-test36-special-characters)
7395         (tramp-test36-special-characters-with-stat)
7396         (tramp-test36-special-characters-with-perl)
7397         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
7398         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
7399         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
7400         (tramp-test39-asynchronous-requests)
7401         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
7402         (tramp-test42-delay-load, tramp-test43-unload): Rename.
7404 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
7406         Fix duplicate .o file on QNX
7408         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
7409         Problem reported by Elad Lahav in:
7410         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
7412 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
7414         Fix two js indentation problems
7416         Fix intentation problems reported in
7417         https://github.com/mooz/js2-mode/issues/463.
7418         * lisp/progmodes/js.el (js--continued-expression-p):
7419         Check syntax state after /.
7420         (js--multi-line-declaration-indentation):
7421         Check syntax state before "const".
7423 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
7425         Update documentation for windows build
7427         * admin/nt/dist-build/README-scripts: New File.
7429 2017-10-25  Alan Mackenzie  <acm@muc.de>
7431         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
7433         The cause was a scanning over a bracket pair taking us beyond the supplied
7434         LIMIT parameter in c-forward-declarator.
7436         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
7437         (point) limit) whilst dealing with tokens after the declared identifier.
7439         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
7440         argument to `c-forward-declarator' (twice), since we want to fontify up till
7441         the end of a declarator, not an arbitrary jit-lock chunk end.
7443 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7445         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
7447         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
7448         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
7449         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
7451 2017-10-25  Alan Third  <alan@idiocy.org>
7453         Fix non-native fullscreen on NS (bug#28872)
7455         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
7456         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
7457         of frame.
7459 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
7461         Fix Bug#28982
7463         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
7465         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
7466         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
7468         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
7470 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
7472         Fix windows build errors
7474         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
7475           64 bit first
7477 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
7479         Fix compile warning for non-w32 builds
7481         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
7482         binding", the non-w32 builds would treat the undeclared
7483         w32-collate-ignore-punctuation variable as lexical.
7484         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
7486 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
7488         Display commit in package description, if available (Bug#28637)
7490         MELPA includes a :commit field in its
7491         packages (https://github.com/melpa/package-build/pull/6).  You can use
7492         this to tell if MELPA has processed a recently-merged change.  This
7493         commit adds that metadata to the package description buffer.
7495         * lisp/emacs-lisp/package.el: Display commit in package description.
7497 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
7499         Port to QNX
7501         Simplified version of a patch proposed by Elad Lahav in:
7502         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
7503         which is based on a previous patch I proposed in:
7504         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
7505         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
7506         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
7507         Set appropriately for QNX.
7508         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
7509         (unexec): Check for sbrk failure, and fall back on old BSS end.
7511 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
7513         * configure.ac: Tweak libcurses diagnostic.
7515 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
7517         Scripts to automate windows binary distribution
7519         * admin/nt/dist-build/README-windows-binaries,
7520           admin/nt/dist-build/build-dep-zips.py,
7521           admin/nt/dist-build/build-zips.sh: New Files
7523 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
7525         Fix Edebug specs for map-let and with-maps-do
7527         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
7528         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
7530 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
7532         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
7534         (tramp-test42-unload): Rename.
7536 2017-10-24  Glenn Morris  <rgm@gnu.org>
7538         * admin/authors.el (authors-canonical-author-name):
7539         Ignore name issues in "lax" ChangeLogs.
7541         * test/lisp/progmodes/sql-tests.el
7542         (sql-tests-postgres-list-databases-error): Silence compiler.
7544 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7546         Further work on Bug#28889
7548         * lisp/net/tramp.el (tramp-set-syntax): New defun.
7549         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
7551 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7553         Improve Tramp backward compatibility
7555         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
7556         New defmacro.
7557         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
7559 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7561         Improve backward compatibility of tramp-tests.el
7563         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
7564         (tramp-test41-unload): Skip unless Emacs >= 26.
7566 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
7568         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
7570         * lisp/window.el (window-normalize-buffer): Fix case where
7571         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
7572         doc-string (Bug#28947).
7573         (window-normalize-frame, window-normalize-window): Fix
7574         doc-strings (Bug#28947).
7576 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7578         Port to OpenIndiana
7580         Problem reported by Nelson H. F. Beebe (Bug#28893).
7581         Also see Bug#23748, Bug#9736, and Bug#5735.
7582         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
7583         since OpenIndiana libtermcap lacks tparm.
7585 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
7587         Don't fill keywords after Emacs Lisp docstring
7589         This approach does mean that keywords that have spaces before them
7590         inside of docstrings aren't filled, but I think this is should be fine
7591         until Bug#28937 is fixed.
7593         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
7594         paragraph-start unconditionally, but require that it follows at least
7595         one space.  (Bug#24622)
7596         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
7597         Bug#7751.
7599 2017-10-22  Alan Mackenzie  <acm@muc.de>
7601         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
7603         Use the new function directly in several places where c-forward-token-2
7604         wouldn't move over the last token in the buffer.  This caused an infinite loop
7605         in c-restore-<>-properties.
7607         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
7608         extracted from c-forward-token-2.
7609         (c-forward-token-2): Refactor, calling the new function.
7610         (c-restore-<>-properties): Fix infinite loop.
7611         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
7612         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
7613         of c-forward-token-2.
7615         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
7616         place of c-forward-token-2.
7618         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
7619         function directly in place of c-forward-token-2.
7621 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7623         Avoid unnecessary rounding errors in timestamps
7625         Avoid the rounding errors of float-time when it’s easy.  E.g.,
7626         replace (< (float-time a) (float-time b)) with (time-less-p a b).
7627         * lisp/desktop.el (desktop-save):
7628         * lisp/ecomplete.el (ecomplete-add-item):
7629         * lisp/epg.el (epg-wait-for-completion):
7630         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
7631         * lisp/image-dired.el (image-dired-get-thumbnail-image)
7632         (image-dired-create-thumb-1):
7633         * lisp/info.el (info-insert-file-contents):
7634         * lisp/ls-lisp.el (ls-lisp-format-time):
7635         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
7636         (ange-ftp-verify-visited-file-modtime):
7637         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
7638         * lisp/textmodes/remember.el (remember-store-in-mailbox):
7639         * lisp/url/url-cookie.el (url-cookie-expired-p):
7640         Bypass float-time to avoid rounding errors.
7642         * lisp/files.el (dir-locals-find-file):
7644 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7646         Fix xdg timestamp error on 32-bit Emacs
7648         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
7649         not an integer.  This avoids signaling an error on 32-bit
7650         Emacs, where timestamps typically do not fit into fixnums
7651         (Bug#28921).
7653 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
7655         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
7657         * test/lisp/emacs-lisp/bytecomp-tests.el
7658         (bytecomp-tests--test-no-warnings-with-advice): New test.
7660 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7662         Another fix for unsafe directory error message (Bug#865)
7664         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
7665         current user's for the wrong owner case.  Show expanded file name in
7666         error message.
7668 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7670         Handle https url for debbugs mbox (Bug#28831)
7672         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
7673         gnus-bug-group-download-format-alist was updated to use https for the
7674         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
7675         http links.
7676         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
7677         url-parse functions to get the host name, instead of ad-hoc regexps.
7679 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7681         Ignore string properties when saving eshell history (Bug#28700)
7683         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
7684         before inserting history strings.
7685         (eshell-read-history): Remove obsolete comment.
7686         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
7687         New test.
7689 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
7691         Fix Bug#28889
7693         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
7694         (tramp-completion-file-name-regexp-default)
7695         (tramp-completion-file-name-handler-alist)
7696         (tramp-completion-file-name-handler): Remove autoload cookie.
7697         (tramp-initial-completion-file-name-regexp): Remove.
7698         (tramp-autoload-file-name-regexp): New defconst.
7699         (tramp-register-autoload-file-name-handlers): Use it.
7700         (with-parsed-tramp-file-name): Adapt docstring.  Compute
7701         `tramp-file-name' slots.  (Bug#28889)
7703 2017-10-21  Glenn Morris  <rgm@gnu.org>
7705         Update describe-function for recent Fdocumentation change
7707         * lisp/help-fns.el (describe-function-1):
7708         Handle Fdocumentation returning either void or invalid.
7710 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
7712         Make flymake's mouse-wheel interaction portable (Bug#28732)
7714         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
7715         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
7716         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
7717         remove a stray newline in it.
7719 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
7721         Prevent eldoc from changing the mode line
7723         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
7724         change the mode line if it is not displayed.  (Bug#28697)
7726 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7728         Fix doc strings in simple.el
7730         * lisp/simple.el (shell-command-saved-pos)
7731         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
7733 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
7735         Avoid creating inconsistent buffer states in term-char-mode
7737         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
7738         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
7739         except for the process filter's output.  Use 'read-only-mode-hook' to
7740         track and restore the user-set state of 'buffer-read-only' for
7741         'term-line-mode'.  (Bug#24837)
7742         (term-char-mode-buffer-read-only): New user option.
7743         (term-line-mode-buffer-read-only): New buffer-local variable.
7744         (term-line-mode-buffer-read-only-update): New function.
7745         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
7746         in pre-command-hook, and 'term-goto-process-mark-maybe' in
7747         post-command-hook to counter-act unexpected changes to point when
7748         using 'term-char-mode'.
7749         (term-char-mode-point-at-process-mark): New user option.
7750         (term-goto-process-mark): New buffer-local variable.
7751         (term-set-goto-process-mark): New function.
7752         (term-goto-process-mark-maybe): New function.
7753         (term-process-mark): New function.
7755         * etc/NEWS: Mention the new behavior and user options.
7757 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
7759         New input method 'usbek-cyrillic'
7761         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
7762         (Bug#28848)
7764         * etc/NEWS: Mention the new input method.
7766 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7768         Document 'minibuffer-with-setup-hook'
7770         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
7771         minibuffer-with-setup-hook.  (Bug#28877)
7773 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7775         Simplify make-progress-reporter vs float-time
7777         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
7778         doc and code for the case where float-time is not supported,
7779         since float-time is always present now.
7781 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7783         Fix two more minor Gnus typos
7785         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
7786         The old code had two minor bugs: first, it multiplied by 1/65536
7787         instead of by 1/86400.  Second, it called current-time twice and
7788         glued part of the two results together, resulting in a race.
7789         Fix both bugs by simplifying the code and using
7790         time-to-number-of-days.
7792 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7794         Fix two minor Gnus typos
7796         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
7797         Remove unused local, and fix use of local that was never assigned to.
7799 2017-10-21  Glenn Morris  <rgm@gnu.org>
7801         Tweak Fdocumentation's error for an undefined function
7803         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
7804         of signalling a void-function error for an undefined function.
7805         This seems cleaner than Emacs 25's "invalid-function: nil" error,
7806         which was (probably) an unintended consequence of changes to
7807         Findirect_function.
7809 2017-10-21  Glenn Morris  <rgm@gnu.org>
7811         Tweak format of list of old files in NEWS header
7813         * etc/NEWS: Stop list of old NEWS files growing without limit.
7814         * admin/admin.el (set-version): Handle either NEWS header format.
7816 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7818         * lisp/help-fns.el (describe-function-1):
7819         Fix help-fns-test-dangling-alias.  (Bug#28918)
7821         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
7823 2017-10-20  Glenn Morris  <rgm@gnu.org>
7825         Fix flymake's loading of subr-x
7827         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
7828         No need to load subr-x at run-time.
7830 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
7832         Fix Bug#28896
7834         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
7835         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
7836         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
7837         being a directory.  (Bug#28896)
7839         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
7840         (tramp-test12-rename-file): Test also FILENAME being a directory.
7842 2017-10-20  João Távora  <joaotavora@gmail.com>
7844         Skip a Flymake test for old gcc versions
7846         Fixes: 28906
7848         * test/lisp/progmodes/flymake-tests.el
7849         (different-diagnostic-types): Skip this test for gcc versions
7850         < 5.
7852 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
7854         Make :align-to account for display-line-numbers
7856         These changes also update the various bundled packages to use
7857         new feature, and better support customizations of the line-number
7858         face.
7859         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
7860         Make :align-to count from the end of the line-number display when
7861         the offset or the width form reference that of the text area.
7862         (Bug#28855)
7864         * src/indent.c (Fline_number_display_width): Implement support for
7865         the PIXELWISE argument being 'columns'.  Update the doc string.
7866         (syms_of_indent): New symbol 'columns'.
7868         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
7869         Call line-number-display-width with last argument 'columns'.
7871         * lisp/proced.el (proced-header-line): Call
7872         line-number-display-width with 2nd arg 'columns', which also fixes
7873         a problem when display-line-numbers is nil.
7875         * lisp/emacs-lisp/tabulated-list.el
7876         (tabulated-list-line-number-width): Call line-number-display-width
7877         with 2nd arg 'columns.
7878         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
7879         (tabulated-list-print, tabulated-list-print-entry): No need to
7880         account for the value of tabulated-list-entry-lnum-width.
7881         (tabulated-list--current-lnum-width): New defvar.
7882         (tabulated-list-watch-line-number-width): New function.
7883         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
7884         locally, and set up tabulated-list-watch-line-number-width as
7885         pre-redisplay-functions hook.
7887         * doc/lispref/display.texi (Size of Displayed Text): Document the
7888         'columns' value of the PIXELWISE argument.
7889         (Pixel Specification): Update and improve the documentation of the
7890         supported forms.
7892 2017-10-20  João Távora  <joaotavora@gmail.com>
7894         Augment Flymake API for third-party extensions
7896         See
7897         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
7899         * doc/misc/flymake.texi (Flymake error types): Rewrite
7900         example.
7901         (Flymake utility functions): Augment with new API.
7903         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
7904         (flymake--diag-accessor): New helper macro.
7905         (flymake-diagnostic-buffer, flymake-diagnostic-text)
7906         (flymake-diagnostic-beg, flymake-diagnostic-end)
7907         (flymake-diagnostic-backend): Accessors for diagnostic objects.
7908         (flymake--overlays): Use flymake-diagnostic property.
7909         (flymake--highlight-line): Simplify.  Only set
7910         flymake-diagnostic property.
7911         (flymake--handle-report, flymake-goto-next-error): Use
7912         flymake-diagnostic property.
7913         (flymake-show-diagnostic): Use diagnostic object.
7914         (flymake--diagnostics-buffer-entries): Use
7915         flymake-diagnostics.
7917 2017-10-20  Glenn Morris  <rgm@gnu.org>
7919         Improve treatment of Fortran's "class default"
7921         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
7922         Handle "class default".  (Bug#28786)
7923         * test/automated/f90.el (f90-test-bug25039): Add "class default".
7925 2017-10-20  João Távora  <joaotavora@gmail.com>
7927         Flymake backends must check proc obsoleteness in source buffer
7929         Flymake backends that rely on sentinels running asynchronously and
7930         checking buffer-local variables that hold running processes should
7931         check for obsoleteness in the correct buffers, otherwise a (harmless)
7932         warning might be triggered.
7934         * doc/misc/flymake.texi (An annotated example backend):
7935         Check buffer-local proc in the current buffer.
7937         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
7938         Check buffer-local proc in the current buffer.
7940 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
7942         Skip an rsync test in tramp-tests.el
7944         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
7945         Skip for "rsync".
7947 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
7949         On Windows default a frame's border width to zero (Bug#28873)
7951         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
7952         as everywhere else, see Bug#28873.
7954 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
7956         Spelling fixes
7958         * lisp/cedet/semantic/analyze/refs.el:
7959         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
7960         misspelling of pop-to-buffer-same-window.
7962 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
7964         Use pop-to-buffer-same-window instead of switch-to-buffer
7966         * lisp/cedet/semantic/decorate/include.el
7967         (semantic-decoration-include-visit):
7968         Use pop-to-buffer-same-window instead of switch-to-buffer
7969         (bug#28645).
7971         * lisp/cedet/semantic/analyze/refs.el
7972         (semantic-analyze-proto-impl-toggle): Same.
7974         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
7975         Same.
7977         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
7978         Same.
7980         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
7981         Same.
7983 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
7985         Fix the MSDOS build.
7987         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
7988         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
7989         (LIBSYSTEMD_LIBS): Edit to empty.
7990         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
7991         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
7992         Remove editing of lines that are no longer present in
7993         src/Makefile.in.
7994         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
7995         (NEED_MKTIME_WORKING): Define to 1.
7996         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
7997         DJGPP >= 2.05.
7998         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
7999         Define PACKAGE_VERSION, not VERSION.
8000         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
8001         (HAVE_DECL_*_UNLOCKED): Define to 0.
8002         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
8003         (PENDING_*): Don't define, as Gnulib no longer supports that.
8004         Instead, define _IOERR as it is in libc/file.h.
8005         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
8006         determine the current directory.
8007         (UPDATE_MANIFEST, UTILITIES): Don't edit.
8008         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
8009         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
8010         (HYBRID_MALLOC): Edit to empty.
8011         (am__cd): Don't edit.
8012         (../config.status): Replaces $(top_builddir)/config.status.
8013         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
8014         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
8015         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
8016         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
8017         the command line shorter to fit into 126-char limit of
8018         command.com.
8019         * config.bat: Generate src/deps/*.d files.  Rename more files
8020         like djtar on plain DOS would.
8021         Don't rename src/dir.h: it is long gone.  Edit
8022         lib/gnulib.mk.in using the same scripts as for
8023         lib/Makefile.in.
8024         * msdos/depfiles.bat: Create *.d files, not *.Po.
8026         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
8027         error message.
8028         * src/thread.h [MSDOS]: Include <signal.h>.
8029         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
8030         compilation errors.
8031         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
8032         Expose to MSDOS build.
8033         * src/process.c (update_processes_for_thread_death)
8034         [!subprocess]: No-op implementation.
8035         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
8036         declaration of nofile_limit outside "#ifdef subprocesses", as
8037         it's needed for MSDOS.
8038         * src/msdos.c (faccessat): Declare fullname[].
8039         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
8040         Include termhooks.h.
8041         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
8042         WINDOWSNT, not DOS_NT.
8044         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
8046 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
8048         Fix line number display after 'widen'
8050         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
8051         by line-number-mode on the first redisplay after the buffer is
8052         widened.  (Bug#28879)
8054 2017-10-18  Alan Third  <alan@idiocy.org>
8056         Remove resizable attribute on macOS undecorated frames (bug#28512)
8058         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
8059         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
8061 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
8063         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
8065         * lisp/frameset.el (frameset--restore-frame): Don't process
8066         `border-width' parameter via ‘modify-frame-parameters’
8067         (Bug#28873).
8069 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
8071         Mention how to send CC to > 1 address in a bug report
8073         * admin/notes/bugtracker (* More detailed information):
8074         mention how to CC to more than 1 address (Bug#28833).
8076 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
8078         Improve format-time-string doc
8080         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
8081         documentation for format-time-string.  Document ^, #, %s, and %z
8082         with colons.  Say that unrecognized sequences are output as-is.
8083         * src/editfns.c (Fformat_time_string): %S can stand for 60.
8084         Also mention unrecognized sequences.
8086 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
8088         Improve documentation of 'line-number-display-width'
8090         * doc/lispref/display.texi (Size of Displayed Text): Document the
8091         additional 2 columns used for line-number display.
8093         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
8095 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
8097         Implement vc-default-dir-extra-headers for vc-rcs
8099         Add a do-nothing implementation for vc-rcs to suppress the message which
8100         the default function adds to the vc-dir buffer (Bug#28570).
8101         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
8103 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
8105         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
8107         * etc/NEWS: Mention that applications should prefer
8108         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
8110 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
8111             Noam Postavsky  <npostavs@gmail.com>
8113         Dont update primary selection with winner-undo
8115         * lisp/winner.el (winner-set):
8116         Dont update primary selection when select-enable-primary
8117         is non-nil (Bug#28631).
8119 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
8121         Work around ImageMagick bug 825
8123         This should fix several bugs reported recently against Emacs
8124         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
8125         * src/image.c (imagemagick_load_image):
8126         Do not call MagickWandTerminus.
8128 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
8130         Document rectangle-preview option more (Bug#27974)
8132         * lisp/rect.el (string-rectangle):
8133         * etc/NEWS.25: Mention `rectangle-preview'.
8135 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
8137         Do not reject https://gnu.org in commit messages
8139         * build-aux/git-hooks/commit-msg: Do not reject commit messages
8140         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
8141         rewrite the messages to use https: URLs.
8143 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
8145         Fix Edebug spec for cl-defun (bug#24255)
8147         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
8148         `cl-lambda-list' to support destructuring argument lists.
8149         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
8150         * lisp/textmodes/rst.el: Remove alternate version of Edebug
8151         specs for `cl-lambda-list' and `cl-type-spec'.
8153 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
8155         Fix errors in kmacro.el post-command-hook
8157         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
8158         avoid 'void-variable' errors.  (Bug#28818)
8159         * test/lisp/kmacro-tests.el
8160         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
8162 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
8164         Fix range-error in image-dired.el
8166         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
8167         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
8169 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
8171         Fix 'line-number-display-width' in hscrolled windows
8173         * src/indent.c (line_number_display_width): Make sure a line
8174         number is generated even when the first line of the window is
8175         completely hscrolled out of view.  (Bug#28854)
8177 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
8179         Fix error in tramp-smb-handle-insert-directory
8181         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
8182         Insert size information only when FULL-DIRECTORY-P is non-nil.
8184 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
8186         Don't reject PBM header whitespace unnecessarily
8188         * lisp/image.el (image-type-header-regexps):
8189         Allow two or more CRs or LFs in initial whitespace sequences.  See:
8190         http://netpbm.sourceforge.net/doc/pbm.html
8192 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
8194         Fix regression in display of PPM images
8196         Problem reported by Roland Winkler (Bug#28824#35).
8197         Based on a patch proposed by Andy Moreton (Bug#28824#38).
8198         * src/image.c (pbm_scan_index): New function.
8199         (pbm_load): Use it to decode raw data correctly when its top bit
8200         is set.
8202 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
8204         Require subr-x when compiling nnimap.el
8206         * lisp/gnus/nnimap.el (require): For the when-let* macro.
8208 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
8210         Fix ert-test finding by symbol (Bug#28849)
8212         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
8213         symbol used for ert tests in load-history was changed from
8214         `ert-deftest' to `ert--test', but a couple of other places were not
8215         updated accordingly.
8216         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
8217         `ert--test' as the TYPE to `find-function-do-it'.
8218         (top-level): Use `ert--test' as the key to the
8219         `find-function-regexp-alist' entry.
8221 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
8223         Don't remember old debugger window (Bug#17882)
8225         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
8226         when `debugger-will-be-back' is nil.
8228 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
8230         Disable python native completion on w32 (Bug#28580)
8232         * lisp/progmodes/python.el
8233         (python-shell-completion-native-disabled-interpreters): For windows-nt
8234         systems, put an empty string to match interpreters.
8236 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
8238         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
8240         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
8241         frames in the non-interactive part, if not found on the current
8242         display.
8244 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
8246         * lisp/dired-aux.el (dired-create-directory): Doc fix.
8248 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
8250         Avoid compilation warnings in optimized builds
8252         * src/process.c (Fmake_network_process):
8253         * src/image.c (xbm_scan, gif_load):
8254         * src/fileio.c (Frename_file):
8255         * src/data.c (Fmake_local_variable):
8256         * src/buffer.c (fix_start_end_in_overlays):
8257         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
8258         to avoid compiler warnings in optimized builds.
8260 2017-10-15  K. Handa  <handa@gnu.org>
8262         Improve customization of arabic-shaper-ZWNJ-handling.
8264         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
8265         immediately.
8266         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
8267         value.
8268         * src/composite.c (Fclear_composition_cache): New function.
8269         (syms_of_composite): Defsubr it.
8271 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
8273         Improve customization type of 'mouse-drag-and-drop-region'
8275         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
8276         precise customization type.
8278 2017-10-15  Paul Eggert  <eggert@day>
8280         Encourage https: in commit messages
8282         * CONTRIBUTE: Prefer https: when citing.
8283         * build-aux/git-hooks/commit-msg:
8284         Diagnose http: and ftp: URLs to FSF or GNU hosts.
8286 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
8288         Fix wording in Elisp manual's child frames section (Bug#28819)
8290         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
8292 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
8294         Another fix for C mode fontification of w32 source files
8296         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
8297         "CALLBACK", to correctly fontify functions with this attribute.
8299 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
8301         Fix fontification of ALIGN_STACK functions
8303         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
8304         "ALIGN_STACK", to correctly fontify functions with this attribute.
8306 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
8308         Make sure thread stack is properly aligned on MS-Windows
8310         * src/systhread.c: Include w32term.h instead of windows.h.
8311         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
8312         the thread's stack is correctly aligned.
8313         * src/w32term.h (ALIGN_STACK): Update commentary.
8315 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8317         Do not under-align pseudovectors
8319         Problem reported by Fabrice Popineau in:
8320         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
8321         Also see diagnosis by Eli Zaretskii in:
8322         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
8323         * src/alloc.c (vector_alignment):
8324         Now a multiple of alignof (max_align_t).
8326 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
8328         Fix indentation bug in multi-line CSS selectors
8330         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
8331         indentation of multi-line CSS selectors that include both a
8332         pseudo-class and parenthesis.
8334         * test/manual/indent/css-mode.css: Add test for the above change.
8336 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
8338         gnutls_mac_get_nonce_size has been added in gnutls 3.3
8340         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
8341         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
8342         (gnutls_mac_get_nonce_size): Depend on
8343         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
8344         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
8345         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
8347 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8349         * CONTRIBUTE: Suggest American English.
8351 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
8353         Fix this-command-keys for "M-x foo" commands
8355         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
8356         unibyte string.  (Bug#28798)
8358 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
8360         Let rename-file rename dirs across filesystems
8362         Problem diagnosed by Andreas Schwab (Bug#28792#65).
8363         This fixes a bug that I introduced in
8364         2017-09-10T22:39:24@eggert@cs.ucla.edu
8365         "Fix race with rename-file etc. with dir NEWNAME".
8366         * src/fileio.c (Frename_file): Copy a source directory across
8367         file system boundaries even if its name does not end in slash.
8369 2017-10-12  João Távora  <joaotavora@gmail.com>
8371         Simplify Flymake user documentation
8373         Fix some confusing parts of Flymake user documentation, like a
8374         repeated listing of situations leading to a syntax check.
8375         Documentation is now divided into three chapters only: "Using
8376         Flymake", "Extending Flymake", and a chapter for the legacy backend.
8378         Obsolete mention of "errors" and "lines" is replaced by
8379         "diagnostics/problems" and "regions" where appropriate.
8381         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
8382         (Using Flymake): Merge with chapter "Overview of Flymake".
8383         (Installing Flymake): Delete chapter.
8384         (Flymake mode, Running the syntax check)
8385         (Navigating to error lines): Delete sections.
8386         (Syntax check statuses): Review and augment with x-references.
8387         (Backend exceptions): Mention shortcut in menu.
8389         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
8390         menu to not speak of "errors".
8391         (flymake-goto-next-error, flymake-goto-prev-error): Fix
8392         wording.
8394 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
8396         * etc/NEWS: Mention the new version of Org.
8398 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
8400         Don't use (format "%s" ...) for string copying (Bug#28774)
8402         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
8403         "%s" STRING) no longer produces a new string.
8404         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
8405         string, so that we can add text properties to (copies of) symbol
8406         names.
8408 2017-10-11  Alan Third  <alan@idiocy.org>
8410         Make frame-list-z-order on NS match Windows behavior (bug#28788)
8412         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
8413         ignore it rather than returning nil.
8415 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
8417         Bump Emacs version to 26.0.90
8419         * README:
8420         * configure.ac:
8421         * msdos/sed2v2.inp:
8422         * nt/README.W32: Bump Emacs version.
8424 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
8426         Update authors.el
8428         * admin/authors.el (authors-valid-file-names)
8429         (authors-renamed-files-alist): Additions.
8431 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
8433         * admin/authors.el (authors-aliases): Additions.
8435         * ChangeLog.3: Update.
8437 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
8439         Fix docstring style for 'functionp'
8441         * src/eval.c (functionp): Make docstring start with verb.
8442         (Bug#28781)
8444 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
8446         Format shell commands in tramp.texi
8448         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
8449         Format shell commands better.
8451 2017-10-10  João Távora  <joaotavora@gmail.com>
8453         Unbreak the button in the Flymake diagnostics buffer again
8455         Adding the 'keymap' property enabled RET but broke the mouse-action.
8457         * lisp/progmodes/flymake.el
8458         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
8460 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
8462         Add mode map to Flymake diagnostic button
8464         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
8465         keymap propery.
8467 2017-10-10  João Távora  <joaotavora@gmail.com>
8469         Tweak the Flymake diagnostics buffer again
8471         * lisp/progmodes/flymake.el
8472         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
8473         (flymake-show-diagnostic): Rename from
8474         flymake-show-diagnostic-at-point.  Really use another window.
8475         (flymake-goto-diagnostic): Rename from
8476         flymake-goto-diagnostic-at-point.
8477         (flymake--diagnostics-buffer-entries): Use a button just for
8478         the message bit.
8480 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
8482         Simplify Flymake diagnostics buffer UX
8484         Don't create text-buttons unnecessarily, just bind RET and SPC in the
8485         diagnostics buffer to a command that figures out which diagnostic it
8486         was invoked on.
8488         * lisp/progmodes/flymake.el
8489         (flymake--diagnostics-buffer-mode-keymap): Renamed from
8490         flymake--diagnostics-buffer-button-keymap.
8491         (flymake-show-diagnostic-at-point): Don't take a button.
8492         (flymake-goto-diagnostic-at-point): Don't pass button to
8493         flymake-show-diagnostic-at-point.
8494         (flymake--diagnostics-buffer-entries): Simplify.
8496 2017-10-10  João Távora  <joaotavora@gmail.com>
8498         First stab at a Flymake diagnostics buffer
8500         The diagnostics buffer summarizes the diagnostics of a buffer in a
8501         tabulated list and is permanently updated after each Flymake check.
8503         * lisp/progmodes/flymake.el (flymake--handle-report): Call
8504         flymake-show-diagnostics-buffer under certain conditions.
8505         (flymake-menu, flymake--diagnostics-buffer-source)
8506         (flymake--diagnostics-buffer-button-keymap)
8507         (flymake-show-diagnostic-at-point)
8508         (flymake-goto-diagnostic-at-point)
8509         (flymake--diagnostics-buffer-entries)
8510         (flymake-diagnostics-buffer-mode)
8511         (flymake--diagnostics-buffer-name)
8512         (flymake-show-diagnostics-buffer): New definitions.
8514 2017-10-10  João Távora  <joaotavora@gmail.com>
8516         * etc/NEWS (Flymake): Rewrite entry.
8518 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
8520         Improve the Flymake manual
8522         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
8523         @syncodeindex directive for @vindex.  Use 2 spaces between
8524         sentences.  Lower-case @cindex entries.
8525         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
8526         punctuation and markup.
8527         (Backend exceptions): Use @emph instead of @dfn.  Add more
8528         indexing.
8529         (Customizable variables, Extending Flymake): Improve wording.
8530         (Flymake error types): Fix usage of @itemize.  Improve wording.
8531         (Backend functions): Fix punctuation.  Fix markup.  Add a
8532         cross-reference to ELisp manual.
8533         (Flymake utility functions): Add a cross-reference to ELisp manual.
8534         (An annotated example backend): Fix punctuation and typos.
8535         (Flymake mode, Running the syntax check)
8536         (Navigating to error lines, Backend exceptions)
8537         (Customizable variables, Flymake error types, Backend functions)
8538         (Flymake utility functions, Proc customization variables)
8539         (Locating a master file, Locating the buildfile)
8540         (Starting the syntax check process, Parsing the output)
8541         (Interaction with other modes): Fix indexing.  Add index entries
8542         for functions, variables, and concepts.
8544 2017-10-10  João Távora  <joaotavora@gmail.com>
8546         Fix two Flymake bugs
8548         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
8549         against --without-x.
8550         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
8551         in their own windows.
8553 2017-10-10  João Távora  <joaotavora@gmail.com>
8555         Don't log "emergencies" in the Flymake legacy backend
8557         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
8558         (flymake-proc-legacy-flymake): Don't log "emergencies"
8560 2017-10-10  João Távora  <joaotavora@gmail.com>
8562         Add full documentation on new Flymake API
8564         Also, as a minor addition to this API, set flymake-text
8565         on the diagnostic overlay.  This enables a good example in
8566         the section "Customization Flymake annotations".
8568         * doc/misc/flymake.texi (Overview of Flymake)
8569         (Syntax check statuses): Rework.
8570         (Backend exceptions): Rename from "Troubleshooting"
8571         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
8572         (Extending Flymake): Write chapter.
8573         (Customizing Flymake annotations, Flymake backends)
8574         (Flymake utility functions, An annotated example backend):
8575         New sections and subsections
8577         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
8578         (flymake-diagnostic-types-alist): Rework docstring.
8579         (flymake--highlight-line): Set and use flymake-text property in overlay.
8580         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
8582 2017-10-10  João Távora  <joaotavora@gmail.com>
8584         Fix some Flymake docstrings and messages
8586         * lisp/progmodes/flymake.el
8587         (flymake-start-on-flymake-mode): fix typo.
8588         (flymake-mode): Add docstring.
8589         (flymake-mode-line-format): Fix help-echo indications. mouse-2
8590         describes flymake-mode.
8592 2017-10-10  João Távora  <joaotavora@gmail.com>
8594         Make three new Flymake commands for debugging common problems
8596         * lisp/progmodes/flymake.el (flymake-running-backends)
8597         (flymake-disabled-backends)
8598         (flymake-reporting-backends): Make interactive.
8599         (flymake--collect): Take optional arg.
8601 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
8603         * admin/authors.el (authors-renamed-files-alist): addition.
8605 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8607         Fix PWD check on DOS_NT
8609         * src/sysdep.c (get_current_dir_name_or_unreachable):
8610         Do not consider a file name like "a:b" to be absolute on DOS_NT.
8612 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8614         Fix unlikely overflows with wd length
8616         * src/sysdep.c (get_current_dir_name_or_unreachable):
8617         Avoid integer overflow if working directory name is absurdly long.
8618         When allocating memory for getcwd, do not exceed MAXPATHLEN.
8620 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8622         * lisp/gnus/message.el: Improve last commit
8624         (message-clone-locals): Don't mistakenly match other variables whose
8625         name happens to include "message-default-charset".
8627 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
8629         Fix problems when editing raw undecoded message (Bug#28671)
8631         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
8632         is set, meaning that we are editing the raw message, do not
8633         encode it again.  Delete old body after, not before, inserting
8634         new, to avoid moving marker at beginning of next message.
8636 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8638         Avoid encoding errors in message.el
8640         * lisp/gnus/message.el (message-clone-locals): Don't clone
8641         message-default-charset.  (Bug#25645)
8643 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8645         Improve doc string and prompt of 'grep-read-files'
8647         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
8648         string and in the prompt that shell wildcards can be used.
8649         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
8651 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8653         Avoid assertion violations when line numbers are displayed
8655         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
8656         matrix before calling try_window with the same starting point.
8657         This avoids assertion violations when switching from a buffer
8658         without line numbers to a buffer with line numbers.  (Bug28710)
8660 2017-10-09  João Távora  <joaotavora@gmail.com>
8662         Be lazy when starting Flymake checks
8664         Don't start the check immediately if the buffer is not being
8665         displayed.  Wait until it is, using window-configuration-change-hook.
8667         This enables the user to batch-enable flymake-mode on many buffers and
8668         not have that operation exhaust system resources for checking each
8669         one.  Likewise, an editing or save operation in a currently
8670         non-displayed buffer does not immediately start a check.
8672         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
8673         Rename from flymake-start-syntax-check-on-find-file.
8674         (flymake-start-syntax-check-on-find-file): Obsolete alias for
8675         flymake-start-on-flymake-mode.
8676         (flymake-start): Redesign.  Affect the global post-command-hook
8677         and local window-configuraiton-change-hook.
8678         (flymake--schedule-timer-maybe)
8679         (flymake-after-change-function, flymake-after-save-hook): Pass
8680         t to flymake-start.
8682         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
8683         (dummy-backends, recurrent-backend): Start flymake check
8684         explicitly and immediately.
8686 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8688         Fix last change in frameset.el
8690         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
8691         filtering the 'font' parameter.  (Bug#17352)
8693 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
8695         Describe how window dividers can replicate vertical borders (Bug#27830)
8697         * doc/emacs/frames.texi (Scroll Bars): Describe how window
8698         dividers can be used to replicate vertical borders when scroll
8699         bars are disabled (Bug#27830).
8700         * doc/emacs/frames.texi (Window Dividers): Mention their use
8701         in replicating vertical borders.
8703 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8705         Add line-number faces to the display-line-numbers group
8707         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
8708         and its resulting thread.
8710         * lisp/display-line-numbers.el (display-line-numbers): Add to the
8711         convenience group.
8712         * lisp/faces.el (line-number):
8713         (line-number-current-line): Add to the display-line-numbers group.
8715 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8717         Increase xterm click count only within double-click-fuzz
8719         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
8720         and check it against the current click's position.  (Bug#28658)
8722 2017-10-08  Alan Third  <alan@idiocy.org>
8724         Change pause in fullscreen toggling for NS port (bug#28496)
8726         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
8727         sleep-for, and reduce time.
8729 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
8731         Handle PARENTS properly in tramp-*-handle-make-directory
8733         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
8734         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
8735         Handle PARENTS properly.
8737         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
8738         Extend test.
8740 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8742         Improve test for unreachable dirs
8744         * src/sysdep.c (get_current_dir_name_or_unreachable):
8745         New function, with most of the old contents of
8746         emacs_get_current_dir_name.
8747         (emacs_get_current_dir_name): Use it.  Use a simpler
8748         test for unreachable directory strings, and also apply
8749         it to getcwd etc. (Bug#27871)
8751 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8753         * src/xsmfns.c (x_session_initialize): Fix memory leak.
8755 2017-10-08  K. Handa  <handa@gnu.org>
8757         New option for handling ZWNJ in Arabic text rendering
8759         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
8760         to display ZWNJ in Arabic text rendering (Bug#28339).
8761         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
8762         composition-function-table.
8763         (arabic-shaper-ZWNJ-handling): New variable.
8764         (arabic-shape-log): New variable.
8765         (arabic-shape-gstring): New function.
8766         * lisp/composite.el (lgstring-remove-glyph): New function.
8768 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
8770         Make python prettify symbols into a defvar (Bug#28713)
8772         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
8773         variable.
8774         (python--prettify-symbols-alist): Make into obsolete alias for
8775         `python-prettify-symbols-alist'.
8777 2017-10-07  Alan Third  <alan@idiocy.org>
8779         Fix fullscreen crash on macOS (bug#28496)
8781         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
8782         complete on macOS.
8784 2017-10-07  Alan Third  <alan@idiocy.org>
8786         Fix crash when closing fullscreen frame on macOS (bug#28661)
8788         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
8789         unmodified if the frame isn't live.
8791 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
8793         Support gio tool in Tramp
8795         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
8796         must use "gio <command>" tool instead.
8798         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
8799         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
8800         (tramp-gvfs-gio-tool-p): New defun.
8801         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
8803 2017-10-07  João Távora  <joaotavora@gmail.com>
8805         Fix flymake-goto-next-error when message has %-constructs
8807         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
8808         message call.  Add missing period in docstring.
8810 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
8812         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
8814 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8816         Move the entry about 'format' into Incompatible Lisp Changes
8818         * etc/NEWS: Move the entry about 'format' refraining from allocating
8819         new strings into Incompatible Lisp Changes.  (Bug#28625)
8821 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8823         Fix glitches in displaying TTY menus
8825         * src/dispnew.c (update_frame_line): Accept an additional argument
8826         UPDATING_MENU_P; if non-zero, home the cursor before updating a
8827         frame's line.  All callers changed.
8828         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
8829         and pass it to update_frame_line.  All callers changed.
8830         (update_frame_with_menu): Call update_frame_1 with last argument
8831         non-zero.  (Bug#17497)
8833 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
8835         Create new Edebug spec for docstrings and use it in closures
8837         Since (:documentation FORM) can be used to create a docstring
8838         when lexical-binding is on, allow for that possibility in Edebug
8839         specs (bug#24773).
8840         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
8841         called lambda-doc and modify the Edebug specs for defun and
8842         defmacro to use it.
8843         (edebug-instrument-function): Check for generic functions first,
8844         to fix bug where edebug-step-in didn't work on methods now that
8845         cl-defgeneric has an Edebug spec.
8846         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
8847         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
8848         (bug#27747).
8849         (cl-defmethod): Use lambda-doc in Edebug spec.
8850         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
8851         cl-declarations-or-string to use lambda-doc, and modify Edebug
8852         spec for cl-lambda-expr to use cl-declarations-or-string.
8853         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
8854         use lambda-doc, as well as &define and def-body which are
8855         necessary for using Edebug on code wrapped by lambda.
8856         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
8857         Edebug specs.
8859 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8861         Avoid byte-compilation warnings in message.el
8863         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
8864         avoid compiler warnings.
8866 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8868         Fix bug in recent styled_format change
8870         Problem reported by Kaushal Modi in:
8871         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
8872         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
8873         not always followed by SAFE_FREE.  This bug was introduced in my
8874         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
8875         unnecessary copying in Fformat etc."
8877 2017-10-06  João Távora  <joaotavora@gmail.com>
8879         Cleanup emacs-lisp-mode's use of Flymake
8881         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
8882         Delete.
8883         (elisp-flymake-checkdoc): Incorporate old
8884         elisp-flymake--checkdoc-1.
8885         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
8886         here.
8887         (elisp-flymake-byte-compile): Remove spurious interactive spec.
8888         Simplify.  Cleanup on every possible exit.
8890 2017-10-06  João Távora  <joaotavora@gmail.com>
8892         Fix @include directive in Flymake doc
8894         * doc/misc/flymake.texi: Don't @include a relative path.
8896 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
8898         Move read-multiple-choice to its own library
8900         * lisp/emacs-lisp/rmc.el: New file.
8901         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
8902         * lisp/gnus/message.el:
8903         * lisp/net/nsm.el: Change required library.
8905 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
8907         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
8909         Fixes: Bug#28721
8911 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
8913         Fix typos in Flymake documentation
8915         * doc/misc/flymake.texi (Syntax check statuses)
8916         (Adding support for a new syntax check tool)
8917         (Implementation overview, Locating the buildfile): Fix typos.
8919         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
8920         (flymake-proc--find-possible-master-files):Fix typos.
8921         (flymake-proc--panic)
8922         (flymake-proc-legacy-flymake): Fix function reference in doc.
8924         * lisp/progmodes/flymake.el (flymake-error)
8925         (flymake-diagnostic-functions): Fix typos.
8926         (flymake-diagnostic-types-alist): Rephrase and fix typos.
8927         (flymake--backend-state): Fix typos and rephrase.
8928         (flymake--handle-report): Delete empty line.
8929         (flymake--disable-backend)
8930         (flymake--run-backend): Fix typos.
8931         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
8933 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8935         Revert last change in 'shr-descend'
8937         * lisp/net/shr.el (shr-descend): Revert the part of the last
8938         change which introduced calls to shr-indirect-call into this
8939         function.  Add a comment explaining the rationale for that.
8940         (Bug#28402)
8942 2017-10-06  João Távora  <joaotavora@gmail.com>
8944         Don't error when turning on Flymake with no known backends
8946         Leave it to the mode line indicator to inform the user that there
8947         is still some configuration to do.
8949         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
8951 2017-10-06  João Távora  <joaotavora@gmail.com>
8953         Delete a Flymake obsolete alias that can't possibly work
8955         The function `flymake-ler-make-ler' can't possibly work as an backward
8956         compatible interface to existing extensinos (even purely hypothetical
8957         ones, since none are known).  This is because every diagnostic
8958         considered by Flymake has to passed to a report-fn function.
8960         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
8962 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8964         Fix bug with unmounted directory on GNU/Linux
8966         * src/sysdep.c (emacs_get_current_dir_name): Do not use
8967         get_current_dir_name result unless it is absolute (Bug#27871).
8970 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
8972         Update authors.el
8974         * admin/authors.el (authors-renamed-files-alist)
8975         (authors-valid-file-names): Additions.
8977 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
8979         Fix dynamic binding wrapper in iter-lambda (bug#25965)
8981         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
8982         Remove extra evaluation of form.
8983         * test/lisp/emacs-lisp/generator-tests.el
8984         (cps-iter-lambda-with-dynamic-binding): New test.
8986 2017-10-05  Rasmus  <rasmus@gmx.us>
8988         Update Org to v9.1.2
8990         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
8992 2017-10-05  Alan Mackenzie  <acm@muc.de>
8994         Fix irregularities with CC Mode fontification, particularly with "known types"
8996         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
8997         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
8998         type.
8999         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
9000         have a construct like the above.  Pass this as argument to
9001         c-font-lock-declarators.
9002         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
9003         being processed starts before the function's starting position.
9004         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
9005         preceded by, e.g., "struct"".
9007         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
9008         (c-template-typename-key): New lang defconsts and defvar.
9010 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
9012         Fix breakage due to recent change in tabulated-list-print-entry
9014         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
9015         Update the doc string.
9016         (tabulated-list-print-entry): Revert to using only 2 arguments.
9017         Update the doc string.
9018         (tabulated-list-entry-lnum-width): New defvar.
9019         (tabulated-list-print): Compute the width of line-number display
9020         once, then store that value in tabulated-list-entry-lnum-width,
9021         for tabulated-list-printer to use.  (Bug#28704)
9023 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
9025         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
9027 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
9029         Set xterm click count to 1 even with no last click
9031         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
9032         the last click so that click-count is initialized properly.
9033         Handle the value of t for double-click-time.
9034         (Bug#28658)
9036 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
9038         Support indirection for all shr-tag-* calls
9040         The 'shr-external-rendering-functions' variable was previously only
9041         honored in the shr-descend function, now all direct calls to the
9042         shr-tag-* functions have been replaced by a call to
9043         'shr-indirect-call' which tries using an alternative rendering
9044         function first.
9046         * lisp/net/shr.el (shr-indirect-call): New helper function.
9047         (shr-descend, shr-tag-object, shr-tag-video):
9048         (shr-collect-extra-strings-in-table): Fix callers to call via
9049         shr-indirect-call.  (Bug#28402)
9051 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
9053         Speed up list-packages when 'visual' line numbers are displayed
9055         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
9056         Update the doc string.
9057         (tabulated-list-print-entry): Accept an additional optional
9058         argument INDENT.  Update the doc string.
9059         (tabulated-list-print): Compute the width of line-number display
9060         once, then call tabulated-list-printer with that value as 3rd
9061         argument.  (Bug#28704)
9063 2017-10-05  João Távora  <joaotavora@gmail.com>
9065         Misc. minor adjustments to Flymake
9067         - Add a half-decent minor-mode menu;
9068         - Fix "waiting for backends" mode line message;
9069         - Adjust the flymake-diag-region API;
9070         - Autoload the flymake-log macro;
9071         - Auto-disable the legacy backend in more situations;
9072         - Fix a couple of warnings in legacy backend.
9074         * lisp/progmodes/flymake-proc.el
9075         (flymake-proc--diagnostics-for-pattern): Use new
9076         flymake-diag-region.
9078         * lisp/progmodes/flymake-proc.el
9079         (flymake-proc-legacy-flymake): Do error when no
9080         buffer-file-name or not writable.
9081         (flymake-proc-legacy-flymake)
9082         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
9084         * lisp/progmodes/flymake.el (flymake-diag-region):
9085         Autoload.  Take buffer as first argument.
9087         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
9088         New command.
9089         (flymake-menu): Add a simple menu.
9090         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
9091         log buffer when clicking exceptional warnings.
9093 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
9095         Fix search for ~/.Xdefaults-HOSTNAME
9097         * src/xrdb.c (get_environ_db): Fix typo when handling
9098         ~/.Xdefaults-HOSTNAME (Bug#28708).
9100 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
9102         Speed up (format "%s" STRING) and the like
9104         Although the Lisp manual said that ‘format’ returns a
9105         newly-allocated string, this was not true for a few cases like
9106         (format "%s" ""), and fixing the documentation to allow reuse of
9107         arguments lets us improve performance in common cases like
9108         (format "foo") and (format "%s" "foo") (Bug#28625).
9109         * doc/lispref/strings.texi (Formatting Strings):
9110         * etc/NEWS:
9111         Say that the result of ‘format’ might not be newly allocated.
9112         * src/callint.c (Fcall_interactively):
9113         * src/dbusbind.c (XD_OBJECT_TO_STRING):
9114         * src/editfns.c (Fmessage, Fmessage_box):
9115         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
9116         Just use Fformat or Fformat_message, as that’s simpler and no
9117         longer makes unnecessary copies.
9118         * src/editfns.c (styled_format): Remove last argument, as it
9119         is no longer needed: all callers now want it to behave as if it
9120         were true.  All remaining callers changed.  Make this function
9121         static again.  Simplify the function now that we no longer
9122         need to worry about whether the optimization is allowed.
9124 2017-10-04  Alan Mackenzie  <acm@muc.de>
9126         Fontify untyped function declarations in C Mode correctly.
9128         Also correct two bugs where deleting WS at a BOL could leave an untyped
9129         function declaration unfontified.
9131         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
9132         "top-level" when we're in a macro.
9133         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
9134         Mode as a implicitly typed function declaration.
9135         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
9136         macro.  It's not a function plus arglist.
9138         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
9139         defvar.
9141         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
9142         over any following parenthesis expression (i.e. parameter list).
9143         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
9144         the returned region, to cope with deletions at column 0.
9146 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
9148         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
9150         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
9152 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
9154         Avoid crashes on C-g when several threads wait for input
9156         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
9157         (getcjmp): Define to current thread's 'm_getcjmp'.
9158         * src/thread.c (maybe_reacquire_global_lock): Switch to main
9159         thread, since this is called from a SIGINT handler, which always
9160         runs in the context of the main thread.
9161         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
9162         definitions before thread.h is included, as thread.h now uses
9163         sys_jmp_buf.
9164         * src/keyboard.c (getcjmp): Remove declaration.
9165         (read_char): Don't call maybe_reacquire_global_lock here.
9166         (handle_interrupt): Call maybe_reacquire_global_lock here, if
9167         invoked from the SIGINT handler, to make sure
9168         quit_throw_to_read_char runs with main thread's Lisp bindings and
9169         uses the main thread's jmp_buf buffer.  (Bug#28630)
9171 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
9173         Warn if --without-pop is now the default
9175         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
9176         Warn about the change if defaulting to "no".  Update URLs.
9178 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
9180         --with-pop is now the default only on MS-Windows
9182         Problem reported by N. Jackson (Bug#28597).
9183         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
9184         * INSTALL, configure.ac, etc/NEWS:
9185         Make --with-pop the default only on native MS-Windows.
9187 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
9189         Add support for `file-system-info' in Tramp
9191         * lisp/net/tramp.el (tramp-file-name-for-operation):
9192         Add `file-system-info'.
9194         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
9195         (tramp-adb-file-name-handler-alist): Use it.
9197         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
9198         (tramp-gvfs-file-system-attributes-regexp): New defconst.
9199         (tramp-gvfs-handle-file-system-info): New defun.
9200         (tramp-gvfs-file-name-handler-alist): Use it.
9201         (tramp-gvfs-get-directory-attributes): Fix property name.
9202         (tramp-gvfs-get-root-attributes): Support also file system attributes.
9204         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
9205         (tramp-sh-file-name-handler-alist): Use it.
9206         (tramp-sh-handle-insert-directory): Insert size information.
9207         (tramp-get-remote-df): New defun.
9209         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
9210         (tramp-smb-file-name-handler-alist): Use it.
9211         (tramp-smb-handle-insert-directory): Insert size information.
9213         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
9214         New test.
9215         (tramp-test38-asynchronous-requests)
9216         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
9217         (tramp-test41-unload): Rename.
9219 2017-10-03  João Távora  <joaotavora@gmail.com>
9221         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
9223 2017-10-03  João Távora  <joaotavora@gmail.com>
9225         Start rewriting Flymake manual
9227         Missing the parts pertaining to the new customization API.
9229         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
9230         (Installing Flymake): Delete most of this.
9231         (Running the syntax check): Mention flymake-start.
9232         (Navigating to error lines): Rewrite.
9233         (Viewing error messages): Commente out.
9234         (Syntax check statuses, Troubleshooting): Rewrite a bit.
9235         (Customizable variables): New section under "Using
9236         Flymake".  Don't mention any proc variables here.
9237         (Configuring Flymake): Delete
9238         (Proc backend): New chapter
9239         (Proc customization variables): New chapter.
9241         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
9242         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
9243         (Running the syntax check): Simplify.
9244         (Viewing error messages): Dekete,
9245         (Syntax check statuses): Rewrite.
9246         (Troubleshooting): Simplify.
9247         (Customizable variables): Rewrite.
9248         (Extending Flymake): New chapter, empty for now.
9249         (The legacy Proc backend): New chapter.
9250         (Proc customizable variables)
9251         (Adding support for a new syntax check tool)
9252         (Implementation overview)
9253         (Making a temporary copy)
9254         (Locating a master file)
9255         (Getting the include directories)
9256         (Locating the buildfile)
9257         (Starting the syntax check process)
9258         (Parsing the output)
9259         (Interaction with other modes)
9260         (Example---Configuring a tool called via make)
9261         (Example---Configuring a tool called directly): Rewrite a bit.
9263 2017-10-03  João Távora  <joaotavora@gmail.com>
9265         Minimal tweak as an attempt to future-proof Flymake API
9267         Discussed with Stefan that this should allow Flymake to request more
9268         from backends in the future, while also allowing backends to report
9269         more accurately.
9271         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
9272         (elisp-flymake-byte-compile): Adjust to new API.
9274         * lisp/progmodes/flymake-proc.el ()
9275         (flymake-proc-legacy-flymake): Adjust to new API.
9277         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
9278         Review API again.
9279         (flymake--handle-report): Allow other keys.  Change ACTION to
9280         REPORT-ACTION.
9282 2017-10-03  João Távora  <joaotavora@gmail.com>
9284         Integrate Flymake elisp checkers into elisp-mode.el directly
9286         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
9287         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
9288         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
9289         (elisp-flymake--byte-compile-done)
9290         (elisp-flymake--byte-compile-process)
9291         (elisp-flymake-byte-compile): Rename from flymake-elisp
9292         counterparts in deleted flymake-elisp.el
9293         (elisp-flymake--batch-compile-for-flymake): New helper.
9294         (checkdoc-create-error-function)
9295         (checkdoc-autofix-flag)
9296         (checkdoc-generate-compile-warnings-flag)
9297         (checkdoc-diagnostic-buffer): Forward declare.
9299         * lisp/progmodes/flymake-elisp.el: Delete.
9301 2017-10-03  João Távora  <joaotavora@gmail.com>
9303         Hook Flymake onto proper checkdoc and byte-compile interfaces
9305         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
9306         with little knowledge of actual internals or thought given to the
9307         usefulness of said interfaces in contexts other than Flymake's.
9309         * lisp/emacs-lisp/bytecomp.el
9310         (byte-compile-log-warning-function): New variable.
9311         (byte-compile-log-warning): Use it.
9312         (byte-compile--log-warning-for-byte-compile): New function.
9314         * lisp/emacs-lisp/checkdoc.el
9315         (checkdoc-create-error-function): New variable.
9316         (checkdoc-create-error): Use it.
9317         (checkdoc--create-error-for-checkdoc): New function.xo
9319         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
9320         Use checkdoc-create-error-function.
9321         (flymake-elisp--batch-byte-compile): Use
9322         byte-compile-log-warning-function.
9324 2017-10-03  João Távora  <joaotavora@gmail.com>
9326         Tweak Flymake autoloads and dependencies
9328         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
9329         flymake-diagnostic-functions here.
9331         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
9332         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
9333         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
9334         Autoload.  (flymake-elisp-setup-backends): Remove.
9336         * lisp/progmodes/flymake.el: Add some top-level comments.
9337         (flymake-make-diagnostic)
9338         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
9340         Where to fixup this shit?
9342 2017-10-03  João Távora  <joaotavora@gmail.com>
9344         Capitalize "Flymake" in docstrings and comments
9346         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
9347         (flymake-elisp-setup-backends): Capitalize "Flymake"
9349         * lisp/progmodes/flymake-proc.el:
9350         (flymake-proc-reformat-err-line-patterns-from-compile-el)
9351         (flymake-proc--panic, flymake-proc-legacy-flymake)
9352         (flymake-start-syntax-check, flymake-proc-compile)
9353         (define-obsolete-variable-alias): Capitalize "Flymake"
9355         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
9356         (flymake-make-diagnostic, flymake-delete-own-overlays)
9357         (flymake-diagnostic-functions)
9358         (flymake-diagnostic-types-alist, flymake-is-running)
9359         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
9360         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
9362 2017-10-03  João Távora  <joaotavora@gmail.com>
9364         Flymake backends can report multiple times per check
9366         Rewrote a significant part of the Flymake backend API.  Flymake now
9367         ignores the return value of backend functions: a function can either
9368         returns or errors.  If it doesn't error, a backend is no longer
9369         constrained to call REPORT-FN exactly once.  It may do so any number
9370         of times, cumulatively reporting diagnostics.  Flymake keeps track of
9371         outdated REPORT-FN instances and disconsiders obsolete reports.
9372         Backends should avoid reporting obsolete data by canceling any
9373         ongoing processing at every renewed call to the backend function.
9375         Consolidated flymake.el internal data structures to require less
9376         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
9377         new semantics.
9379         Adapted and simplified the implementation of elisp and legacy
9380         backends, fixing potential race conditions when calling backends in
9381         rapid succession.
9383         Added a new test for a backend that calls REPORT-FN multiple
9384         times.  Simplify test infrastructure.
9386         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
9387         (flymake-elisp-byte-compile): Error instead of returning nil
9388         if not in emacs-lisp-mode.
9389         (flymake-elisp--byte-compile-process): New buffer-local variable.
9390         (flymake-elisp-byte-compile): Mark (and kill) previous process
9391         obsolete process before starting a new one.  Don't report if
9392         obsolete process.
9394         * lisp/progmodes/flymake-proc.el
9395         (flymake-proc--current-process): New buffer-local variable.
9396         (flymake-proc--processes): Remove.
9397         (flymake-proc--process-filter): Don't bind
9398         flymake-proc--report-fn.
9399         (flymake-proc--process-sentinel): Rewrite.  Don't report if
9400         obsolete process.
9401         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
9402         previous process obsolete process before starting a new
9403         one.  Integrate flymake-proc--start-syntax-check-process
9404         helper.
9405         (flymake-proc--start-syntax-check-process): Delete.
9406         (flymake-proc-stop-all-syntax-checks): Don't use
9407         flymake-proc--processes, iterate buffers.
9408         (flymake-proc-compile):
9410         * lisp/progmodes/flymake.el (subr-x): Require it
9411         explicitly.
9412         (flymake-diagnostic-functions): Reword docstring.
9413         (flymake--running-backends, flymake--disabled-backends)
9414         (flymake--diagnostics-table): Delete.
9415         (flymake--backend-state): New buffer-local variable and new defstruct.
9416         (flymake--with-backend-state, flymake--collect)
9417         (flymake-running-backends, flymake-disabled-backends)
9418         (flymake-reporting-backends): New helpers.
9419         (flymake-is-running): Use flymake-running-backends.
9420         (flymake--handle-report): Rewrite.
9421         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
9422         buffer or not at all.
9423         (flymake--disable-backend, flymake--run-backend): Rewrite.
9424         (flymake-start): Rewrite.
9425         (flymake-mode): Set flymake--backend-state.
9426         (flymake--mode-line-format): Rewrite.
9428         * test/lisp/progmodes/flymake-tests.el
9429         (flymake-tests--wait-for-backends): New helper.
9430         (flymake-tests--call-with-fixture): Use it.
9431         (included-c-header-files): Fix whitespace.
9432         (flymake-tests--diagnose-words): New helper.
9433         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
9434         (flymake-tests--assert-set): Use quote.
9435         (recurrent-backend): New test.
9437 2017-10-03  João Távora  <joaotavora@gmail.com>
9439         Flymake uses proper idle timers
9441         Also, flymake-no-changes-timeout can be set to nil to disable
9442         automatic periodic checks.  But even in that situation the idle timer
9443         still runs at a reduced rate to detect changes in the variable and
9444         revert that decision.
9446         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
9447         (flymake-last-change-time): Delete.
9448         (flymake--schedule-timer-maybe): New helper.
9449         (flymake-after-change-function): Use it.
9450         (flymake-on-timer-event): Delete
9451         (flymake-mode): Don't scheduler timer.
9453 2017-10-03  João Távora  <joaotavora@gmail.com>
9455         Flymake variable flymake-diagnostic-functions now a special hook
9457         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
9458         flymake-diagnostic-functions.
9460         * lisp/progmodes/flymake-elisp.el
9461         (flymake-elisp-setup-backends): Use add-hook.
9463         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
9464         Revise docstring.
9465         (flymake-start): Use run-hook-wrapped.
9467 2017-10-03  João Távora  <joaotavora@gmail.com>
9469         Batch of minor Flymake cleanup actions agreed to with Stefan
9471         Discussed with Stefan, in no particular order
9473         - Remove aliases for symbols thought to be internal to flymake-proc.el
9474         - Don’t need :group in defcustom and defface in flymake.el
9475         - Fix docstring of flymake-make-diagnostic
9476         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
9477         - Mark overlays with just the property ’flymake, not ’flymake-overlay
9478         - Tune flymake-overlays for performance
9479         - Make flymake-mode-on and flymake-mode-off obsolete
9480         - Don’t use hash-table-keys unless necessary.
9481         - Copyright notice in flymake-elisp.
9483         Added some more
9485         - Clarify docstring of flymake-goto-next-error
9486         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
9487         - Prevent compilation warnings in flymake-proc.el
9488         - Remove doctring from obsolete aliases
9490         Now the changelog:
9492         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
9494         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
9495         (flymake-proc-diagnostic-type-pred)
9496         (flymake-proc-default-guess)
9497         (flymake-proc--get-file-name-mode-and-masks): Move up to
9498         beginning of file to shoosh compiler warnings
9499         (define-obsolete-variable-alias): Delete many obsolete aliases.
9501         * lisp/progmodes/flymake.el (flymake-error-bitmap)
9502         (flymake-warning-bitmap, flymake-note-bitmap)
9503         (flymake-fringe-indicator-position)
9504         (flymake-start-syntax-check-on-newline)
9505         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
9506         (flymake-start-syntax-check-on-find-file, flymake-log-level)
9507         (flymake-wrap-around, flymake-error, flymake-warning)
9508         (flymake-note): Don't need :group in these defcustom and defface.
9509         (flymake--run-backend): Clarify comment
9510         (flymake-mode-map): Remove.
9511         (flymake-make-diagnostic): Fix docstring.
9512         (flymake--highlight-line, flymake--overlays): Identify flymake
9513         overlays with just ’flymake.
9514         (flymake--overlays): Reverse order of invocation for
9515         cl-remove-if-not and cl-sort.
9516         (flymake-mode-on)
9517         (flymake-mode-off): Make obsolete.
9518         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
9519         (flymake-diagnostic-functions): Clarify keyword arguments in
9520         docstring.
9522         Maybe squash in that one where I remove many obsoletes
9524 2017-10-03  João Távora  <joaotavora@gmail.com>
9526         Explicitly add a(n empty) keymap for Flymake
9528         Too early to decide what will be in it, if anything.  Though "M-n" and
9529         "M-p" would be great.
9531         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
9533 2017-10-03  João Távora  <joaotavora@gmail.com>
9535         Flymake uses some new fringe bitmaps
9537         Also fix behavior whereby flymake wouldn't react to a change in the
9538         variable.
9540         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
9541         (flymake-warning-bitmap): Update bitmaps.
9542         (flymake-note-bitmap): New defcustom.
9543         (flymake-double-exclamation-mark): New bitmap.
9544         (flymake-error, flymake-warning, flymake-note)
9545         (flymake--highlight-line): 'bitmap property must be a symbol.
9546         Also set default face to flymake-error.
9547         (flymake--fringe-overlay-spec): Bitmap property can be a
9548         variable symbol.
9550 2017-10-03  João Távora  <joaotavora@gmail.com>
9552         Remove old flymake-display-err-menu-for-current-line, it's useless
9554         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
9556         * lisp/progmodes/flymake-ui.el
9557         (flymake-popup-current-error-menu): Remove.
9559 2017-10-03  João Távora  <joaotavora@gmail.com>
9561         Treat Flymake errors as just another type of diagnostic
9563         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
9564         (flymake--handle-report, flymake-popup-current-error-menu):
9565         Don't use it.
9567 2017-10-03  João Távora  <joaotavora@gmail.com>
9569         Fix three Flymake bugs when checking C header files
9571         The first of these problems is longstanding: if an error-less B.h is
9572         included from error-ridden A.h, flymake's legacy parser will panic
9573         (and disable itself) since it sees a non-zero exit for a clean file.
9574         To fix this, recommend returning 'true' in the documentation for the
9575         check-syntax target.
9577         Another problem was introduced by the parser rewrite.  For error
9578         patterns spanning more than one line, point may be left in the middle
9579         of a line and thus render other patterns useless.  Those patterns were
9580         written for the old line-by-line parser.  To make them useful again,
9581         move to the beginning of line in those situations.
9583         The third problem was also longstanding and happened on newer GCC's:
9584         The "In file included from" prefix confused
9585         flymake-proc-get-real-file-name.  Fix this.
9587         Also updated flymake--diag-region to fallback to highlighting a full
9588         line less often.
9590         Add automatic tests to check this.
9592         * lisp/progmodes/flymake-proc.el
9593         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
9594         accidentally spans more than one line.  Don't create
9595         diagnostics without error messages.
9596         (flymake-proc-real-file-name-considering-includes): New
9597         helper.
9598         (flymake-proc-allowed-file-name-masks): Use it.
9600         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
9601         argument explicitly optional.  Only fall back to full line in extreme
9602         cases.
9604         * test/lisp/progmodes/flymake-tests.el
9605         (included-c-header-files): New test.
9606         (different-diagnostic-types): Update.
9608         * test/lisp/progmodes/flymake-resources/Makefile
9609         (check-syntax): Always return success (0) error code.
9610         (CC_OPTS): Add -Wextra
9612         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
9613         (main): Rewrite comments.
9615         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9616         Include some dummy header files.
9618         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
9620         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
9622         * doc/misc/flymake.texi (Example---Configuring a tool called
9623         via make): Recommend adding "|| true" to the check-syntax target.
9625 2017-10-03  João Távora  <joaotavora@gmail.com>
9627         Add interactive flymake-start function
9629         * lisp/progmodes/flymake.el (flymake-on-timer-event)
9630         (flymake-after-change-function, flymake-mode): Call
9631         flymake-start.
9632         (flymake-start): Rename from flymake--start-syntax-check.
9634 2017-10-03  João Távora  <joaotavora@gmail.com>
9636         A couple of Flymake backends for emacs-lisp-mode
9638         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
9639         automatically, but it affects emacs-lisp-mode-hook so that
9640         flymake-diagnostic-functions is setup with a suitable buffer-local
9641         value.  The variable flymake-diagnostic-funtions in every live
9642         emacs-lisp-mode buffer is also adjusted.
9644         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
9646         * lisp/progmodes/flymake-elisp.el: New file.
9648 2017-10-03  João Távora  <joaotavora@gmail.com>
9650         Fancy Flymake mode-line construct displays status
9652         Imitates compilation-mode's mode-line a bit, and uses its faces.
9654         * lisp/progmodes/flymake.el
9655         (flymake-error, flymake-warning, flymake-note): Add
9656         mode-line-face to these flymake error types.
9657         (flymake-note): Notes don't need a noisy fringe bitmap.
9658         (flymake-lighter): Delete.
9659         (flymake--update-lighter): Delete.
9660         (flymake--mode-line-format): New function and variable.
9661         (flymake--diagnostics-table): New buffer-local variable.
9662         (flymake--handle-report): Don't update "lighters".  Affect
9663         flymake--diagnostics-table.
9664         (flymake--run-backend): Init flymake--diagnostics-table for backend.
9665         (flymake-mode): Use flymake--mode-line-format.
9666         (flymake-mode): Don't update lighter.
9667         (flymake--highlight-line): Be more careful when overriding a
9668         nil default overlay property.
9670 2017-10-03  João Távora  <joaotavora@gmail.com>
9672         Tweak Flymake commands flymake-goto-[next/prev]-error
9674         Add filters, useful for backends like the upcoming
9675         flymake-elisp-checkdoc backend, for example, which litters everything
9676         with low-priority notes.
9678         Also re-implement wraparound for flymake-goto-next-error. Manual
9679         mentions this, so it's probably a good idea to keep it.  Added a new
9680         customization variable flymake-wrap-around to control it.
9682         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
9683         (flymake-goto-next-error): Accept FILTER argument.
9684         (flymake-wrap-around): New variable.
9685         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
9687         * test/lisp/progmodes/flymake-tests.el
9688         (different-diagnostic-types, dummy-backends): Pass FILTER to
9689         flymake-goto-prev-error.
9690         (different-diagnostic-types)
9691         (dummy-backends): Use flymake-wrap-around.
9693 2017-10-03  João Távora  <joaotavora@gmail.com>
9695         Flymake's flymake-proc.el backend slightly easier to debug
9697         Misc cleanup in flymake-proc.el
9699         Improve description of what this file contains.
9701         Better name for the backend function.  Fix the case where it is run
9702         interactively.
9704         Keep the output buffer alive iff the external process panics.
9706         * lisp/progmodes/flymake-proc.el
9707         (flymake-proc-legacy-flymake): Rename from
9708         flymake-proc-start-syntax-check.  Allow running interactively.
9709         (flymake-start-syntax-check): Obsolete alias for
9710         flymake-proc-legacy-flymake.
9711         (flymake-proc-start-syntax-check): Delete.
9712         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
9713         (flymake-proc--process-sentinel): Keep output buffer alive.
9714         Clarify with comments.
9715         (flymake-proc--diagnostics-for-pattern)
9716         (flymake-proc--process-sentinel)
9717         (flymake-proc--safe-delete-directory)
9718         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
9720 2017-10-03  João Távora  <joaotavora@gmail.com>
9722         Simplify Flymake logging and erroring
9724         Use display-warning and a dedicated *Flymake log* buffer.
9726         To ease readability, flymake log messages are now prefixed with a
9727         common prefix and the buffer that originated them.
9729         Some situations of over-zealous logging are fixed.
9731         Use byte-compiler info, if available, to determine whence the
9732         flymake-related log message is coming.
9734         * lisp/progmodes/flymake-proc.el
9735         (flymake-proc--diagnostics-for-pattern): Improve log message.
9736         (flymake-proc--panic): Always flymake-log an error
9737         (flymake-proc--safe-delete-file)
9738         (flymake-proc--safe-delete-directory):
9739         Downgrade warning
9740         (flymake-proc-start-syntax-check): Simplify slightly.
9741         (flymake-proc--start-syntax-check-process): Simplify.
9742         (flymake-proc--init-find-buildfile-dir)
9743         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9744         No need to warn twice.
9746         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
9747         (flymake--log-1): New helper.
9748         (flymake-log-level): Deprecate.
9749         (flymake-error): New helper.
9750         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
9751         Use flymake-error.
9752         (flymake-on-timer-event)
9753         (flymake--handle-report, flymake--disable-backend)
9754         (flymake--run-backend, flymake-start, flymake-mode-on)
9755         (flymake-mode-off, flymake-after-change-function)
9756         (flymake-after-save-hook, flymake-find-file-hook): Adjust
9757         flymake-log calls.
9759         * test/lisp/progmodes/flymake-tests.el
9760         (flymake-tests--call-with-fixture): Only log errors.
9762 2017-10-03  Philipp Stephani  <phst@google.com>
9764         Work around deprecation of gtk_style_context_get_background_color
9766         * src/gtkutil.c (xg_check_special_colors): Replace call to
9767         gtk_style_context_get_background_color with its definition.
9769 2017-10-03  João Távora  <joaotavora@gmail.com>
9771         New Flymake API variable flymake-diagnostic-functions
9773         Lay groundwork for multiple active backends in the same buffer.
9775         Backends are lisp functions called when flymake-mode sees fit.  They
9776         are responsible for examining the current buffer and telling
9777         flymake.el, via return value, if they can syntax check it.
9778         Backends should return quickly and inexpensively, but they are also
9779         passed a REPORT-FN argument which they may or may not call
9780         asynchronously after performing more expensive work.
9782         REPORT-FN's calling convention stipulates that a backend calls it with
9783         a list of diagnostics as argument, or, alternatively, with a symbol
9784         denoting an exceptional situation, usually some panic resulting from a
9785         misconfigured backend.  In keeping with legacy behavior,
9786         flymake.el's response to a panic is to disable the issuing backend.
9788         The flymake--diag object representing a diagnostic now also keeps
9789         information about its source backend.  Among other uses, this allows
9790         flymake to selectively cleanup overlays based on which backend is
9791         updating its diagnostics.
9793         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
9794         New dynamic variable.
9795         (flymake-proc--process): New variable.
9796         (flymake-can-syntax-check-buffer): Remove.
9797         (flymake-proc--process-sentinel): Simplify.  Use
9798         unwind-protect.  Affect flymake-proc--processes here.
9799         Bind flymake-proc--report-fn.
9800         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
9801         (flymake-proc--post-syntax-check): Delete
9802         (flymake-proc-start-syntax-check): Take mandatory
9803         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
9804         (flymake-proc--process-sentinel): Rewrite and simplify.
9805         (flymake-proc--panic): New helper.
9806         (flymake-proc--start-syntax-check-process): Record report-fn
9807         in process.  Use flymake-proc--panic.
9808         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
9809         flymake-proc--processes here.  Record interruption reason.
9810         (flymake-proc--init-find-buildfile-dir)
9811         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9812         Use flymake-proc--panic.
9813         (flymake-diagnostic-functions): Add
9814         flymake-proc-start-syntax-check.
9815         (flymake-proc-compile): Call
9816         flymake-proc-stop-all-syntax-checks with a reason.
9818         * lisp/progmodes/flymake.el (flymake-backends): Delete.
9819         (flymake-check-was-interrupted): Delete.
9820         (flymake--diag): Add backend slot.
9821         (flymake-delete-own-overlays): Take optional filter arg.
9822         (flymake-diagnostic-functions): New user-visible variable.
9823         (flymake--running-backends, flymake--disabled-backends): New
9824         buffer-local variables.
9825         (flymake-is-running): Now a function, not a variable.
9826         (flymake-mode-line, flymake-mode-line-e-w)
9827         (flymake-mode-line-status): Delete.
9828         (flymake-lighter):  flymake's minor-mode "lighter".
9829         (flymake-report): Delete.
9830         (flymake--backend): Delete.
9831         (flymake--can-syntax-check-buffer): Delete.
9832         (flymake--handle-report, flymake--disable-backend)
9833         (flymake--run-backend, flymake--run-backend):  New helpers.
9834         (flymake-make-report-fn): Make a lambda.
9835         (flymake--start-syntax-check): Iterate
9836         flymake-diagnostic-functions.
9837         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
9838         flymake--running-backends and flymake--disabled-backends.
9839         (flymake-find-file-hook): Simplify.
9841         * test/lisp/progmodes/flymake-tests.el
9842         (flymake-tests--call-with-fixture): Use flymake-is-running the
9843         function.  Check if flymake-mode already active before activating it.
9844         Add a thorough test for flymake multiple backends
9846         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
9847         Don't use condition-case-unless-debug, use condition-case
9849         * test/lisp/progmodes/flymake-tests.el
9850         (flymake-tests--assert-set): New helper macro.
9851         (dummy-backends): New test.
9853 2017-10-03  João Távora  <joaotavora@gmail.com>
9855         More Flymake cleanup before advancing to backend redesign
9857         Diagnostics are reported for buffers, not necessarily files.  It’s the
9858         backend’s responsibility to compute the buffer where the diagnostic is
9859         applicable.  For now, this has to match the buffer where flymake-mode
9860         is active and which is at the origin of the backend call.
9862         flymake.el knows nothing about line/column diagnostics (except for
9863         backward-compatible flymake-ler-make-ler, which must yet be tested).
9864         It’s also the backend’s reponsibility to compute a BEG and END
9865         positions for the diagnostic in the relevant buffer.
9867         * lisp/progmodes/flymake-proc.el
9868         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
9869         region here.  Check file buffer here.
9870         (flymake-proc--process-sentinel): Don’t kill output buffer if
9871         high enough log level.
9873         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
9874         function.  (flymake--highlight-line): Diagnostic has region now.
9875         (flymake-popup-current-error-menu): Don’t add file and line numbers to
9876         already this silly menu.  (flymake--fix-line-numbers): Remove.
9877         (flymake-report): No need to fix diagnostics here.
9879 2017-10-03  João Távora  <joaotavora@gmail.com>
9881         Protect Flymake's eager checks against commands like fill-paragraph
9883         If flymake-start-syntax-check-on-newline is t, check should start as
9884         soon as a newline is seen by after-change-functions.  But don't rush
9885         it: since the buffer state might not be final, we might end up with
9886         invalid diagnostic regions after some commands silently insert and
9887         delete newlines (looking at you, fill-paragraph).
9889         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
9890         `deferred' to flymake--start-syntax-check.
9891         (flymake--start-syntax-check): Take optional `deferred' arg.
9893 2017-10-03  João Távora  <joaotavora@gmail.com>
9895         Flymake highlights GCC info/notes as detected by flymake-proc.el
9897         * lisp/progmodes/flymake-proc.el
9898         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
9899         honour more sophisticated flymake-proc-diagnostic-type-pred.
9900         (flymake-warning-re): Is now an obsolete alias for
9901         flymake-proc-diagnostic-type-pred.
9902         (flymake-proc-diagnostic-type-pred): Rename and augment from
9903         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
9904         Delete.
9906         * lisp/progmodes/flymake.el (flymake-note): New face.
9907         (flymake-diagnostic-types-alist): Simplify.
9908         (flymake-note): New overlay category.
9909         (flymake--lookup-type-property): Only lookup single keys, not lists.
9910         (flymake--diag-errorp): Rewrite.
9911         (flymake--highlight-line): Use flymake--lookup-type-property.
9913         * test/lisp/progmodes/flymake-tests.el
9914         (different-diagnostic-types): Rename from errors-and-warnings.
9915         Check notes.
9916         (flymake-tests--call-with-fixture): Use
9917         flymake-proc-diagnostic-type-pred.
9919 2017-10-03  João Távora  <joaotavora@gmail.com>
9921         Flymake checks file names before considering diagnostics
9923         The error patterns for gcc picked up errors for the Makefile itself,
9924         for example.  These shouldn't count as actual errors.
9926         * lisp/progmodes/flymake.el (flymake-report): Check
9927         matching file names.
9929 2017-10-03  João Távora  <joaotavora@gmail.com>
9931         Echo Flymake error messages when navigating errors interactively
9933         Perhaps binding M-n and M-p to flymake-goto-next-error and
9934         flymake-goto-prev-error also wouldn't be a bad idea.
9936         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
9937         target overlay's help-echo.
9939 2017-10-03  João Távora  <joaotavora@gmail.com>
9941         Add a new Flymake test for multiple errors and warnings
9943         * test/lisp/progmodes/flymake-tests.el
9944         (flymake-tests--call-with-fixture): Save excursion.
9945         (errors-and-warnings): New test.
9947         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9948         New test fixture.
9950 2017-10-03  João Távora  <joaotavora@gmail.com>
9952         Flymake warning face easier to distinguish
9954         A orange wavy underline is very hard to tell from a red wavy
9955         underline.
9957         * lisp/progmodes/flymake.el (flymake-warning): Change color to
9958         "deep sky blue"
9960 2017-10-03  João Távora  <joaotavora@gmail.com>
9962         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
9964         Column numbers are not a great way of marking diagnostic regions, but
9965         that's probably all that can be expected from the flymake-proc.el
9966         backend.  For now, try (end-of-thing 'sexp) to discover the
9967         diagnostic's end position.
9969         * lisp/progmodes/flymake-proc.el ()
9970         (flymake-proc-err-line-patterns): Also parse column numbers,
9971         if available, for gcc/javac warnings.
9973 2017-10-03  João Távora  <joaotavora@gmail.com>
9975         New Flymake variable flymake-diagnostic-types-alist and much cleanup
9977         A new user-visible variable is introduced where different diagnostic
9978         types can be categorized.  Flymake backends can also contribute to
9979         this variable.  Anything that doesn’t match an existing error type
9980         is considered.
9982         The variable’s alists are used to propertize the overlays pertaining
9983         to each error type.  The user can override the built-in properties by
9984         either by modifying the alist, or by modifying the properties of a
9985         special "category" symbol, named by the `flymake-category' entry in
9986         the alist.
9988         The `flymake-category' entry is especially useful for, say, the author
9989         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
9990         should behave like notes, except with no fringe bitmap:
9992            (add-to-list 'flymake-diagnostic-types-alist
9993                         '(:foo-note
9994                           . ((flymake-category . flymake-note)
9995                              (bitmap . nil))))
9997         For essential properties like `severity', `priority', etc, a default
9998         value is produced.  Some properties like `evaporate' cannot be
9999         overriden.
10001         * lisp/progmodes/flymake.el (flymake--diag): Rename from
10002         flymake-ler.
10003         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
10004         (flymake-ler-errorp): Rewrite using flymake--severity.
10005         (flymake--place-overlay): Delete.
10006         (flymake--overlays): Now a cl-defun with &key args.  Document.
10007         Use `overlays-at' if BEG is non-nil and END is nil.
10008         (flymake--lookup-type-property): New helper.
10009         (flymake--highlight-line): Rewrite.
10010         (flymake-diagnostic-types-alist): New API variable.
10011         (flymake--diag-region)
10012         (flymake--severity, flymake--face)
10013         (flymake--fringe-overlay-spec): New helper.
10014         (flymake-popup-current-error-menu): Use new flymake-overlays.
10015         (flymake-popup-current-error-menu, flymake-report): Use
10016         flymake--diag-errorp.
10017         (flymake--fix-line-numbers): Use flymake--diag-line.
10018         (flymake-goto-next-error): Pass :key to flymake-overlays
10020         * lisp/progmodes/flymake-proc.el
10021         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
10023 2017-10-03  João Távora  <joaotavora@gmail.com>
10025         Refactor Flymake tests in preparation for more tests
10027         Introduce a slightly more generic fixture macro.
10029         Also make flymake-tests.el friendlier to interactive runs, by not
10030         killing buffers visited by the user.
10032         * test/lisp/progmodes/flymake-tests.el
10033         (flymake-tests--call-with-fixture): New helper from
10034         flymake-tests--current-face.  Don't kill file buffers already
10035         being visited before the test starts.
10036         (flymake-tests--with-flymake): New macro.
10037         (flymake-tests--current-face): Delete.
10038         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
10039         (warning-predicate-rx-perl, warning-predicate-function-perl):
10040         Use flymake-test--with-flymake.
10042 2017-10-03  João Távora  <joaotavora@gmail.com>
10044         Allow running Flymake tests from interactive sessions
10046         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
10047         Expand to reasonable value if no
10048         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
10049         "weirdness" of bug 17647 with read-event.
10051 2017-10-03  João Távora  <joaotavora@gmail.com>
10053         Flymake diagnostics now apply to arbitrary buffer regions
10055         Make Flymake UI some 150 lines lighter
10057         Strip away much of the original implementation's complexity in
10058         manipulating objects representing diagnostics as well as creating and
10059         navigating overlays.
10061         Lay some groundwork for a more flexible approach that allows for
10062         different classes of diagnostics, not necessarily line-based.
10063         Importantly, one overlay per diagnostic is created, whereas the
10064         original implementation had one per line, and on it it concatenated
10065         the results of errors and warnings.
10067         This means that currently, an error and warning on the same line are
10068         problematic and the warning might be overlooked but this will soon be
10069         fixed by setting appropriate priorities.
10071         Since diagnostics can highlight arbitrary regions, not just lines, the
10072         faces were renamed.
10074         Tests pass and backward compatibility with interactive functions is
10075         maintained, but probably any third-party extension or customization
10076         relying on more than a trivial set of flymake.el internals has stopped
10077         working.
10079         * lisp/progmodes/flymake-proc.el
10080         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
10081         constructor syntax.
10083         * lisp/progmodes/flymake.el (flymake-ins-after)
10084         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
10085         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
10086         (flymake-ler-set-full-file, flymake-ler-set-line)
10087         (flymake-get-line-err-count, flymake-get-err-count)
10088         (flymake-highlight-err-lines, flymake-overlay-p)
10089         (flymake-make-overlay, flymake-region-has-flymake-overlays)
10090         (flymake-find-err-info)
10091         (flymake-line-err-info-is-less-or-equal)
10092         (flymake-add-line-err-info, flymake-add-err-info)
10093         (flymake-get-first-err-line-no)
10094         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
10095         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
10096         (flymake-goto-line, flymake-goto-next-error)
10097         (flymake-goto-prev-error, flymake-patch-err-text): Delete
10098         functions no longer used.
10099         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
10100         (flymake-report): Rewrite.
10101         (flymake-popup-current-error-menu): Rewrite.
10102         (flymake--highlight-line): Rename from
10103         flymake-highlight-line.  Call `flymake--place-overlay.
10104         (flymake--place-overlay): New function.
10105         (flymake-ler-errorp): New predicate.
10106         (flymake-ler): Simplify.
10107         (flymake-error): Rename from
10108         flymake-errline.
10109         (flymake-warning): Rename from flymake-warnline.
10110         (flymake-warnline, flymake-errline): Obsoletion aliases.
10112         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
10113         (warning-predicate-function-gcc, warning-predicate-rx-perl)
10114         (warning-predicate-function-perl): Use face `flymake-warning'.
10116 2017-10-03  João Távora  <joaotavora@gmail.com>
10118         Move symbols in flymake-proc.el to separate namespace
10120         Every symbol in this flymake now starts with the prefix flymake-proc-.
10122         Make obsolete aliases for (almost?) every symbol.
10124         Furthermore, many flymake-proc.el symbols are prefixed with
10125         "flymake-proc--", that is they were considered internal.
10127         Some customization variables, interactive functions, and other symbols
10128         considered useful to user customizations or third-party libraries are
10129         considered "public" or "external" and so use a "flymake-proc-" prefix.
10131         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
10133         * test/lisp/progmodes/flymake-tests.el
10134         (flymake-tests--current-face): Use
10135         flymake-proc-warning-predicate, not flymake-warning-predicate.
10137         * lisp/progmodes/flymake-proc.el
10138         (flymake-proc--get-project-include-dirs-function)
10139         (flymake-proc--get-project-include-dirs-imp)
10140         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
10141         (flymake-proc--find-make-buildfile)
10142         (flymake-proc--get-syntax-check-program-args)
10143         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
10144         (flymake-proc--init-find-buildfile-dir)
10145         (flymake-proc--get-full-nonpatched-file-name)
10146         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
10147         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
10148         (flymake-proc--temp-source-file-name)
10149         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
10150         (flymake-proc--start-syntax-check-process)
10151         (flymake-proc--compilation-is-running)
10152         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
10153         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
10154         (flymake-proc--clear-project-include-dirs-cache)
10155         (flymake-proc--project-include-dirs-cache)
10156         (flymake-proc--get-system-include-dirs)
10157         (flymake-proc--get-project-include-dirs)
10158         (flymake-proc--add-project-include-dirs-to-cache)
10159         (flymake-proc--get-project-include-dirs-from-cache)
10160         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
10161         (flymake-proc--process-filter) (flymake-proc--create-master-file)
10162         (flymake-proc--find-buffer-for-file)
10163         (flymake-proc--copy-buffer-to-temp-buffer)
10164         (flymake-proc--read-file-to-temp-buffer)
10165         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
10166         flymake-proc--check-include)
10167         (flymake-proc--check-patch-master-file-buffer)
10168         (flymake-proc--master-file-compare)
10169         (flymake-proc--find-possible-master-files)
10170         (flymake-proc--included-file-name, flymake-proc--same-files)
10171         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
10172         (flymake-proc--clear-buildfile-cache)
10173         (flymake-proc--add-buildfile-to-cache)
10174         (flymake-proc--get-buildfile-from-cache)
10175         (flymake-proc--find-buildfile-cache)
10176         (flymake-proc--get-real-file-name-function)
10177         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
10178         (flymake-proc--get-file-name-mode-and-masks)
10179         (flymake-proc--processes): Rename to internal symbol from
10180         flymake-proc- version.
10182 2017-10-03  João Távora  <joaotavora@gmail.com>
10184         Completely rewrite Flymake's subprocess output processing
10186         Instead of parsing and matching regexps line-by-line, insert
10187         subprocess output in a separate buffer and parse using
10188         `search-forward-regexp'.  This eventually enables multi-line error
10189         patterns and simplifies code all around.  Store per-check information
10190         in the subprocess using `process-get' and `process-put'.  Treat error
10191         messages, warnings, etc. more generically as "diagnostics".  Create
10192         these objects as soon as possible, reusing existing `flymake-ler'
10193         structure.  Fix some whitespace.
10195         * lisp/progmodes/flymake.el (cl-lib): Require also when
10196         loading.
10197         (flymake--fix-line-numbers): Rename from
10198         flymake-fix-line-numbers.  Simplify.
10199         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
10200         plain diagnostics list into alist format expected by
10201         flymake-highlight-err-lines.
10203         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
10204         process output and parse in dedicated output buffer.
10205         (flymake-proc--diagnostics-for-pattern): New helper function.
10206         (flymake-process-sentinel): Call flymake-post-syntax-check with
10207         collected diagnostics.  Kill output buffer.
10208         (flymake-post-syntax-check): Receive diagnostics as third argument.
10209         (flymake-parse-output-and-residual, flymake-new-err-info)
10210         (flymake-parse-residual, flymake-parse-err-lines)
10211         (flymake-split-output, flymake-proc-parse-line)
10212         (flymake-output-residual): Delete.
10213         (flymake-start-syntax-check-process): Use make-process.  Setup
10214         dedicated an output buffer
10216 2017-10-03  João Távora  <joaotavora@gmail.com>
10218         Flymake provides flymake-report re-entry point for backends
10220         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
10221         Simplify.  Call flymake-report.
10223         * lisp/progmodes/flymake.el (flymake-report): New function.
10225 2017-10-03  João Távora  <joaotavora@gmail.com>
10227         Split Flymake into flymake.el into flymake-proc.el (again!)
10229         After deciding that this work would continue on master only, which
10230         caused two commits named
10232            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
10234         and
10236            Revert "Add flymake-backends defcustom"
10238         to be added to the emacs-26 branch, further discussion reversed that
10239         decision.
10241            See:
10243              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
10244              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
10246         This means that those two commits MUST be merged to master AFTER ALL.
10248         flymke-proc.el contains the main syntax-checking backend, while
10249         flymake.el keeps mostly the UI part.
10251         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
10253         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
10255 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
10257         Update authors.el
10259         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
10260         (authors-renamed-files-alist): Additions.
10262 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
10264         Give more helpful messages for python completion setup failures
10266         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
10267         case the completion setup failed with some exception, print out the
10268         exception type and message.  If libedit is detected, raise an
10269         exception, since this is known to fail.
10271 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
10273         Fix the --without-x build
10275         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
10276         frame_parent only in GUI builds to avoid compilation errors in
10277         --without-x builds.  (Bug#28611)
10279 2017-10-02  Paul Eggert  <eggert@day>
10281         Fix customization of zoneinfo-style-world-list
10283         A customizable variable's initial value cannot depend on that of
10284         another customizable variable, since the variables are initialized
10285         in other than textual order.  Problem reported by N. Jackson
10286         (Bug#24291).
10287         * lisp/time.el (display-time-world-list): Default to t,
10288         a special value that expands to zoneinfo-style-word-list
10289         if that works, and to legacy-style-word-list otherwise.
10290         (time--display-world-list): New function.
10291         (display-time-world, display-time-world-timer): Use it.
10293 2017-10-02  Alan Mackenzie  <acm@muc.de>
10295         Fix a CC Mode brace stack cache bug.
10297         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
10298         c-beginning-of-current-token after a failing search operation, to ensure we
10299         don't cache a point inside a token.
10301 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10303         * etc/PROBLEMS: Document Bug#26638.
10305 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10307         Prefer HTTPS to HTTP for gnu.org
10309         This fixes some URLs I omitted from my previous pass,
10310         notably those in lists.gnu.org.  Although lists.gnu.org
10311         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
10312         * lisp/erc/erc.el (erc-official-location):
10313         * lisp/mail/emacsbug.el (report-emacs-bug):
10314         Use https:, not http:.
10316 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10318         Merge from Gnulib
10320         This is mostly to change http: to https: in licenses.
10321         * COPYING, build-aux/config.guess, build-aux/config.sub:
10322         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
10323         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
10324         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
10325         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
10326         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
10327         * msdos/COPYING, nt/COPYING, src/COPYING:
10328         Copy from Gnulib.
10330 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
10332         Keep eww buffer current when looking up CSS on MDN
10334         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
10335         current when looking up CSS documentation on MDN.  This fixes a bug
10336         where the eww buffer's content sometimes get mangled when switching
10337         buffers mid-render.
10339 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
10341         Workaround for faulty localtime() under macOS 10.6
10343         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
10344         'decode-time' on times later than year -2**31 under macOS 10.6.
10345         See Bug#27706.
10347 2017-10-01  Alan Mackenzie  <acm@muc.de>
10349         Doc amendment for syntax-ppss.
10351         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
10352         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
10353         buffer.  Final part of the fix for bug #22983.
10355 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
10357         Remove incorrect NEWS entry about 'find-library'
10359         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
10360         'find-library' taking a prefix argument to pop to a different
10361         window.  This behavior was added in "Allow a prefix argument to
10362         find-library to pop to a different window" (commit e1f2d14a), and
10363         then removed in "New commands: find-library-other-window,
10364         find-library-other-frame" (commit 021430f4).
10366 2017-10-01  Alan Mackenzie  <acm@muc.de>
10368         Remove inadvertent changes to syntax.texi in last commit.
10370         * doc/lispref/syntax.texi (Position Parse): revert changes.
10372 2017-10-01  Alan Mackenzie  <acm@muc.de>
10374         Amend documentation for text-quoting-style becoming a user option.
10376         * doc/lispref/control.texi (Signaling Errors):
10377         * doc/lispref/display.texi (Displaying Messages):
10378         * doc/lispref/strings.texi (Formatting Strings):
10379         Edit for brevity, farming out the details to the new
10380         Text Quoting Style node.
10381         * doc/lispref/help.texi (Text Quoting Style): New section.
10382         Move detailed discussion of text-quoting-style here.
10383         Add discussion about how to output grave accent and apostrophe in
10384         documentation and messages.  Adjust xrefs to point to this section
10385         when appropriate.
10386         * etc/NEWS: text-quoting-style semantics have not changed.
10388 2017-10-01  Alan Mackenzie  <acm@muc.de>
10390         Make the value nil in text-quoting-style mean what it does in Emacs 25.
10392         This is a partial reversion of yesterday's commit by the same author, which
10393         changed the meaning of nil and introduced the new value t.
10395         * src/doc.c (text_quoting_style, text-quoting-style)
10396         (internal--text-quoting-flag): Revert yesterday's changes.
10398         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
10400         * etc/NEWS: Amend the entry for text-quoting-style.
10402         * doc/lispref/control.texi (Signalling Errors)
10403         * doc/lispref/display.texi (Displaying Messages)
10404         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
10405         grave rather than nil to inhibit translation of quotes.
10407         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
10408         proposed new default, t.
10410 2017-10-01  Alan Mackenzie  <acm@muc.de>
10412         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
10414         A value of nil for text-quoting-style now means "no translation".  t means
10415         "Use curved quotes if displayable".
10417         * src/doc.c (text-quoting-style (function)): modify for new semantics.
10418         (text-quoting-style (variable)): Amend the doc string, set the default value
10419         to t.
10421         * lisp/cus-start.el: (top level): Create a customize entry for
10422         text-quoting-style in group display.
10424         * etc/NEWS: Amend the entry for text-quoting-style.
10426         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
10427         quotes to curved quotes, and how to influence or inhibit it.
10429         * doc/lispref/control.texi (Signalling Errors)
10430         * doc/lispref/display.texi (Displaying Messages)
10431         * doc/lispref/strings.texi (Formatting Strings): Describe binding
10432         text-quoting-style to nil to inhibit unwanted quote translation.
10434         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
10435         from a variable to a user option.  Describe its changed set of values.  State
10436         that it can be customized freely.
10438 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
10440         eshell.texi improvements
10442         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
10443         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
10444         (Aliases): Add $*, $1, $2, ... to the variable index.
10446 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
10448         Fix ns-win.el on GNUstep
10450         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
10451         don't try it when not using Cocoa.
10453 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
10455         Fix reference style in org.texi
10457         * doc/misc/org.texi (A Texinfo example): Fix reference style.
10459 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
10461         Improve handling of iconification of child frames (Bug#28611)
10463         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
10464         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
10465         (iconify_child_frame): New option.
10466         * lisp/cus-start.el (iconify-child-frame): Add customization
10467         properties.
10468         * doc/lispref/frames.texi (Child Frames): Describe new option
10469         `iconify-child-frame'.  Don't index "top-level frame" twice.
10471 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
10473         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
10475         It broke the established argument handling methods provided by eshell
10476         aliases (Bug#28568).
10477         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
10478         arguments in aliases.
10479         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
10480         ARGS.
10482 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
10484         Make "unsafe directory" error message more informative (Bug#865)
10486         * lisp/server.el (server-ensure-safe-dir): Produce a description for
10487         each "unsafe" condition.
10489 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
10491         Fix slot typecheck in eieio-persistent
10493         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
10494           An `or' form can specify multiple potential classes (or null) as
10495           valid types for a slot, but previously only the final element of the
10496           `or' was actually checked. Now returns all valid classes in the `or'
10497           form.
10498           (eieio-persistent-validate/fix-slot-value): Check if proposed value
10499           matches any of the valid classes.
10500         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
10501           (eieio-test-multiple-class-slot): Test this behavior.
10503 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
10505         Fix semantic-ia-fast-jump
10507         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
10508         Use `pop-to-buffer-same-window' (bug#28645).
10510 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
10512         Bind vc-region-history
10514         * lisp/vc/vc-hooks.el (vc-prefix-map):
10515         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
10516         `vc-insert-headers' (Bug#27644).
10517         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
10518         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
10519         'C-x v h' with `vc-insert-headers'.
10520         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
10522 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
10524         Exit macro definition on undefined keys
10526         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
10527         (Bug#28008)
10529 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
10531         Reset bidi-paragraph-direction on article rendering
10533         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
10534         bidi-paragraph-direction on article rendering.  (Bug#28454)
10536 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10538         Fix url-http use of url-current-object
10540         * lisp/url/url-http.el (url-http): Bind url-current-object before
10541         calling url-http-find-free-connection.  (Bug#28515)
10543 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
10545         Avoid assertions in vc-hg.el on MS-Windows
10547         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
10548         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
10549         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
10550         instead of relying on Unix file-name syntax.  This avoids
10551         assertion violations on MS-Windows.
10553 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10555         Improve documentation of 'copy-sequence'
10557         * src/fns.c (Fcopy_sequence):
10558         * doc/lispref/sequences.texi (Sequence Functions): Mention the
10559         exception when copying an empty sequence.  (Bug#28627)
10561 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10563         Minor update of ack.texi
10565         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
10566         contributions.
10568 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
10570         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
10572 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10574         Improve indexing of multi-file/buffer Isearch commands
10576         * doc/emacs/maintaining.texi (Identifier Search): Change wording
10577         of index entries to make them different from those for multi-file
10578         isearch commands.  (Bug#28584)
10579         * doc/emacs/search.texi (Other Repeating Search): Index the
10580         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
10581         each index entry close to its subject.
10583 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
10585         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
10587         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
10588         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
10589         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
10590         functions.
10591         (lcms-cam02-ucs): Refactor.
10592         (syms_of_lcms2): Declare new functions.
10593         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
10594         (lcms-jmh->cam02-ucs-silver): New tests.
10595         * etc/NEWS: Mention new functions.
10597 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10599         Fix uses of @kindex in the Emacs manual
10601         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
10602         * doc/emacs/mark.texi (Global Mark Ring)
10603         (Disabled Transient Mark):
10604         * doc/emacs/buffers.texi (Select Buffer):
10605         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
10606         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
10608 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10610         Merge from gnulib
10612         This incorporates:
10613         2017-09-28 string: code style
10614         2017-09-25 sys_types: update URL
10615         2017-09-23 install-sh: do not assume / = //
10616         2017-09-21 mktime: port to OpenVMS
10617         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
10618         * m4/sys_types_h.m4: Copy from Gnulib.
10619         * lib/gnulib.mk.in: Regenerate.
10621 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10623         Prefer HTTPS to HTTP for gnu.org
10625         This catches some URLs I missed in my previous scan,
10626         or perhaps were added after the scan.
10628 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10630         Wait for frame visibility with timeout in w32term too
10632         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
10633         variable.
10634         (x_make_frame_visible): Wait for frame to become visible according to
10635         its value.
10636         (input_signal_count): Remove.
10638 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10640         Bring back the busy wait after x_make_frame_visible (Bug#25521)
10642         But wait specfically for a MapNotify event, and only for a
10643         configurable amount of time.
10644         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
10645         variable.
10646         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
10647         (x_make_frame_visible): Call x_wait_for_event at the end.
10648         * etc/NEWS: Announce x_wait_for_event.
10650 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10652         Fix last doc string change in simple.el
10654         * lisp/simple.el (shell-command-saved-pos)
10655         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
10657 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10659         Revert "bug#28609: simple.el"
10661         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
10663 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10665         bug#28609: simple.el
10667         Correct grammar; also, call a pair a pair.
10669         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
10671 2017-09-29  Rasmus  <rasmus@gmx.us>
10673         Merge branch 'emacs-26' into scratch/org-mode-merge
10675 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
10677         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
10679         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
10680         above the `debugger' frame, rather than assuming there will be a
10681         `signal' frame.
10683 2017-09-28  Alan Third  <alan@idiocy.org>
10685         Revert "Fix build on macOS (bug#28571)"
10687         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
10689         Prematurely pushed.
10691 2017-09-28  Alan Third  <alan@idiocy.org>
10693         Fix build on macOS (bug#28571)
10695         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
10696         [DARWIN_OS]: Undefine.
10698 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
10700         Add tests for `css-current-defun-name'
10702         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
10703         (css-test-current-defun-name-nested)
10704         (css-test-current-defun-name-complex): New tests for
10705         `css-current-defun-name'.
10707 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
10709         In w32fullscreen_hook don't add decorations to undecorated frames
10711         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
10712         remove) decorations for undecorated frames.
10714 2017-09-28  João Távora  <joaotavora@gmail.com>
10716         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
10718         In other words, re-coalesce the two files,
10719         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
10720         into a single one, lisp/progmodes/flymake.el.
10722         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
10723         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
10724         are kept in place in the new lisp/progmodes/flymake.el.
10726         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
10728         Don't merge this back to master as development happening there builds
10729         upon this work. See also
10730         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
10732 2017-09-28  João Távora  <joaotavora@gmail.com>
10734         Revert "Add flymake-backends defcustom"
10736         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
10738         Don't merge this back to master as development happening there builds
10739         upon this work. See also
10740         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
10742 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10744         * src/editfns.c (styled_format): Fix typo in previous change.
10746 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10748         Avoid some unnecessary copying in Fformat etc.
10750         This patch is just for performance; it should not affect behavior.
10751         On my platform, it made the microbenchmark (format "%S" load-path)
10752         run about 45% faster.  It should also speed up calls like (message
10753         "%s" STRING).
10754         * src/callint.c (Fcall_interactively):
10755         * src/dbusbind.c (XD_OBJECT_TO_STRING):
10756         * src/editfns.c (Fmessage, Fmessage_box):
10757         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
10758         Use styled_format instead of Fformat or Fformat_message,
10759         to avoid unnecessary copying.
10760         * src/editfns.c (styled_format): New arg NEW_RESULT.
10761         All uses changed.  Reuse an input string if it has the
10762         right value and if !NEW_RESULT.
10763         * src/lisp.h (style_format): New decl.
10765 2017-09-26  John Wiegley  <johnw@newartisans.com>
10767         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
10769 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10771         bug#28609: simple.el
10773         Correct grammar; also, call a pair a pair.
10775 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10777         Use a separate syntax-ppss cache for narrowed buffers
10779         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
10780         New variable, to contain the data from `syntax-ppss-last' and
10781         `syntax-ppss-cache'.
10782         (syntax-ppss-cache, syntax-ppss-last): Remove.
10783         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
10784         (syntax-ppss-flush-cache): Flush both caches.
10785         (syntax-ppss--data): Return the appropriate last result and
10786         buffer cache for the current restriction.
10787         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
10789 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
10791         Improve python3-compatibility of fallback completion (Bug#28499)
10793         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
10794         inspect.getfullargspec instead of inspect.getargspec to avoid a
10795         deprecation warning on every usage of eldoc in python-mode.
10797 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10799         Fix subr-x-tests when running from elc
10801         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
10802         Use `eval' around the `should-error' cases.
10804 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10806         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
10808 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10810         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
10812         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
10813         variable alias for `sh-basic-offset'.
10814         (sh-mode, sh-smie--indent-continuation)
10815         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
10816         with `sh-basic-offset'.
10818 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10820         Fix loading of smie-config rules (Bug#24848)
10822         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
10823         instead of `setq-default'.
10824         (smie-config): Use `custom-initialize-set' instead of
10825         `custom-initialize-default' as the :initialize argument.
10827         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
10828         we call `smie-config-guess' so that the user will have a chance to
10829         find the correct docstring to consult.  Remove hedging comments
10830         regarding use of abnormal hooks.
10832 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10834         Reset default-directory inside *xref-grep* buffer
10836         * lisp/progmodes/xref.el (xref-collect-matches):
10837         Reset default-directory, too. (Bug#28575)
10839 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
10841         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
10842         code for smb.
10844 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10846         Loosen strict parsing requirement for desktop files
10848         There are other desktop-looking files, for instance those having to do
10849         with MIME typess, that would benefit from being able to be read by this
10850         function.  It helps to have some flexibility.
10851         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
10852         * test/lisp/xdg-tests.el: Remove a test.
10854 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10856         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
10858 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
10860         Fix documentation of `make-frame' and related variables and hooks
10862         * lisp/frame.el (before-make-frame-hook)
10863         (after-make-frame-functions, frame-inherited-parameters)
10864         (make-frame): Fix doc-strings.
10865         * doc/lispref/frames.texi (Creating Frames): Fix description
10866         of `make-frame' and related variables and hooks.
10868 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
10870         Accept new `always' value for option `buffer-offer-save'
10872         Also revert ee512e9a82
10874         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
10875           allows a third symbol value, `always'. A buffer where this option is
10876           set to `always' will always be offered for save by
10877           `save-some-buffers'.
10878           (save-some-buffers): Check the exact value of this buffer-local
10879           variable. No longer check the buffer name, or the value of
10880           `write-contents-functions'.
10881         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
10882         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
10883           names.
10884         * etc/NEWS: Mention in NEWS.
10886 2017-09-24  Alan Third  <alan@idiocy.org>
10888         Improve new NS scrolling variable names
10890         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
10891         'ns-use-mwheel-acceleration'.
10892         (ns-touchpad-scroll-line-height): Replace with
10893         'ns-mwheel-line-height'.
10894         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
10895         * etc/NEWS: Change variable names.
10897 2017-09-24  Philipp Stephani  <phst@google.com>
10899         Document 'replace-buffer-contents' in the manual.
10901         * doc/lispref/text.texi (Replacing): New node.
10903 2017-09-23  Alan Third  <alan@idiocy.org>
10905         Fix undecorated frame resizing issues on NS (bug#28512)
10907         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
10908         toolbar on undecorated frames.
10909         (EmacsView::initFrameFromEmacs): Group window flags correctly.
10911 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10913         Fix doc string of 'dired-listing-switches'
10915         * lisp/dired.el (dired-listing-switches): Fix the quoting
10916         example.  (Bug#28569)
10918 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10920         Documentation improvements for 'display-line-numbers'
10922         * doc/emacs/display.texi (Display Custom): Document a few more
10923         options for display-line-numbers.  (Bug#28533)  Fix a typo.
10925 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10927         Fix last change in bat-mode.el
10929         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
10930         change.  (Bug#28311)
10932 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10934         Fix restoring in GUI sessions desktop saved in TTY sessions
10936         * lisp/frameset.el (frameset-filter-font-param): New function.
10937         (frameset-persistent-filter-alist): Use it for processing the
10938         'font' frame parameter.  (Bug#17352)
10940 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10942         Improve syntax highlighting in bat-mode
10944         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
10945         font-locking of environment variables.  Suggested by Achim Gratz
10946         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
10948 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10950         Document the 'list-FOO' convention
10952         * doc/lispref/tips.texi (Coding Conventions): Document the
10953         list-FOO convention.
10955 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
10957         Expose viewing conditions in CAM02-UCS metric
10959         Also add tests from the colorspacious library.  Finally, catch an
10960         errant calculation, where degrees were not being converted to radians.
10961         * src/lcms.c (deg2rad, default_viewing_conditions):
10962         (parse_viewing_conditions): New functions.
10963         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
10964         the docstring and explain viewing conditions.  JCh hue is given in
10965         degrees and needs to be converted to radians.
10966         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
10967         API needlessly impure.
10968         * test/src/lcms-tests.el: Reword commentary.
10969         (lcms-rgb255->xyz): New function.
10970         (lcms-cri-cam02-ucs): Fix let-binding.
10971         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
10973 2017-09-21  Alan Third  <alan@idiocy.org>
10975         Revert "Set frame size to actual requested size (bug#18215)"
10977         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
10979         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
10981 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10983         Add tests for Edebug
10985         * test/lisp/emacs-lisp/edebug-tests.el: New file.
10986         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
10988 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10990         Catch more messages in ert-with-message-capture
10992         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
10993         messages from prin1, princ and print.
10994         (ert--make-message-advice): New function.
10995         (ert--make-print-advice): New function.
10997 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10999         Support setting region from secondary selection and vice versa
11001         * lisp/mouse.el (secondary-selection-exist-p): New function to
11002         allow callers to tell existence of the secondary selection
11003         in current buffer.
11004         (secondary-selection-to-region): New function to set
11005         beginning and end of the region from those of the secondary
11006         selection.
11007         (secondary-selection-from-region): New function to set
11008         beginning and end of the secondary selection from those of
11009         the region.  (Bug#27530)
11011         * etc/NEWS: Mention the new functions.
11013 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11015         Fix new copy-directory bug with empty dirs
11017         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
11018         (Bug#28483#34).  This is another bug that I introduced in my
11019         recent copy-directory changes.
11020         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
11021         * test/lisp/files-tests.el (files-tests--copy-directory):
11022         Test for this bug.
11024 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
11026         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
11028 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
11030         Fix 2 testsuite tests for MS-Windows
11032         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
11033         create files with "*" in their names.
11034         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
11035         results to MS-Windows build.  Reported by Fabrice Popineau
11036         <fabrice.popineau@gmail.com>.
11038 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
11040         Rename timer-list to list-timers
11042         * doc/emacs/anti.texi (Antinews):
11043         * doc/lispref/os.texi (Timers):
11044         * etc/NEWS:
11045         * lisp/emacs-lisp/timer-list.el:
11046         (timer-list-mode): Rename timer-list to list-timers.
11048 2017-09-19  Alan Third  <alan@idiocy.org>
11050         Provide native touchpad scrolling on macOS
11052         * etc/NEWS: Describe changes.
11053         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
11054         mouse-wheel-progressive-speed): Set to smarter values for macOS
11055         touchpads.
11056         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
11057         calculate scrolling for touchpads and mouse wheels.
11058         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
11059         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
11060         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
11061         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
11062         * lisp/mwheel.el (mwheel-scroll): Use line count.
11063         * lisp/subr.el (event-line-count): New function.
11065 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
11067         Fix MinGW64 build broken by recent MinGW64 import libraries
11069         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
11070         MinGW64 import libraries require that.  (Bug#28493)
11072         * src/Makefile.in: Adjust commentary to the new order of w32
11073         libraries.
11075 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
11077         Fix crashes in 'move-point-visually' in minibuffer windows
11079         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
11080         comparing against the last valid glyph_row of a window glyph
11081         matrix.  (Bug#28505)
11083 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
11085         * src/emacs.c (usage_message): Don't mention 'find-file'.
11087 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
11089         Fix a minor inaccuracy in the Emacs manual
11091         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
11092         'find-file', as the implementation has changed.  Reported by
11093         Everton J. Carpes <everton.carpes@gmail.com> in
11094         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
11096 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
11098         Fix errors in flyspell-post-command-hook
11100         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
11101         case of a nil Nth element of the language dictionary slot.  This
11102         avoids errors in 'flyspell-post-command-hook' when switching
11103         dictionaries with some spell-checkers.  (Bug#28501)
11105 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
11107         Work on Tramp's file-truename
11109         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
11110         Check also for symlinks.
11111         (tramp-sh-handle-file-truename): Move check for a symlink
11112         cycle to the end.  Do not blame symlinks which look like a
11113         remote file name.
11115         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
11117 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
11119         Fix bug with make-directory on MS-Windows root
11121         * lisp/files.el (files--ensure-directory): Treat any error, not
11122         just file-already-exists, as an opportunity to check whether DIR
11123         is already a directory (Bug#28508).
11125 2017-09-19  Tom Tromey  <tom@tromey.com>
11127         Fix log-view-diff-common when point is after last entry
11129         Bug#28466
11130         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
11131         entry, look at the previous revision.
11133 2017-09-18  Ken Brown  <kbrown@cornell.edu>
11135         Adapt fileio-tests--symlink-failure to Cygwin
11137         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
11138         [CYGWIN]: Skip the case of a symlink target starting with '\';
11139         this is treated specially on Cygwin.
11141 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
11143         Ignore buffers whose name begins with a space in save-some-buffers
11145         * lisp/files.el (save-some-buffers): Consider these buffers
11146           "internal", and don't prompt the user to save them.
11147         * doc/lispref/files.texi: Document.
11149 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
11151         Improve tramp-interrupt-process robustness
11153         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
11154         process has disappeared.
11156 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
11158         Minor Tramp doc update
11160         * doc/misc/tramp.texi (Frequently Asked Questions):
11161         Mention `vc-handled-backends'.
11163 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
11165         Fix gensym
11167         * lisp/subr.el (gensym): Actually implement the default prefix.
11168         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
11170 2017-09-18  Rasmus  <rasmus@gmx.us>
11172         Update Org to v9.1.1
11174         Please see etc/ORG-NEWS for major changes.
11176 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
11178         Cleanup in files-tests.el
11180         * test/lisp/files-tests.el (files-tests--make-directory)
11181         (files-tests--copy-directory): Cleanup temporary directories.
11183 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11185         Remove old cl-assert calls in 'newline'
11187         * lisp/simple.el (newline): Remove cl-assert calls
11188         that didn't seem to be helping us debug Bug#18913,
11189         and that caused problems as reported in Bug#28280.
11190         Suggested by Glenn Morris (Bug#28280#8).
11192 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11194         Avoid crash with C-g C-g in GC
11196         Problem reported by Richard Stallman (Bug#17406).
11197         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
11198         * src/term.c (tty_send_additional_strings):
11199         Use only safe accessors, to avoid crash when C-g C-g in GC.
11201 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11203         Fix format-time-string %Z bug with negative tz
11205         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
11206         numeric zone is negative (Bug#28746).
11207         * test/src/editfns-tests.el (format-time-string-with-zone):
11208         Add test for this bug.
11210 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11212         message-citation-line-format %Z is now tz name
11214         * etc/NEWS:
11215         * lisp/gnus/message.el (message-citation-line-format):
11216         Fix doc to match new behavior (Bug#28476).
11218 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
11220         Use doc-view or pdf-tools on any window-system
11222         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
11223         window-system.
11225 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11227         Fix bug with min and max and NaNs
11229         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
11230         mistakenly yielded 0.  Also, pacify GCC in a better way.
11231         * test/src/data-tests.el (data-tests-min): Test for the bug.
11233 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
11235         Fix recently-introduced copy-directory bug
11237         Problem reported by Andrew Christianson (Bug#28451):
11238         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
11239         destination directory if it does not exist, even if it is a
11240         directory name.  Simplify, and omit unnecessary test for an
11241         already-existing non-directory target, since make-directory
11242         diagnoses that for us now.
11243         * test/lisp/files-tests.el (files-tests--copy-directory):
11244         Test for this bug.
11246 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
11248         Merge from Gnulib
11250         This incorporates:
11251         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
11252         2017-09-13 all: Replace many more http URLs by https URLs
11253         * build-aux/config.guess, build-aux/config.sub:
11254         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
11255         * lib/allocator.h, lib/count-leading-zeros.h:
11256         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
11257         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
11258         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
11259         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
11260         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
11261         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
11262         Copy from Gnulib.
11263         * lib/gnulib.mk.in: Regenerate.
11265 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
11267         Fix compatibility problem in Tramp
11269         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
11271         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
11272         (top): Do not call `tramp-change-syntax' anymore.
11273         (tramp-compat-directory-name-p): New defalias.
11275         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
11276         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
11277         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11278         (tramp-smb-handle-copy-file): Use it.
11280         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
11281         Modify test.
11283 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
11285         Avoid GCC 7 compilation warning in eval.c
11287         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
11288         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
11289         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
11291 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
11293         Adapt Tramp version.  Do not merge
11295         * doc/misc/trampver.texi:
11296         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
11297         (customize-package-emacs-version-alist): Add Tramp version
11298         integrated in Emacs 26.1.
11300 2017-09-17  Tom Tromey  <tom@tromey.com>
11302         Search for Syntax section when viewing MDN
11304         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
11305         "Syntax" section.
11307 2017-09-17  Tom Tromey  <tom@tromey.com>
11309         Allow smerge-keep-current to work for empty hunks
11311         Bug#25555
11312         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
11313         match-end.
11314         * test/lisp/vc/smerge-mode-tests.el: New file.
11316 2017-09-17  Tom Tromey  <tom@tromey.com>
11318         Call vc-setup-buffer in vc-git-log-{in,out}going
11320         Bug#28427:
11321         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
11322         vc-setup-buffer.
11324 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
11326         Fix last change to textmodes/page-ext.el
11328         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
11329         while we build it (bug#28431).
11331 2017-09-16  Glenn Morris  <rgm@gnu.org>
11333         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
11335 2017-09-16  Glenn Morris  <rgm@gnu.org>
11337         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
11339         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
11341 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11343         Fix compilation warning in etags.c
11345         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
11346         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
11348 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
11350         Add lisp variable lcms-d65-xyz
11352         This serves as the default optional argument for functions in this
11353         library.
11354         * src/lcms.c (lcms-d65-xyz): New variable.
11355         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
11356         color1 -> color2.
11357         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
11358         (lcms-colorspacious-d65): New variable.
11360 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
11362         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
11364 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
11366         Avoid MinGW64 compiler warnings in unexw32.c
11368         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
11369         64-bit build.
11371 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11373         Start emacs-26 release branch
11375         * configure.ac:
11376         * nt/README.W32:
11377         * README:
11378         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
11380         * lisp/cus-edit.el (customize-changed-options-previous-release):
11381         Update value to "25.3".
11383 2017-09-16  Alan Mackenzie  <acm@muc.de>
11385         Cope better with C++ and Objective-C protection keywords in class declarations
11387         This fix fixes the fontification of a method inside a class at the time it is
11388         typed, when there is a protection keyword clause preceding it.
11390         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
11391         keywords.
11392         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
11393         clauses too eagerly.
11395         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
11396         lang defconsts and defvars.
11398         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
11399         keyword following a semicolon or brace, move forward over it before attempting
11400         to parse a type.
11402 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11404         Fix order of sorted overlays returned by 'overlays-at'
11406         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
11407         list of results, to have their order as per the documentation.
11408         (Bug#28390)
11410         * etc/NEWS: Mention the change in the behavior of overlays-at.
11412 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11414         Disable execution of unsafe Lisp by Enriched Text mode
11416         * src/xdisp.c (handle_display_spec): If the display property is
11417         wrapped in 'disable-eval' form, disable Lisp evaluation while
11418         processing this property.
11419         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
11420         If that argument is false, don't evaluate Lisp while processing
11421         display properties.
11423         * lisp/textmodes/enriched.el
11424         (enriched-allow-eval-in-display-props): New defcustom.
11425         (enriched-decode-display-prop): If
11426         enriched-allow-eval-in-display-props is nil, wrap the display
11427         property with 'disable-eval' to disable Lisp evaluation when the
11428         display property is processed for display.  (Bug#28350)
11429         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
11430         enriched text.
11432         * doc/lispref/display.texi (Display Property): Document the
11433         'disable-eval' wrapping of 'display' properties.
11434         * doc/emacs/text.texi (Enriched Properties): Document
11435         'enriched-allow-eval-in-display-props'.
11437         * etc/NEWS: Describe the security issues with Enriched Text mode
11438         and their solution.
11440 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11442         Avoid MinGW64 compilation warning in w32.c
11444         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
11446 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11448         Fix MS-Windows build broken by recent changes in lcms.c
11450         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
11451         and cmsxyY2XYZ function pointers.
11452         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
11453         cmsxyY2XYZ from liblcms2.
11454         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
11455         corresponding function pointers.
11456         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
11457         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
11459 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
11461         Avoid GCC 7 compilation warning in data.c
11463         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
11464         warnings.  Reported by Fabrice Popineau
11465         <fabrice.popineau@centralesupelec.fr>.
11467 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
11469         Add lcms-temp->white-point and initial tests
11471         * src/lcms.c (lcms-temp->white-point): New function.
11472         * test/src/lcms-tests.el: New file.
11474 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
11476         Use cl-print in timer list
11478         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
11479         for handling functions.
11480         (timer-list-mode): Capitalize major mode name.  Set bidi direction
11481         as in tabulated-list-mode.
11483 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11485         Make landscape layout with geometry package rather than a PostScript special.
11487         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
11488         default class option.
11489         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
11490         request to `cal-tex-insert-preamble' function call within the
11491         class option string.
11492         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
11493         to `cal-tex-insert-preamble' function, as it is default.
11494         (cal-tex-insert-preamble): Suppress landscape and size
11495         argument, and replace them by a class-options string
11496         argument. Do not insert any longer "\special{landscape}" in
11497         case of landscape layout, as the job is made by the geometry
11498         package.
11500 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11502         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
11504 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11506         One more attempt to avoid GCC 7 warnings in dispnew.c
11508         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
11509         eassert, to avoid compilation warnings about NULL pointer
11510         dereferences.
11512 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11514         Fix color-distance docstring
11516         Also feed the translated color to the metric argument.
11517         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
11518         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
11519         instead of the function's color arguments.
11521 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
11523         Improve Tramp behavior according to bug#27986
11525         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
11526         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
11527         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11528         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
11529         directory name when existing.  Use `file-name-as-directory'
11530         where appropriate.
11532 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11534         More JSON optimization
11536         Last I checked, inlining json-skip-whitespace didn't make much
11537         difference.  However, changing defsubsts to define-inline results
11538         in roughly 15% reduction in read time on a 200K file.
11539         * lisp/json.el (json-advance, json-peek, json-pop):
11540         (json-skip-whitespace): Inline with define-inline.
11541         (json-read-keyword): Don't use whitespace syntax.
11542         (json-add-to-object): Simpler condition.
11544 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11546         Avoid crashes due to invalid error forms from sentinels/filters
11548         * src/process.c (exec_sentinel_error_handler): Make sure the error
11549         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
11551 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11553         Avoid compilation warnings with GCC 7 on MS-Windows
11555         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
11556         (w32_read_socket): Initialize variables to shut up bogus
11557         compilation warnings from GCC 7.
11558         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
11559         to avoid compiler warnings about printing signed values using %x
11560         format spec.
11561         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
11562         compiler warning about possible NULL pointer dereference.
11563         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
11565 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11567         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
11569         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
11570         case only to avoid unused macros warning otherwise.
11572 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11574         In w32heap.c bump up DUMPED_HEAP_SIZE
11576         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
11577         to 13*1024*1024 for 32-bit non-wide-integer builds.
11579 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11581         Bind n,p in timer-list
11583         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
11584         to next- and previous-line, respectively.
11586 2017-09-14  Glenn Morris  <rgm@gnu.org>
11588         * lisp/net/tls.el (tls-program): Fix :version.
11590 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11592         * configure.ac (--with-lcms2, --without-lcms2): New options.
11594 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11596         Avoid 64-bit compilation warnings in unexw32.c
11598         * src/unexw32.c (pDWP): New macro.
11599         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
11600         pDWP for printing values that can be either 32-bit or 64-bit wide.
11602 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11604         Fix warnings about formats in printf-like functions on MS-Windows
11606         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
11607         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
11608         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
11609         for the details.
11610         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
11611         definition specific to MinGW64.
11612         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
11613         __mingw_printf__ in ANSI-compatible mode.
11615 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11617         Support lcms2 in MS-Windows builds
11619         * lisp/term/w32-win.el (dynamic-library-alist): Include
11620         association for the lcms2 library.
11622         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
11623         DEF_DLL_FN to define pointers to dynamically loaded lcms2
11624         functions.
11625         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
11626         (cmsCIECAM02Done): New macros.
11627         (init_lcms_functions, Flcms2_available_p): New functions.
11628         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
11629         init_lcms_functions.
11630         (syms_of_lcms2): Defsubr lcms2-available-p.
11631         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
11633         * configure.ac: Include lcms2 in the final report and in
11634         emacs_config_features.
11636         * nt/INSTALL:
11637         * nt/INSTALL.W64: Update with the information about lcms2 library.
11639 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11641         Port renameat_noreplace to openSUSE 12.3
11643         Problem reported by M. Nomiya in:
11644         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
11645         * src/sysdep.c (renameat_noreplace):
11646         Call renameat2 only if CYGWIN.
11648 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11650         Prefer HTTPS to FTP and HTTP in documentation
11652         Most of this change is to boilerplate commentary such as license URLs.
11653         This change was prompted by ftp://ftp.gnu.org's going-away party,
11654         planned for November.  Change these FTP URLs to https://ftp.gnu.org
11655         instead.  Make similar changes for URLs to other organizations moving
11656         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
11657         fsf.org when this works, as this will further help defend against
11658         man-in-the-middle attacks (for this part I omitted the MS-DOS and
11659         MS-Windows sources and the test tarballs to keep the workload down).
11660         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
11661         for now.
11663 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11665         Prefer HTTPS to HTTP for gnu.org
11667         This patch just changes code files; a followup companion patch
11668         (much larger) will affect the commentary.  This part is
11669         separated out to make it easier to review.
11670         * .dir-locals.el (change-log-mode):
11671         * lisp/org/org-info.el (org-info-other-documents)
11672         (org-info-map-html-url):
11673         * lisp/org/ox-html.el (org-html-creator-string):
11674         * lisp/startup.el (fancy-startup-text, fancy-about-text)
11675         (fancy-splash-head):
11676         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
11677         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
11678         Use HTTPS instead of HTTP.
11680 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
11682         Add tests for color.el
11684         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
11685         docstrings that RGB triplets should use four digits per component.
11686         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
11687         warning.
11689         * test/lisp/color-tests.el: New file.
11691 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11693         Make gnutls-verify-error work again with url-retrieve-synchronously
11695         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
11696         we're doing async connections (bug#26835).
11698         * lisp/url/url-parse.el (url): Add an asynchronous slot.
11700         * lisp/url/url.el (url-asynchronous): New variable.
11701         (url-retrieve-internal): Store the value.
11702         (url-retrieve-synchronously): Bind the variable.
11704 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11706         Improve backward compatibility of tramp-tests
11708         * test/lisp/net/tramp-tests.el (seq): Don't require.
11709         (tramp--test-emacs26-p): New defun.
11710         (tramp-test10-write-region, tramp-test11-copy-file)
11711         (tramp-test12-rename-file, tramp-test15-copy-directory)
11712         (tramp-test21-file-links): Use it.
11713         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
11715 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11717         * lisp/net/trampver.el (customize-package-emacs-version-alist):
11719         Add Tramp version integrated in Emacs 25.3.
11721 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11723         Add clarification to if-let* docstring
11725         Also make its behavior consistent with and-let* in that empty bindings
11726         results in success, not failure.
11727         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
11729 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11731         Make fully qualified domain names more fully qualified
11733         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
11734         system-name without any periods as a fully qualified domain name.
11736 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11738         Remove unused file lib/getopt_.h
11740         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
11741         on 2011-01-08, but I forgot to remove the old file.
11743 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11745         Remove "baroque" use of prefix argument from gensym
11747         'cl-gensym' was simply moved here, but let us take an opportunity to
11748         shed some historical baggage.
11749         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
11750         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
11751         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
11752         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
11754 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11756         Provide an lcms2 feature
11758         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
11760 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11762         Add lcms2 interface
11764         configure.ac: Add boilerplate for configuring and detecting liblcms2.
11765         etc/NEWS: Mention new configure option and color-distance change.
11766         src/Makefile.in: Add references to lcms.c and liblcms.
11767         src/emacs.c: Define lcms2 symbols.
11768         src/lcms.c: New file.
11769         src/lisp.h: Add declaration for lcms2.
11770         src/xfaces.c: Add optional METRIC argument.
11772 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11774         Add other D series white points and some simple conversions
11776         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
11777         constants.
11778         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
11779         (color-lch-to-lab): New functions.
11781 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11783         Permit non-integral color gradients
11785         * lisp/color.el (color-gradient): Float the step-number.
11787 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11789         Protect against malformed MIME messages that cause inf-loop (bugfix)
11791         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
11792         Protect against malformed MIME messages that cause inf-loop.
11794 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11796         Merge from Gnulib
11798         This incorporates:
11799         2017-09-13 all: prefer https: URLs
11800         This just changes http: to https: in comments,
11801         in files copied from Gnulib.
11803 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
11805         Call vc-resynch-buffer in vc-git-resolve-when-done
11807         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
11808         Call vc-resynch-buffer on the current file (bug#28121).
11809         Move its autoload to before this function.
11811 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
11813         Allow write-contents-functions to short-circuit buffer save
11815         Bug#28412
11817         * lisp/files.el (basic-save-buffer): Re-arrange function so that
11818           write-contents-functions are run earlier. If they return non-nil,
11819           consider the buffer saved without requiring the buffer to be
11820           visiting a file.
11821           (save-some-buffers): This function should consider any buffer with a
11822           buffer-local value for write-contents-functions eligible for
11823           saving.
11824         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
11825           test.
11826         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
11827         * etc/NEWS: And in NEWS.
11829 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11831         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
11833 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11835         Less chatter for ’make info/dir’
11837         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
11838         that an ordinary make says just "GEN info/dir" rather than
11839         also having a seemingly-unrelated mv line.
11841 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11843         Tweak Gnus doc re gnus-copy-file
11845         * doc/misc/gnus.texi (Saving Articles):
11846         Document behavior with directory name targets (Bug#27986).
11847         Problem reported by Katsumi Yamaoka in:
11848         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
11850 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11852         Update uses of if-let and when-let
11854         * lisp/dom.el (dom-previous-sibling):
11855         * lisp/emacs-lisp/package.el (package--with-work-buffer):
11856         (package--sort-deps-in-alist, package--sort-by-dependence):
11857         (package-install-from-archive, package-install):
11858         (package-menu-execute, package-menu--populate-new-package-list):
11859         * lisp/filenotify.el (file-notify--rm-descriptor):
11860         (file-notify--event-watched-file, file-notify--event-file-name):
11861         (file-notify--event-file1-name, file-notify-rm-watch):
11862         (file-notify-valid-p):
11863         * lisp/gnus/message.el (message-toggle-image-thumbnails):
11864         * lisp/gnus/nnimap.el (nnimap-request-move-article):
11865         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
11866         * lisp/mpc.el (mpc-format):
11867         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
11868         (eww-save-history):
11869         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
11870         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
11871         * lisp/svg.el (svg-remove):
11872         * lisp/textmodes/css-mode.el (css--named-color):
11873         (css--colon-inside-funcall):
11874         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
11875         (html-current-buffer-ids): Use if-let* and when-let* instead.
11877 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11879         Implement and-let*
11881         This also includes changes to if-let and when-let.  The single tuple
11882         special case is ambiguous, and binding a symbol to nil is not as
11883         useful as binding it to its value outside the lexical scope of the
11884         binding.  (Bug#28254)
11885         * etc/NEWS: Mention.
11886         * lisp/emacs-lisp/subr-x.el (internal--listify):
11887         (internal--build-binding-value-form): Extend to account for
11888         solitary symbols and (EXPR) items in binding varlist.
11889         (if-let*, when-let*): Nix single tuple case and incumbent
11890         bind-symbol-to-nil behavior.
11891         (and-let*): New macro.
11892         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
11893         they implicitly gain the new features without breaking existing code.
11894         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
11895         single-tuple special case, lack of binding solitary symbols to nil,
11896         and the introduction of uninterned symbols for (EXPR) bindings.  Add
11897         SRFI-2 test suite adapted to Elisp.
11899 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
11901         Fix minor typos in the Emacs manual
11903         * doc/emacs/text.texi (Org Organizer):
11904         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
11906 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11908         Merge Emacs 25.3 fixes
11910         The security patches released for Emacs 25.3 were less drastic
11911         than what we had immediately put into master.  Adjust master to
11912         match 25.3 (Bug#28350).
11913         * lisp/textmodes/enriched.el (enriched-translations):
11914         Re-enable FUNCTION and display translations that are safe.
11915         (enriched-handle-display-prop): Bring back.
11916         (enriched-decode-display-prop): Bring back, but disable
11917         the unsafe part.
11919 2017-09-12  Alan Mackenzie  <acm@muc.de>
11921         Don't match C++ template delims starting within a token.  FIxes bug #28418.
11923         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
11924         attempted match from the start of a token (in particular, "<<"), move to the
11925         next token rather than the nex character before searching for the next "<".
11927 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11929         Move gensym to core Elisp
11931         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
11932         after make-symbol.
11933         * etc/NEWS: Mention.
11934         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
11935         gensym-counter.
11936         (cl-gensym): Alias to gensym.
11937         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
11938         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
11939         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
11940         (ert--expand-should-1, ert--expand-should):
11941         (ert--should-error-handle-error):
11942         * lisp/emacs-lisp/generator.el (cps--gensym):
11943         * lisp/emacs-lisp/gv.el (setf):
11944         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
11945         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
11946         (pcase--funcall, pcase--u1): Use gensym.
11947         * lisp/subr.el (gensym-counter): New variable.
11948         (gensym): New function, assimilated from cl-lib.
11950 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11952         Fix cl-gentemp
11954         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
11955         (cl-gentemp): Use it.  Change prefix to "T".
11957 2017-09-12  Sam Steingold  <sds@gnu.org>
11959         gnus-score-file-name: Do not append empty suffix.
11961 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
11963         Extend tramp-tests according to bug#27986
11965         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11966         (tramp-test12-rename-file, tramp-test15-copy-directory)
11967         (tramp-test21-file-links): Extend tests.
11968         (tramp-test13-make-directory, tramp-test14-delete-directory):
11969         Specifiy error symbol in `should-error'.
11971 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11973         Add cl-print method for hash tables
11975         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
11977 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11979         Add docstrings to cl-print entry points
11981         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
11982         (cl-prin1, cl-prin1-to-string): Add docstrings.
11984 2017-09-12  Glenn Morris  <rgm@gnu.org>
11986         Improve reproducibility of generated leim-list.el
11988         * lisp/international/quail.el (quail-update-leim-list-file):
11989         Sort the quail directory listing, for more stable output.
11991 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
11993         Include sxhash of object with printed bytecode
11995         This printing, while succint, is rather opaque.  At least give an
11996         immediate clue of whether different byte code printouts are for the
11997         same or different byte code objects.
11998         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
11999         printed token "#<bytecode>".
12001 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
12003         Update documentation of 'max-lisp-eval-depth'
12005         * doc/lispref/eval.texi (Eval): Update the documented default
12006         value of 'max-lisp-eval-depth'.
12008 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
12010         Another place to produce debugging output in etags
12012         * lib-src/etags.c (Ruby_functions): One more place to print
12013         debugging output under --debug.
12015 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
12017         Improve documentation of etags-related features
12019         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
12020         'xref-prompt-for-identifier'.  (Bug#28403)
12021         (Etags Regexps): Document \D back references in etags regexps.
12023 2017-09-11  Alan Third  <alan@idiocy.org>
12025         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
12027         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
12028         Change macOS compatibility from 10.9 to 10.10.
12030 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
12032         Further optimization in Tramp's file name decomposition
12034         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
12035         components.  Call `custom-set-variables' after loading.
12036         (tramp-build-prefix-format, tramp-build-prefix-regexp)
12037         (tramp-build-method-regexp)
12038         (tramp-build-postfix-method-format)
12039         (tramp-build-postfix-method-regexp)
12040         (tramp-build-prefix-ipv6-format)
12041         (tramp-build-prefix-ipv6-regexp)
12042         (tramp-build-postfix-ipv6-format)
12043         (tramp-build-postfix-ipv6-regexp)
12044         (tramp-build-postfix-host-format)
12045         (tramp-build-postfix-host-regexp)
12046         (tramp-build-file-name-regexp)
12047         (tramp-build-completion-file-name-regexp): New defuns.
12048         (tramp-prefix-format, tramp-prefix-regexp)
12049         (tramp-method-regexp, tramp-postfix-method-format)
12050         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
12051         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
12052         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
12053         (tramp-postfix-host-regexp)
12054         (tramp-remote-file-name-spec-regexp)
12055         (tramp-file-name-structure, tramp-file-name-regexp)
12056         (tramp-completion-file-name-regexp): Convert defuns into defvars.
12057         (tramp-prefix-regexp-alist)
12058         (tramp-postfix-method-regexp-alist)
12059         (tramp-prefix-ipv6-regexp-alist)
12060         (tramp-postfix-ipv6-regexp-alist)
12061         (tramp-postfix-host-regexp-alist)
12062         (tramp-remote-file-name-spec-regexp-alist): Remove.
12063         (tramp-build-remote-file-name-spec-regexp)
12064         (tramp-build-file-name-structure): Simplify.
12065         (tramp-completion-file-name-regexp-alist): New defconst.
12066         (tramp-tramp-file-p, tramp-dissect-file-name)
12067         (tramp-make-tramp-file-name)
12068         (tramp-completion-make-tramp-file-name)
12069         (tramp-rfn-eshadow-update-overlay-regexp)
12070         (tramp-register-file-name-handlers)
12071         (tramp-completion-handle-file-name-all-completions)
12072         (tramp-completion-dissect-file-name, tramp-clear-passwd):
12073         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
12074         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
12075         (tramp-compute-multi-hops): Use variables but functions for
12076         file name components.
12078         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
12079         Use variables but functions for file name components.
12081 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12083         Port tramp-tests to new copy-directory behavior
12085         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
12086         Use directory name as arg for copy-directory when we want
12087         the special behavior.
12089 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12091         Adjust thumbs to new rename-file behavior
12093         * etc/NEWS: Mention this.
12094         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
12095         as special only if it is a directory name.  When there is
12096         a marked list, turn the destination into a directory name
12097         if it is not already.
12099 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12101         Adjust ob-tangle to new copy-file behavior
12103         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
12104         Port to new copy-file behavior.
12106 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12108         Make gnus-copy-file act like copy-file etc.
12110         * etc/NEWS: Mention this.
12111         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
12112         as special only if it is a directory name.
12114 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12116         Make write-file act like copy-file etc.
12118         Change write-file to be consistent with the new behavior
12119         of copy-file, etc.
12120         * etc/NEWS: Mention this.
12121         * lisp/files.el (write-file): Treat the destination as special
12122         only if it is a directory name.
12124 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12126         Make copy-directory act like copy-file etc.
12128         Do the special dance with the destination only if it is a
12129         directory name, for consistency with copy-file etc. (Bug#27986).
12130         * doc/emacs/files.texi (Copying and Naming):
12131         * doc/lispref/files.texi (Create/Delete Dirs):
12132         * etc/NEWS: Document this.
12133         * lisp/files.el (copy-directory): Treat NEWNAME as special
12134         only if it is a directory name.
12136 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12138         Fix some make-directory bugs
12140         * lisp/files.el (files--ensure-directory): New function.
12141         (make-directory): Use it to avoid bugs when (make-directory FOO t)
12142         is invoked on a non-directory, or on a directory hierarchy that
12143         is being built by some other process while Emacs is running.
12144         * test/lisp/files-tests.el (files-tests--make-directory): New test.
12146 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12148         Fix race with rename-file etc. with dir NEWNAME
12150         This changes the behavior of rename-file etc. slightly.
12151         The old behavior mostly disagreed with the documentation, and had
12152         a race condition bug that could allow attackers to modify victims'
12153         write-protected directories (Bug#27986).
12154         * doc/lispref/files.texi (Changing Files): Document that in
12155         rename-file etc., NEWFILE is special if it is a directory name.
12156         * etc/NEWS: Document the change in behavior.
12157         * src/fileio.c (directory_like): Remove.  All uses removed.
12158         (expand_cp_target): Test only whether NEWNAME is a directory name,
12159         not whether it is currently a directory.  This avoids a race.
12160         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
12161         Document behavior if NEWNAME is a directory name.
12162         (Frename_file): Simplify now that the destdir behavior occurs
12163         only when NEWNAME is a directory name.
12164         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
12165         (tramp-test12-rename-file, tramp--test-check-files):
12166         Adjust tests to match new behavior.
12168 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
12170         Extend --debug printouts in etags
12172         * lib-src/etags.c (regex_tag_multiline, readline): Under
12173         "--debug", print tags found via regexps.
12175 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
12177         Add --debug option to etags
12179         * lib-src/etags.c (make_tag): Print found tags under --debug.
12180         (longopts): Add --debug.
12182 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12184         Spelling fixes
12186         * lisp/progmodes/cc-langs.el:
12187         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
12188         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
12190 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12192         Merge from gnulib
12194         This incorporates:
12195         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
12196         2017-08-24 warnings: fix compilation with old autoconf
12197         2017-08-23 glob: merge from glibc with Zanella glob changes
12198         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
12199         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
12200         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
12201         * m4/warnings.m4:
12202         Copy from Gnulib.
12203         * lib/gnulib.mk.in: Regenerate.
12205 2017-09-10  Ken Brown  <kbrown@cornell.edu>
12207         Implement renameat_noreplace on recent Cygwin
12209         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
12210         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
12211         (Bug#27986)
12213 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
12215         Avoid warnings about file names in autoloads on MS-Windows
12217         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
12218         avoid warnings from find-file-noselect when making autoloads.  For
12219         the details, see
12220         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
12222 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
12224         Avoid looking at localized strings
12226         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
12227         localized strings.
12228         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
12229         parsing l10n strings doesn't error but is essentially a no-op.
12231 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12233         * etc/NEWS.25: Document 25.3 changes.
12235 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
12237         Remove unsafe enriched mode translations
12239         * lisp/gnus/mm-view.el (mm-inline-text):
12240         Do not worry about enriched or richtext type.
12241         * lisp/textmodes/enriched.el (enriched-translations):
12242         Remove translations for FUNCTION, display (Bug#28350).
12243         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
12245 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12247         Be more consistent about "directory name" in manual
12249         This clarifies the documentation, partly in response to the
12250         discussion in Bug#27986.
12252 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
12254         Remove more compilation warnings in MinGW64 build
12256         * src/w32.c (faccessat, map_w32_filename):
12257         * src/w32fns.c (w32_wnd_proc):
12258         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
12259         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
12260         warnings with GCC 7 and later.
12262 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12264         Improve --enable-gcc-warnings for MinGW64
12266         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
12267         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
12268         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
12269         * lib-src/etags.c (process_file_name, TeX_commands):
12270         * src/buffer.c (fix_overlays_before):
12271         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
12272         (cons_to_signed):
12273         * src/editfns.c (Ftranslate_region_internal):
12274         Prefer UNINIT to some stray value, as this simplifies
12275         code-reading later.
12276         * src/eval.c (CACHEABLE): New macro.
12277         (internal_lisp_condition_case): Use it.
12278         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
12280 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
12282         Fix font-lock in Compilation mode
12284         * lisp/progmodes/compile.el (compilation-face): Restore function
12285         lost during recent changes.  (Bug#28349)
12287 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
12289         Add function to read all entries in a group
12291         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
12292         entries in all groups were read and returned by xdg-desktop-read-file.
12293         * lisp/xdg.el (xdg-desktop-read-group): New function.
12294         (xdg-desktop-read-file): Use it.
12295         * test/data/xdg/malformed.desktop: New file.
12296         * test/data/xdg/test.desktop: Add another section.
12297         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
12298         in another group.  Test reading a prescribed group.  Test detecting a
12299         malformed key=value.
12301 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
12303         Reduce Tramp's memory usage
12305         Construct Tramp syntax strings and regular expressions once instead
12306         of every time they are used, and store them in alists keyed by Tramp
12307         syntax.
12308         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
12309         (tramp-build-file-name-structure): New functions.
12310         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
12311         (tramp-method-regexp-alist)
12312         (tramp-postfix-method-format-alist)
12313         (tramp-postfix-method-regexp-alist)
12314         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
12315         (tramp-postfix-ipv6-format-alist)
12316         (tramp-postfix-ipv6-regexp-alist)
12317         (tramp-postfix-host-format-alist)
12318         (tramp-postfix-host-regexp-alist)
12319         (tramp-remote-file-name-spec-regexp-alist)
12320         (tramp-file-name-structure-alist): New constants.
12321         (tramp-lookup-syntax): New function.
12322         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
12323         (tramp-postfix-method-format, tramp-postfix-method-regexp)
12324         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
12325         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
12326         (tramp-postfix-host-format, tramp-postfix-host-regexp)
12327         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
12328         Use it.
12330 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
12332         Fix compilation warnings in MinGW64 build using GCC 7
12334         Reported by Richard Copley <rcopley@gmail.com>.
12335         * src/w32heap.c (init_heap): Declare enable_lfh only for
12336         mingw.org's MinGW build.
12338         * src/w32console.c (w32con_write_glyphs):
12339         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
12340         mismatches of data type vs format spec.
12342         * src/w32fns.c (compute_tip_xy):
12343         * src/w32proc.c (stop_timer_thread):
12344         * src/w32notify.c (remove_watch):
12345         * src/eval.c (internal_lisp_condition_case):
12346         * src/editfns.c (Ftranslate_region_internal):
12347         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
12348         (cons_to_signed):
12349         * src/buffer.c (fix_overlays_before): Initialize variables to
12350         avoid compiler warnings.
12352         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
12353         variables to avoid compilation warnings.
12355 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
12357         Avoid infloop when scrolling under scroll-preserve-screen-position
12359         * src/window.c (window_scroll_pixel_based): If screen position is
12360         to be preserved, make sure its recorded Y coordinate is outside
12361         the scroll margin.  (Bug#28342)
12363 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
12365         Clarification in tramp-texi
12367         * doc/misc/tramp.texi (Connection caching): Two connections are
12368         regarded as different now when they differ in the port number only.
12370 2017-09-09  Miles Bader  <miles@gnu.org>
12372         * admin/quick-install-emacs: Tweak configure.ac parsing
12374 2017-09-09  Miles Bader  <miles@gnu.org>
12376         Use text-property buttons in rcirc-markup-urls
12378         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
12379         instead of `make-button'; the former is much more efficient in large
12380         buffers, and for the purposes of rcirc, changes no functionality.
12382 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
12384         Fix line-pixel-height for lines of variable height
12386         * src/xdisp.c (Fline_pixel_height): Start moving from the
12387         beginning of the screen line, to capture the full metrics of the
12388         line.  (Bug#28391)
12390 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
12392         New variable 'dired-confirm-killing-deleted-buffers'
12394         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
12395         New variable.
12396         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
12397         visiting deleted files without confirming if
12398         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
12399         * etc/NEWS: Document the change.
12401 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
12403         Support SVN files with svn:externals property
12405         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
12406         marked with the svn:externals property.
12408 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
12410         List locally removed files in vc-dir with SVN back-end
12412         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
12413         with ?! as needs-update.
12415 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
12417         Fix Rmail editing with reapplying encoding to message body
12419         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
12420         content-type in edited headers, look for one in original
12421         headers and add it to edited headers.  (Bug #26918)
12422         Use a marker to track start of new body, so that
12423         content-transfer-encoding gets applied only to body.  (Bug #27353).
12424         Ensure blank line at end of message after encoding, not
12425         before.
12427 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
12429         Document last change in dired.el
12431         * etc/NEWS (Dired): Document the last change in dired.el.
12432         (Bug#27435)
12434 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
12436         Make mouse clicks in Dired more customizable
12438         * lisp/dired.el (dired-mouse-find-file): Allow callers to
12439         specify functions to visit file/directory.
12440         (dired-mouse-find-file-other-window)
12441         (dired-mouse-find-file-other-frame): New functions to visit
12442         files in another window/frame.  (Bug#27435)
12444 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
12446         Avoid compiler warnings on MS-Windows with GCC 6 and 7
12448         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
12449         bit-shifting, to avoid compiler warnings.
12450         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
12451         a warning.  For details of the warning, see
12452         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
12453         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
12454         in that build.
12455         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
12456         function is not used in that build.
12458         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
12460 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
12462         Fix 'directory-file-name' on DOS_NT systems as well
12464         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
12465         to be consistent with last change.
12467         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
12468         Disable on MS-Windows.
12469         (fileio-tests--directory-file-name-dos-nt)
12470         (fileio-tests--file-name-as-directory-dos-nt): New tests.
12472 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
12474         Fix various verilog-mode.el issues.
12476         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
12477         "*/*", msg2284. Reported by Jonathan Ferguson.
12478         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
12479         by Victor Lau.
12480         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
12481         verilog-substitute-file-name-path): Support -F in verilog getopt files,
12482         bug1171. Reported by George Cuan.
12483         (verilog-do-indent): Fix misindenting symbols starting with t,
12484         bug1169. Reported by Hoai Tran.
12485         (verilog-read-auto-template-middle): Fix slow template matching on
12486         AUTOINST. Reported by Jeffrey Huynh.
12487         (verilog-pretty-expr): The extra whitespace addition before "=" operators
12488         is now done only if the whole assignment block contains the 2-character
12489         "<=" operator.  Remove the unused argument _myre.  Use `unless',
12490         `save-excursion' and `when' functions where possible.  Internal variables
12491         refactored for clarity.  Follow elisp convention for closing parentheses.
12492         By Kaushal Modi.
12493         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
12494         refactored for clarity.  Earlier EDPOS argument was expected to be a
12495         marker; it is now renamed to END and is now expected to be a position.
12496         Use `when' instead of `if'.  By Kaushal Modi.
12497         (electric-verilog-terminate-line): Remove the unused second argument from
12498         `verilog-pretty-expr' call.  By Kaushal Modi.
12499         (verilog-calc-1): Fix indentation of a virtual class definition after a
12500         typedef class, bug1080.  By Kaushal Modi.
12502 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
12504         Don't use summary window to visit group buffer (bugfix)
12506         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
12507         the window to open the group buffer doesn't visit the summary buffer.
12508         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
12509         by trying to select nonexistent summary window.
12511 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12513         Fix bug: (directory-file-name "///") returned "//"
12515         * src/fileio.c (directory_file_name): For "///" and longer,
12516         return "/", not "//", as per POSIX.
12517         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
12518         (fileio-tests--file-name-as-directory): New tests.
12520 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12522         Remove obsolete vc-mistrust-permissions doc
12524         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
12525         for vc-mistrust-permissions, which no longer exists.
12527 2017-09-07  Alan Third  <alan@idiocy.org>
12529         Set frame size to actual requested size (bug#18215)
12531         * src/nsterm.m (x_set_window_size): Don't use
12532         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
12534 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12536         autogen.sh: omit bogus chatter if no .git
12538         Problem reported by Angelo Graziosi in:
12539         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
12540         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
12542 2017-09-07  Glenn Morris  <rgm@gnu.org>
12544         Skip emacsclient tests if --enable-profiling was used
12546         * test/lib-src/emacsclient-tests.el
12547         (emacsclient-test-call-emacsclient): Make it a macro.
12548         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
12549         (emacsclient-test-alternate-editor-allows-arguments)
12550         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
12552 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
12554         Fix a minor markup problem in ELisp manual
12556         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
12557         @example and @group.  For the details, see
12558         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
12560 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
12562         Add XDG desktop file parsing and tests
12564         * lisp/xdg.el: Add support for Desktop Entry Specification.
12565         (xdg--user-dirs-parse-line): Check if file is readable.
12566         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
12567         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
12568         New functions.
12569         * test/lisp/xdg-tests.el:
12570         * test/data/xdg/test.desktop:
12571         * test/data/xdg/wrong.desktop: New files.
12573 2017-09-06  Glenn Morris  <rgm@gnu.org>
12575         Allow for adjusting line length of test backtraces
12577         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
12578         (%.log): Respect backtrace line length.
12580 2017-09-06  Glenn Morris  <rgm@gnu.org>
12582         Allow customizing line length of ert backtraces in batch mode
12584         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
12585         Make it a user option.
12586         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
12588 2017-09-06  Glenn Morris  <rgm@gnu.org>
12590         Minor emacsclient-tests simplification
12592         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
12593         Simplify.  Also work when running installed.
12595 2017-09-06  Alan Third  <alan@idiocy.org>
12597         Revert "Force screen update after drawing cursor glyph (bug#23774)"
12599         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
12601         See bug#28358
12603 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12605         Refactor some loops in mailcap.el
12607         * lisp/net/mailcap.el (mailcap-mime-types):
12608         (mailcap-file-default-commands): Convert nested maps to loops.
12610 2017-09-05  Glenn Morris  <rgm@gnu.org>
12612         emacsclient-tests: remove some debug statements
12614         * test/lib-src/emacsclient-tests.el
12615         (emacsclient-test-call-emacsclient): Remove debug statements.
12617 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
12619         Handle non-zero exit status from psql more gracefully
12621         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
12622         exit statuses from `psql -ltX' more gracefully by returning nil.
12624         * test/lisp/progmodes/sql-tests.el
12625         (sql-tests-postgres-list-databases-error): New test.
12627 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
12629         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
12631         * src/w32proc.c (sys_kill): Preserve the up/down state of the
12632         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
12634 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
12636         * src/image.c (Fimagemagick_types): Doc fix.
12638 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12640         Move soundex.el test to a proper test
12642         * test/lisp/soundex-tests.el: New file.
12643         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
12645 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12647         Add tests for mailcap.el
12649         * test/data/mailcap/mime.types: New file.
12650         * test/lisp/net/mailcap-tests.el: New file.
12652 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
12654         Doc precisment about remote link targets
12656         * doc/lispref/files.texi (Truenames): Explain handling of
12657         targets of `file-truename' and `make-symbolic-link', which
12658         look like a remote file name.
12660         * etc/NEWS: Precise examples for symlinks which look like
12661         remote file names.  MUSTBENEW of `write-region' is not
12662         propagated to file name handlers.
12664 2017-09-05  John Wiegley  <johnw@newartisans.com>
12666         Remove an opinionated section on "What Eshell is not"
12668         I don't find this information to accurately reflect possible use cases
12669         for Eshell; plus, it doesn't offer much in the way of information,
12670         just opinion.
12672 2017-09-05  Ken Brown  <kbrown@cornell.edu>
12674         Fix configure test for Xpm
12676         Problem reported by Ashish Shukla in
12677         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
12678         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
12679         noX/xpm.h in configure test.
12681 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
12683         Revert recent float→double Motif change
12685         Problem reported by Martin Rudalics in:
12686         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
12687         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
12688         (x_set_toolkit_scroll_bar_thumb)
12689         (x_set_toolkit_horizontal_scroll_bar_thumb):
12690         Go back to using ‘float’ temporaries rather than ‘double’.
12691         Although quite possibly this masks an underlying bug,
12692         we lack time to look into that now.
12694 2017-09-04  Glenn Morris  <rgm@gnu.org>
12696         emacsclient-tests: add some debug statements
12698         * test/lib-src/emacsclient-tests.el
12699         (emacsclient-test-call-emacsclient): Add debug statements.
12701 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
12703         Work on Tramp's (symbolic) links
12705         * doc/misc/tramp.texi (Traces and Profiles): Mention the
12706         backtrace when tramp-verbose is greater than or equal to 10.
12708         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
12709         Use `tramp-handle-add-name-to-file'.
12711         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
12712         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
12714         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
12716         * lisp/net/tramp-smb.el (tramp-smb-errors):
12717         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
12718         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
12719         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
12720         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
12721         if one of the attributes is non-nil.
12722         (tramp-smb-handle-file-local-copy): Use `file-truename'.
12723         (tramp-smb-handle-file-truename): Move to tramp.el.
12724         (tramp-smb-handle-insert-directory): Show symlinks.
12725         (tramp-smb-handle-make-symbolic-link): Improve.
12726         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
12728         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
12729         (tramp-handle-file-truename): New defuns.
12731         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
12732         (tramp--test-check-files): Make check for "smb".
12734 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12736         Embed JSON readtable into json-read
12738         Also unroll dispatch into a cond.
12739         * lisp/json.el (json-readtable): Remove.
12740         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
12741         (json-read): Use the macro.
12743 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12745         Hexify strings in EWW search queries
12747         Previously, inputting "cats & dogs" would lose dogs because the
12748         ampersand signifies a query parameter.  Instead, hexify each word while
12749         preserving quotes with split-string.
12750         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
12751         with + separators, instead of replacing whitespace with +.
12753 2017-09-03  Glenn Morris  <rgm@gnu.org>
12755         emacsclient-tests: call-process may return non-integer
12757         * test/lib-src/emacsclient-tests.el
12758         (emacsclient-test-alternate-editor-allows-arguments)
12759         (emacsclient-test-alternate-editor-allows-quotes):
12760         Handle non-integer return from call-process.
12762 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
12764         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
12766 2017-09-03  Alan Third  <alan@idiocy.org>
12768         Force screen update after drawing cursor glyph (bug#23774)
12770         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
12771         drawing the glyph over the cursor.
12773 2017-09-03  Alan Mackenzie  <acm@muc.de>
12775         Correct the fontification of quote marks after buffer changes in CC Mode.
12777         * lisp/progmodes/cc-defs.el
12778         (c-search-forward-char-property-with-value-on-char): New macro.
12780         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
12781         (c-parse-quotes-after-change): Rewrite the functions, simplifying
12782         considerably, and removing unnecessary optimizations.
12783         Invalidate two caches after manipulating text properties.
12785 2017-09-03  Alan Mackenzie  <acm@muc.de>
12787         Fix fontification of "operator~" in C++ Mode.
12789         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
12790         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
12792         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
12793         two other symbols) as a cast without good evidence.  Prefer an overloaded
12794         operator in ambiguous cases.
12796 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
12798         In delete_frame do not delete terminal for any toolkit build
12800         * src/frame.c (delete_frame): Neither delete terminal for
12801         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
12802         Bug#27816).
12804 2017-09-02  Philipp Stephani  <phst@google.com>
12806         Improve error messages for improper plists (Bug#27726)
12808         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
12809         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
12810         improper plists instead of ‘listp.’
12812         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
12813         (lax-plist-get/odd-number-of-elements)
12814         (plist-put/odd-number-of-elements)
12815         (lax-plist-put/odd-number-of-elements)
12816         (plist-member/improper-list): Add unit tests.
12818 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12820         Fix decrypting in plstore.el on MS-Windows
12822         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
12823         raw-text, instead of using insert-file-contents-literally.
12824         (Bug#28114)
12826 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12828         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
12830 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12832         Rewrite Antinews for Emacs 26
12834         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
12835         * doc/lispref/elisp.texi (Top): Update the top-level menu's
12836         Antinews entry.
12837         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
12838         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
12839         entry.
12841         * etc/NEWS: Rearrange some entries in a more reasonable order.
12843 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12845         Fix a mis-binding in a test
12847         * test/lisp/progmodes/python-tests.el
12848         (python-shell-calculate-process-environment-3): Fix binding of
12849         process-environment.  A level of parens was missing.
12851         This was found after Glenn Morris noticed a similar problem with the
12852         patch for Bug#28319.
12854 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12856         Fix a mis-binding and a bad defun name in a test (Bug#28319)
12858         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
12859         emacsclient-test-call-emacsclient.
12860         (emacsclient-test-alternate-editor-allows-arguments)
12861         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
12862         process-environment.
12864         Thanks to Glenn Morris for noticing these errors.
12866 2017-09-02  Glenn Morris  <rgm@gnu.org>
12868         * test/Makefile.in (check-no-automated-subdir): Silence by default.
12870         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
12872 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
12874         Turn off checkdoc complaint about default argument order
12876         * etc/NEWS: Mention change.
12877         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
12878         Disable by default, note version.
12880 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
12882         Stop emacsclient tests hanging (Bug#28319)
12884         * test/lib-src/emacsclient-tests.el
12885         (emacsclient-test-alternate-editor-allows-arguments): Use a
12886         non-existent file to communicate with server, so that any existing
12887         default server will not be hijacked (in fact, the test does
12888         not need a server).
12889         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
12891 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
12893         * lisp/obsolete/html2text.el: Don't require CL
12895         (html2text-clean-anchor): Mark unused arg.
12897 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
12899         Don't remove undisplayers from inlined MIME parts (bugfix)
12901         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
12902         Don't remove undisplayers from inlined MIME parts (bugfix);
12903         Simplify criterion that finds attachments.
12905 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
12907         Make ucs-names a hash table (Bug#28302)
12909         * etc/NEWS: Mention the type change.
12910         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
12911         Hardcode BEL's name into the function instead of needlessly mapping
12912         over the hash table in the spirit of rassoc.
12913         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
12914         function docstrings.  Initialize a hash table for ucs-names--the
12915         number of entries is 42845 here.  Switch to hash-table
12916         getters/setters.
12917         (mule--ucs-names-annotation): Use hash-table getter.
12918         (char-from-name): Upcase the string if ignore-case is truthy.
12919         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
12921 2017-08-31  Alan Third  <alan@idiocy.org>
12923         Remove unneeded version checks (bug#28222)
12925         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
12926         check.
12927         * src/macfont.m (macfont_draw): Remove version check, and test for
12928         existence of CGContextSetFontSmoothingStyle.
12930 2017-08-31  Alan Mackenzie  <acm@muc.de>
12932         Fix a glitch in CC Mode's syntactic whitespace cache.
12934         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
12935         comment close at the end of a macro.
12937 2017-08-31  Alan Mackenzie  <acm@muc.de>
12939         Correct the fontification of C++ Mode enclosed declarations.
12941         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
12942         spurious check that the character before the start of an enclosed declaration
12943         must be ; or }.  It might also be {.
12945 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12947         In xterm.c fix some recently introduced compiler warnings
12949         * src/xterm.c (xaw_jump_callback)
12950         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
12951         -Wdouble-promotion warnings.
12953 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12955         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
12957         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
12958         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
12959         react to state changes received via ConfigureNotify.
12961 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
12963         Respect directory a user enters (bug#28299)
12965         * lisp/gnus/mm-decode.el (mm-save-part):
12966         Respect directory a user enters (bug#28299).
12968 2017-08-31  Samuel Freilich  <sfreilich@google.com>
12970         Do not split line before width of fill-prefix
12972         When auto-filling a paragraph, don't split a line before the width of the
12973         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
12974         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
12975         the line than the width of the fill-prefix.  This is a more general solution
12976         than the previous logic, which only skipped over the exact fill-prefix.  The
12977         fill-prefix doesn't necessarily match the prefix of the first line of a
12978         paragraph in adaptive-fill-mode.
12980 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12982         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
12984         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
12985         Consider any documentation that ended up in code as a docstring (e.g.,
12986         autogenerated (fn ARG1 ARG2) type things), not just what the user
12987         passed.
12989 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12991         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
12993         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
12994         to drop the docstring.  Add a simple docstring to the compiler-macro.
12996 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12998         Quote file-truename symlink to "../foo:bar:"
13000         Problem reported by Michael Albinus (Bug#28264#19).
13001         * lisp/files.el (files--splice-dirname-file): Fix bug where
13002         a relative symlink to "../foo:bar:" did not quote the result.
13004 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
13006         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
13008         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
13009         corresponding command-line argument, into quote- or space-separated
13010         tokens.  If a token starts with a quote, then it naturally is expected
13011         to end with a quote; escaping is not supported. This is enough to cope
13012         with the typical case of requiring the initial path to be quoted,
13013         common on Windows where it may contain spaces.
13014         * etc/NEWS: Document.
13015         * doc/emacs/misc.texi: Likewise.
13016         * doc/man/emacsclient.1: Tweak to remove the implication that only an
13017         editor can be specified (the manual already mentions a “command”).
13018         Fix a small error where “EDITOR” is referred to rather than
13019         “ALTERNATE_EDITOR”.
13020         * test/lib-src/emacsclient-tests.el: Add tests.
13022 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
13024         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
13026 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
13028         Correct "hide others" shortcut on macOS (bug#28215)
13030         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
13032 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
13034         Sync NEWS with the documentation
13036         * etc/NEWS: Mark entries according to documentation.
13038         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
13040 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
13042         Improve symlinks for Tramp
13044         * lisp/files.el (files--splice-dirname-file): Quote whole file.
13046         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
13047         Do not expand TARGET, it could be remote.
13048         (tramp-sh-handle-file-truename): Check for cyclic symlink also
13049         in case of readlink.  Quote result if it looks remote.
13050         (tramp-sh-handle-file-local-copy): Use `file-truename'.
13052         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
13053         (tramp-test09-insert-file-contents): Test also file missing.
13054         (tramp-test21-file-links): Extend test.
13056 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
13058         Preserve display's foreground color when clearing internal borders (Bug#28278)
13060         * src/xterm.c (x_after_update_window_line): Preserve display's
13061         foreground color when clearing internal borders (Bug#28278).
13063 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
13065         Use cl-print for all values printed by `describe-variable'
13067         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
13068         global values too.
13070 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
13072         Minor simplification for byte-compile-constant-push
13074         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
13075         of the code from here...
13076         (byte-compile-constant-push): ... to here.  No need to bind
13077         byte-compile--for-effect anymore.
13079 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13081         Prefer file-name-quote to concat "/:"
13083         Suggested by Michael Albinus (Bug#28264#13).
13084         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
13085         rather than attempting to do it by hand.
13087 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13089         * configure.ac: fix typo in previous change
13091 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13093         Be more conservative in link time optimization doc
13095         While testing --enable-link-time-optimization with GCC 7.1.1
13096         I ran into a serious GCC code-generation bug which makes me
13097         think that --enable-link-time-optimization should be
13098         discouraged for typical installs (Bug#28213).  See:
13099         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
13101 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13103         Make garbage collection more conservative
13105         Check for a pointer anywhere within the object, as opposed to just
13106         the start of the object.  This is needed for gcc -Os -flto on
13107         x86-64 (Bug#28213).  This change means that the garbage collector
13108         is more conservative, and will incorrectly keep objects that it
13109         does not need to, but that is better than incorrectly discarding
13110         objects that should be kept.
13111         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
13112         this is easier to debug.
13113         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
13114         Now a function with two args, not a macro with three.
13115         All callers changed.
13116         (live_string_holding, live_cons_holding, live_symbol_holding)
13117         (live_misc_holding, live_vector_holding, live_buffer_holding):
13118         New functions, which check for any object containing the addressed
13119         byte, not just for an object at the given address.
13120         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
13121         (live_vector_p, live_buffer_p):
13122         Redefine in terms of the new functions.
13123         (live_float_p): Refactor slightly to match the new functions.
13124         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
13125         Don’t bother checking mark bits, as mark_object already does that,
13126         and omitting the checks here simplifies the code.  Although
13127         mark_maybe_object can continue to insist that tagged pointers
13128         still address the start of the object, mark_maybe_pointer now is
13129         more conservative and checks for pointers anywhere into an object.
13131 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13133         Improve stack-top heuristic
13135         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
13136         of the stack when scanning for heap roots, causing Emacs to crash
13137         later (Bug#28213).  The problem is that Emacs's hack for getting an
13138         address near the stack top does not work when link-time optimization
13139         moves stack variables around.
13140         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
13141         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
13142         (write_globals, scan_c_stream): Support noinline.
13143         * src/alloc.c (NEAR_STACK_TOP): New macro.
13144         (SET_STACK_TOP_ADDRESS): Use it.
13145         (flush_stack_call_func, Fgarbage_collect): Now noinline.
13147 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13149         Align stack bottom properly.
13151         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
13152         * src/emacs.c (main): Align stack-bottom variable as a pointer,
13153         since mark_memory requires this.
13155 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
13157         Avoid spinning waiting for git-gui.exe on Windows
13159         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
13160         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
13161         process exited.  (Bug#28268)
13163 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
13165         Document '--module-assertions'
13167         * doc/emacs/cmdargs.texi (Initial Options): Document the
13168         '--module-assertions' command-line option.
13169         * doc/lispref/loading.texi (Dynamic Modules): Add a
13170         cross-reference to the description of '--module-assertions'.
13172         * etc/NEWS: Update the NEWS entry for --module-assertions.
13174 2017-08-29  Alan Third  <alan@idiocy.org>
13176         Add news entry about new macOS features
13178         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
13179         ns-use-thin-smoothing.
13181 2017-08-29  Alan Third  <alan@idiocy.org>
13183         Fix cross macOS version building (bug#28222)
13185         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
13186         declaration.
13187         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
13189 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
13191         Enable thin font smoothing in macOS (bug#28222)
13193         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
13194         * src/macfont.m (macfont_draw): Use font smoothing.
13196 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
13198         Minor improvement in documentation of display-line-numbers
13200         * doc/emacs/display.texi (Display Custom): Document the
13201         display-line-numbers-mode and related options.
13203 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
13205         Avoid aborting in 'waitpid' on MS-Windows
13207         * src/w32proc.c (waitpid): Don't allow quitting if called with
13208         WNOHANG in OPTIONS.  (Bug#28268)
13210 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13212         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
13214         (sh-syntax-propertize-function): Fix off-by-one error.
13215         Fixes bug#23526.
13217 2017-08-29  Rasmus  <rasmus@gmx.us>
13219         Update Org to v9.0.10
13221         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
13222         release.
13224 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13226         Silence false alarms for symlinks to sources
13228         Problem reported by Glenn Morris (Bug#28264).
13229         * lisp/files.el (files--splice-dirname-file): New function.
13230         (file-truename, file-chase-links): Use it.
13232 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13234         Simplify remove_slash_colon
13236         * src/process.c (remove_slash_colon): Simplify
13237         and avoid a special case for "/:" by itself.
13239 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
13241         Remove font family from minibuffer-prompt face
13243         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
13244         minibuffer-prompt face.
13246 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
13248         Further fixes in tramp-smb.el
13250         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
13251         (tramp-smb-file-name-handler-alist): Use it.
13252         (tramp-smb-handle-make-symbolic-link): Unquote target.
13254         * test/lisp/net/tramp-tests.el
13255         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
13256         (tramp-test18-file-attributes, tramp-test21-file-links)
13257         (tramp--test-check-files): Use it.
13259 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13261         Don’t assume -g3 in .gdbinit
13263         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
13264         Use reasonable defaults if not in the symbol table.
13266 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
13268         Use string-match to check for dotfiles in ido
13270         * lisp/ido.el (ido-make-file-list): Use string-match to check
13271         for dotfiles instead of substring, as when using tramp
13272         simplified syntax ido-temp-list may contain empty strings.
13274 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
13276         Font-lock FDO desktop files correctly
13278         Single and double quotes do not have a special meaning in
13279         desktop files.
13280         https://standards.freedesktop.org/desktop-entry-spec/latest/
13281         * etc/NEWS: Mention new mode.
13282         * lisp/files.el (auto-mode-alist): Split out an entry for handling
13283         the .desktop extension with conf-desktop-mode.
13284         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
13285         variable with rules for booleans and format specifiers.
13286         (conf-unix-mode): Remove desktop file entry example from docstring.
13287         (conf-desktop-mode): New derived major mode.
13289 2017-08-27  Tom Tromey  <tom@tromey.com>
13291         Fix auto-fill bug in js-mode
13293         * lisp/progmodes/js.el (js-do-auto-fill): New function.
13294         (js-mode): Set normal-auto-fill-function.
13295         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
13296         test.
13298 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
13300         Disable completion while entering python multiline statements
13302         The "legacy" completion mechanism sends newlines to the running python
13303         process to get the list of completions, which confuses things if the
13304         user is in the middle of entering a multiline statement (Bug#28051).
13305         It's better to disable completion in this case.
13306         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
13307         (python-shell-prompt-set-calculated-regexps): Set it.
13308         (python-shell-completion-at-point): Return 'ignore' as the completion
13309         function when the current prompt is a block prompt.
13311 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
13313         Tramp cleanup
13315         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
13316         (tramp-sh-handle-make-symbolic-link): More robust check for
13317         TARGET remoteness.
13319         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
13320         Disable copying by tar temporarily, it doesn't work reliably.
13321         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
13322         (tramp-smb-handle-make-symbolic-link): Fix implementation.
13324         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
13326         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
13327         Extend test.
13329 2017-08-27  Glenn Morris  <rgm@gnu.org>
13331         Fix previous xterm.h change for non-gtk builds
13333         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
13335 2017-08-27  Philipp Stephani  <phst@google.com>
13337         Fix GdkSettings-related deprecation warnings
13339         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
13340         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
13341         instead of deprecated gtk_settngs_set_string_property otherwise.
13343 2017-08-27  Philipp Stephani  <phst@google.com>
13345         Always use gtk_window_move in new versions
13347         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
13348         GTK+.
13349         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
13351         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
13352         is ignored.
13354         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
13356 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
13358         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
13360         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
13361         narrowing, and widen the buffer before searching for the name of the
13362         file corresponding to the diff.
13364         With thanks to Noam Postavsky.
13366 2017-08-27  Philipp Stephani  <phst@google.com>
13368         Remove use of a deprecated GTK+ function in new versions
13370         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
13371         if available
13373 2017-08-27  Philipp Stephani  <phst@google.com>
13375         Stop using deprecated GdkScreen monitor functions in newer GDK
13377         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
13378         objects instead of the deprecated GdkScreen functions in GDK 3.22+
13380 2017-08-27  Philipp Stephani  <phst@google.com>
13382         Use GdkSeat in new GDK versions
13384         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
13385         GdkDeviceManager in GDK 3.20+
13387 2017-08-27  Philipp Stephani  <phst@google.com>
13389         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
13391 2017-08-27  Philipp Stephani  <phst@google.com>
13393         Remove call of deprecated GDK function
13395         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
13396         GDK 3.22 or later.
13398 2017-08-27  Alan Mackenzie  <acm@muc.de>
13400         Amend the CC Mode macro cache to cope with changes at the macro start
13402         Fixes bug #28233.
13404         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
13405         error.
13407 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13409         Fix over-protection of byte-compiled files
13411         Problem reported by Sven Joachim (Bug#28244).
13412         Also, fix similar problem for autoload files.
13413         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
13414         Set temp file modes to the buffer-file-name file modes (or 666
13415         if not available) as adjusted by umask.
13416         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
13417         Set temp file modes to 666 as adjusted by umask.
13419 2017-08-27  Tom Tromey  <tom@tromey.com>
13421         Refine conf-toml-mode font-lock
13423         Bug#28218
13424         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
13425         conf-toml-recognize-section.  Use \s- in variable regexp.
13426         (conf-toml-recognize-section): New function.
13428 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13430         Do not munge contents of local symbolic links
13432         This lets Emacs deal with arbitrary local symlinks without
13433         mishandling their contents (Bug#28156).  For example,
13434         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
13435         now consistently creates a symbolic link from '/tmp/x' to '~'.
13436         Formerly, it did that only if the working directory was on the
13437         same filesystem as /tmp; otherwise, it expanded the '~' to
13438         the user's home directory.
13439         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
13440         instead of rolling our own code.
13441         * lisp/files.el (files--name-absolute-system-p): New function.
13442         (file-truename, file-chase-links): Use it to avoid mishandling
13443         symlink contents that begin with ~.
13444         (copy-directory, move-file-to-trash):
13445         Use concat rather than expand-file-name, to avoid mishandling
13446         symlink contents that begin with ~.
13447         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
13448         target unless interactive.  Strip leading "/:" if interactive.
13449         (emacs_readlinkat): Do not prepend "/:" to the link target if
13450         it starts with "/" and contains ":" before NUL.
13451         * test/src/fileio-tests.el (try-link): Rename from try-char,
13452         and accept a string instead of a char.  All uses changed.
13453         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
13454         to test the new behavior.
13456 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
13458         Remove invalid regexp for shell builtins for wksh
13460         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
13461         be literal strings, so remove a regexp for wksh. In any case, it’s a
13462         defunct proprietary shell.
13464 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13466         Improve doc for file-name-absolute-p.
13468 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
13470         Fix Tramp part of Bug#28156
13472         * lisp/files.el (file-name-non-special): Use `file-name-quote'
13473         instead prefixing "/:", the file could already be quoted.
13475         * lisp/net/tramp.el (tramp-error): Handle null arguments.
13476         (tramp-handle-make-symbolic-link):
13477         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
13478         (tramp-sh-handle-add-name-to-file):
13479         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
13480         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
13481         stronger semantics in Emacs.  (Bug#28156)
13483         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
13484         Extend test.
13486 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
13488         Fix bugs merged with bug#25428
13490         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
13491         (Bug#13926)  (Bug#25434)  (Bug#25435)
13493 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
13495         Improve documentation of Info virtual files and nodes
13497         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
13498         (Bug#28237)
13500 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
13502         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
13504 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
13506         Support multi-lingual detection of SEE ALSO man sections
13508         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
13509         section detection in several langages: French, German, Spanish,
13510         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
13512 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13514         Improve expand-file-name doc
13516         * doc/lispref/files.texi (Relative File Names, Directory Names)
13517         (File Name Expansion):
13518         * doc/lispref/minibuf.texi (Reading File Names):
13519         Document expand-file-name behavior with ~ more clearly
13520         and accurately.
13521         * doc/misc/org.texi (Batch execution): Simplify example
13522         script so that it does not need expand-file-name and thus
13523         will not mishandle file names with leading ~.
13525 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
13527         Support all perl variable declarators and prefixes (Bug#27613)
13529         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
13530         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
13531         'local', 'state', 'supersede', 'let', and 'temp'.
13533 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13535         Fix file-attributes race on GNU hosts
13537         * doc/lispref/files.texi (File Attributes):
13538         Document file-attributes atomicity.
13539         * etc/NEWS: Document the fix.
13540         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
13541         for diagnostics.  All callers changed.  On platforms like
13542         GNU/Linux that support O_PATH, fix a race condition in
13543         file-attributes and similar functions, so that these functions do
13544         not return nonsense if a directory entry is replaced while getting
13545         its attributes.  On non-GNU platforms, do a better (though not
13546         perfect) job of detecting the race, and return nil if detected.
13548 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13550         Simplify expand_and_dir_to_file
13552         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
13553         argument, since in practice it always has the default value.  All
13554         callers changed.  Prefer C99 style decls in nearby code.
13556 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
13558         Fix file-name completion on network shares
13560         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
13561         (Bug#28207)
13563 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13565         Fix a FIXME with an exegetical comment
13567         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
13568         regexp for wksh builtins.
13570 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13572         Minor docstring language fix
13574         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
13576 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13578         Remove old commented code from sh-script.el
13580         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
13581         and variable, commented since 2001.
13583 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13585         * lisp/emacs-lisp/package.el: Don't let failure stop us
13587         (package-activate-1): Don't throw an error for missing deps.
13588         (package-unpack): Don't bother compiling if activation failed.
13589         (package-initialize): Report failures but keep activating other packages.
13591 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13593         Prefer ‘double’ for FP temps in xterm.c
13595         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
13596         (x_set_toolkit_scroll_bar_thumb)
13597         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
13598         ‘float’ for individual local floating-point temporaries.
13600 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13602         Avoid using string-to-multibyte in ispell.el
13604         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
13605         decode-coding-string instead. Note that decode-coding-string returns a
13606         string that satisfies multibyte-string-p even if its input is pure
13607         ASCII and the third argument is t, so the result of
13608         ispell-get-decoded-string is always a multibyte string.
13610 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13612         Store the regexp just when there are matches
13614         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
13615         disabled and there are no matches do not store REGEXP
13616         in hi-lock-interactive-patterns.
13618 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13620         Keep face available if there are no matches
13622         If font-lock-mode is disabled in the current buffer, and
13623         there are no matches for REGEXP, then keep FACE available
13624         for a next search.
13625         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
13626         hi-lock--unused-faces if font-lock-mode is disabled and
13627         there are no matches.
13628         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
13630 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
13632         Minor improvements for tramp-interrupt-process, documentation
13634         * doc/lispref/processes.texi (Signals to Processes):
13635         * etc/NEWS: Document interrupt-process-functions.
13637         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
13638         `process-live-p'.
13640         * src/process.c (Vinterrupt_process_functions): Fix docstring.
13642         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13643         Extend test.
13645 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13647         Fix a comment whitespace typo.
13649         src/fileio.c: A double space was added after "..", used in a code
13650         example. Make it a single space.
13652 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13654         Remove old commented code and obsolete comments
13656         * lisp/files.el (locate-dominating-files): Remove old commented
13657         implementation from 9 years ago.  Since the current version
13658         appears (at least to me) not just more efficient but clearer than the
13659         version removed, also delete a comment in the new version referring to
13660         the old version. Remove old commented heuristic code,
13661         and explanatory comments.
13663 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13665         Remove old duplicate commented code
13667         * lisp/files.el (file-relative-name): Remove old commented version,
13668         replaced 14 years ago in commit 753ad9889.
13670 2017-08-24  Tom Tromey  <tom@tromey.com>
13672         Add conf-toml-mode
13674         * etc/NEWS: Mention conf-toml-mode.
13675         * lisp/files.el (auto-mode-alist): Add entry for .toml.
13676         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
13677         (conf-toml-font-lock-keywords): New defvars.
13678         (conf-toml-mode): New mode.
13680 2017-08-23  Alan Third  <alan@idiocy.org>
13682         Use lisp type in log message (bug#28176)
13684         * src/nsimage.m (ns_load_image): Use make_number on index.
13686 2017-08-23  Alan Third  <alan@idiocy.org>
13688         Fix PNGs on macOS (bug#28176)
13690         * src/nsimage.m (ns_load_image): Remove index check.
13691         (EmacsImage::getAnimatedBitmapImageRep): New function.
13692         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
13693         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
13694         is valid.
13696 2017-08-23  Alan Third  <alan@idiocy.org>
13698         Add ability to change macOS WM theme (bug#27973)
13700         * src/frame.c (make_frame, frame_parms, syms_of_frame)
13701         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
13702         options.
13703         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
13704         represent NSAppearance options.
13705         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
13706         ns_transparent_titlebar frame parameters.
13707         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
13708         ns_set_appearance and ns_set_transparent_titlebar handlers.
13709         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
13710         frame parameters.
13711         (Qdark): Add new symbol for use with ns-appearance.
13712         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
13713         [NS_IMPL_COCOA]: Add prototypes.
13714         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
13715         [NS_IMPL_COCOA]: New functions.
13716         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
13717         ns-transparent-titlebar frame parameters.
13718         * doc/lispref/frames.texi (Window Management Parameters): Document
13719         ns-apperance and ns-transparent-titlebar.
13721 2017-08-22  Alan Mackenzie  <acm@muc.de>
13723         When looking for the end of a declarator, prevent macros fouling up the search
13725         The practical implication of this bug was a random jit-lock chunk remaining
13726         entirely unfontified.
13728         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
13729         restrict two forward searches to the end of that macro.
13731 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
13733         Test `file-expand-wildcards' for Tramp
13735         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
13736         Remove, not needed anymore.
13738         * test/lisp/net/tramp-tests.el (top): Require seq.el.
13739         (tramp-test16-directory-files): Simplify.
13740         (tramp-test16-file-expand-wildcards): New test.
13741         (tramp-test28-interrupt-process): Skip for older Emacsen.
13743 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
13745         Add tests for cl-macs.el (Bug#27559)
13747         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
13748         duplicate.
13749         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
13750         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
13752 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
13754         Optimize skkdic conversion (Bug#28043)
13756         The primary speedup comes from the optimizing lookup-nested-alist and
13757         set-nested-alist for the case where the key is a string.  This brings
13758         the time down to less than half the original.
13760         * lisp/international/mule-util.el (lookup-nested-alist)
13761         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
13762         string.
13764         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
13765         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
13766         of calculating ratio of work done inline.
13768         (skkdic-reduced-candidates): Call `char-category-set' on the first
13769         character of the string directly, instead of using a regexp for the
13770         character category.
13771         (skkdic--japanese-category-set): New constant.
13772         (skkdic-collect-okuri-nasi): Just set
13773         `skkdic-okuri-nasi-entries-count' at once at the end rather than
13774         updating it throughout the loop.
13776         (skkdic-convert-postfix skkdic-convert-prefix)
13777         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
13778         (skkdic-extract-conversion-data): Use `match-string-no-properties'
13779         instead of `match-string'.
13781 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
13783         Treat tests in lib-src like tests in src
13785         * test/Makefile.in (test_template): Depend on a .c source file for a
13786         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
13787         in the right direction.)
13789 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13791         Port /bin/sh scripts to Solaris 10
13793         Its /bin/sh builtin ‘test’ command does not support -e.
13794         * autogen.sh, build-aux/git-hooks/pre-commit:
13795         * build-aux/gitlog-to-emacslog, make-dist:
13796         Use test -r, not test -e.
13798 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13800         Avoid losing the buffer restriction in flyspell-mode
13802         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
13803         as we have the buffer widened, to make sure the restriction is
13804         preserved.  (Bug#28161)
13806 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
13808         Fix the 'versionclean' target in src/Makefile
13810         * src/Makefile.in (versionclean): Don't accidentally remove
13811         emacs-module.h.  (Bug#28169)
13813 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
13815         Implement `interrupt-process-functions'
13817         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
13818         `tramp-advice-interrupt-process'.  Adapt according to changed API.
13819         (top): Add it to `interrupt-process-functions'.
13821         * src/process.c (Finternal_default_interrupt_process): New defun.
13822         (Finterrupt_process): Change implementation, based on
13823         Vinterrupt_process_functions.
13824         (Vinterrupt_process_functions): New defvar.
13826         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
13827         test removal of advice.
13829 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13831         Avoid floating-point exceptions while drawing underwave
13833         * src/w32term.c (x_get_scale_factor):
13834         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
13835         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
13836         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
13838 2017-08-21  Sam Steingold  <sds@gnu.org>
13840         mark flymake-mode as safe local variable when the value is nil
13842 2017-08-21  Sam Steingold  <sds@gnu.org>
13844         allow nil init in flymake-allowed-file-name-masks to disable flymake
13846         (flymake-allowed-file-name-masks): Update doc and :type.
13847         (flymake-get-file-name-mode-and-masks): Handle nil init.
13849 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13851         Remove the workaround for bug#20719
13853         * lisp/cedet/semantic/symref/grep.el
13854         (semantic-symref-grep-use-template): Remove the workaround for
13855         bug#20719, it's been fixed for a while now.
13857 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13859         Fix byte-compilation warnings in semantic/symref/grep
13861         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
13862         (grepflags): Rename to semantic-symref-grep-flags.
13863         (semantic-symref-grep-expand-keywords): Update accordingly.
13864         (semantic-symref-grep-use-template): Remove the last two
13865         arguments to make sure they don't shadow the (not renamed)
13866         global variables.
13867         (semantic-symref-perform-search)
13868         (semantic-symref-parse-tool-output-one-line): Use slot names
13869         instead of keywords, like the byte-compiler wants us to.
13871 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13873         Simplify eldoc-message
13875         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
13876         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
13878 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13880         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
13882         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
13883         carriage returns into the temporary file when running in unbuffered
13884         mode, the w32 build of python 2.7 chokes on them.
13886 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13888         Add missing require
13890         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
13892 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
13894         Implement `interrupt-process' for remote processes (Bug#28066)
13896         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
13897         Support sending signals remotely.
13898         (tramp-open-connection-setup-interactive-shell):
13899         Trace "remote-tty" connection property.
13901         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
13902         (top): Add advice to `interrupt-process'.  (Bug#28066)
13904         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13905         New test.
13906         (tramp-test29-shell-command)
13907         (tramp-test30-environment-variables)
13908         (tramp-test30-environment-variables-and-port-numbers)
13909         (tramp-test31-explicit-shell-file-name)
13910         (tramp-test32-vc-registered)
13911         (tramp-test33-make-auto-save-file-name)
13912         (tramp-test34-make-nearby-temp-file)
13913         (tramp-test35-special-characters)
13914         (tramp-test35-special-characters-with-stat)
13915         (tramp-test35-special-characters-with-perl)
13916         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
13917         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
13918         (tramp-test36-utf8-with-ls)
13919         (tramp-test37-asynchronous-requests)
13920         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
13921         (tramp-test40-unload): Rename.
13922         (tramp-test40-unload): Test also removal of advice.
13924 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13926         Document Enchant support
13928         * doc/emacs/fixit.texi: Mention Enchant.
13929         * doc/misc/efaq.texi: Likewise.
13930         * etc/NEWS: Add an item on Enchant support.
13932 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13934         Remove old comments and a redundant FIXME
13936         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
13937         commented code, a redundant FIXME, and outdated usage instructions.
13939 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13941         Add Enchant support to ispell.el (Bug#17742)
13943         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
13944         (ispell-really-enchant): Add variable.
13945         (ispell-check-version): If using Enchant, check it’s new enough (at
13946         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
13947         without.)
13948         (ispell-enchant-dictionary-alist): Add variable.
13949         (ispell-find-enchant-dictionaries): Add function, based on
13950         ispell-find-aspell-dictionaries.
13951         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
13952         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
13953         old ispell name to locale mapping code for Enchant too.
13954         (ispell-send-replacement): Make it work with Enchant.
13956 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13958         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
13960 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13962         Stop printing '4' in .elc files after 'define-symbol-prop' calls
13964         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
13965         Return nil in case we have compiled the form, to prevent a redundant
13966         constant from getting added to the compiled output.
13968 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13970         Change recent symlink tests to just test ASCII
13972         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
13973         Be less ambitious about testing non-ASCII chars and encoding
13974         errors, as there are too many portability issues.
13976 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13978         Don’t adjust CRLF in file names
13980         * doc/misc/gnus.texi (Non-ASCII Group Names):
13981         * etc/NEWS:
13982         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
13983         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
13984         that CRLF in file names is left alone.
13985         * lisp/international/mule-cmds.el (set-default-coding-systems):
13986         Do not alter CRLF in file name coding systems.
13987         (prefer-coding-system): Ignore differences in CRLF processing when
13988         checking whether we used the user-specified file name coding system.
13989         * test/src/fileio-tests.el: New file.
13991 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13993         Make list-processes support display-line-numbers
13995         * lisp/simple.el (process-menu-mode): Move the call to
13996         tabulated-list-init-header from here...
13997         (list-processes--refresh): ...to here.  (Bug#27895)
13999 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
14001         Improve support of display-line-numbers in package.el
14003         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
14004         the header.  (Bug#27895)
14005         * lisp/emacs-lisp/tabulated-list.el
14006         (tabulated-list-line-number-width): Fix the case when
14007         display-line-numbers is nil.
14009 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
14011         Improve support of display-line-numbers in tabulated-list-mode
14013         * lisp/emacs-lisp/tabulated-list.el
14014         (tabulated-list-line-number-width): New function.
14015         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
14016         (Bug#27895)
14018 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
14020         Fix one more issue reported by Alex (Bug#27999)
14022         * doc/lispref/windows.texi (Preserving Window Sizes)
14023         (Window Parameters): Use the term `window-preserved-size'
14024         instead of `preserved-size' (Bug#27999).
14026 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
14028         Rename `no-delete-other-window' to `no-delete-other-windows'
14030 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
14032         Fix two side window problems noted by Alex (Bug#27999)
14034         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
14035         typo.
14036         (delete-other-windows): Rename the `no-delete-other-window'
14037         parameter to `no-delete-other-windows' (see the discussion in
14038         Bug#27999 for the rationale of this change).
14039         * doc/lispref/windows.texi (Deleting Windows)
14040         (Frame Layouts with Side Windows, Window Parameters): Rename
14041         `no-delete-other-window' to `no-delete-other-windows'.
14043 2017-08-19  Alex Schroeder  <alex@gnu.org>
14045         Use define-minor-mode for rcirc-omit-mode
14047 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14049         Clarify behavior of symlinks and directories
14051         * doc/lispref/files.texi (Saving Buffers): Document how functions
14052         like rename-file work with symlinks and directories.  This patch
14053         attempts to document the current behavior better, in preparation
14054         for possibly changing it.  See Bug#27986.
14056 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14058         Fix recently-introduced file descriptor leak
14060         * src/fileio.c (Fmake_temp_file_internal):
14061         Don’t leak a file descriptor if write_region signals an error.
14063 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14065         Improve make-temp-file performance on local files
14067         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
14068         the work of inserting the text.
14069         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
14070         All callers changed.
14072 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
14074         Don't lose arguments to eshell aliases (Bug#27954)
14076         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
14078 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
14080         * lisp/files.el (make-temp-file): Fix directory use case.
14082 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
14084         Fix and document make-temp-file optional text parameter
14086         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
14087         (files--make-magic-temp-file): Support optional TEXT parameter.
14088         * etc/NEWS: Document it.
14089         * doc/lispref/files.texi: Document it.
14090         * test/lisp/auth-source-tests.el: Minor reformat.
14092 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
14094         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
14096         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
14098 2017-08-19  João Távora  <joaotavora@gmail.com>
14100         Fix default value of electric-pair-pairs and electric-pair-text-pairs
14102         (Bug#24901)
14104         A previous change, titled "Add support for curly quotation marks to
14105         electric-pair-mode", attempted to add these characters to the default
14106         value of these variables.  But it did so in a quoted list, preventing
14107         evaluation of the relevant expressions and resulting in an invalid
14108         format.
14110         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
14111         Use backquote and comma.
14113 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
14115         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
14117         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
14118         explicitly in the interactive case.
14120 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
14122         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
14124 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
14126         Add auth-source tests and codify its API better
14128         The auth-source behavior was unclear in some API use cases, so these
14129         extra tests codify and test it. For details see
14130         https://github.com/DamienCassou/auth-password-store/issues/29
14132         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
14133         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
14134           auth-source tests and simplify them with the new `make-temp-file'.
14136 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
14138         Don't call the same hook twice due to obsolete aliases
14140         * lisp/international/robin.el (robin-activate):
14141         * lisp/international/quail.el (quail-activate):
14142         * lisp/international/mule-cmds.el (deactivate-input-method):
14143         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
14144         Don't call the same hook twice, when the obsolete and the
14145         advertised symbols are aliased.  (Bug#28118)
14147 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
14149         A new face for show-paren in expression mode
14151         * lisp/faces.el (show-paren-match-expression): Define the new face.
14152         * lisp/paren.el (show-paren-function): Apply the different face
14153         when in expression mode.  (Bug#28047)
14155 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
14157         Non-ASCII support for man page section and header names
14159         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
14160         (Man-heading-regexp): Replace ASCII character classes by
14161         equivalent classes that allow non-ASCII characters.  Suggested by
14162         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
14164 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
14166         Implement HiDPI support for underwave on MS-Windows
14168         * src/w32term.c (x_get_scale_factor): New function.
14169         (w32_draw_underwave): Use it.
14170         * src/xterm.c (x_draw_underwave): Offset the wave starting point
14171         to make it identical with original code.
14173 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
14175         Support HiDPI displays for wave style underlines
14177         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
14178         based on scale factor.
14179         (x_get_scale_factor): New function.
14181 2017-08-18  Bastien  <bzg@gnu.org>
14183         Delete library-of-babel.org
14185         * etc/org/library-of-babel.org: Delete file.
14187 2017-08-18  Glenn Morris  <rgm@gnu.org>
14189         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
14191 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
14193         Remove custom version parsing from epg-config.el (Bug#27963)
14195         * lisp/epg-config.el (epg-config--compare-version)
14196         (epg-config--parse-version): Remove.
14197         (epg-check-configuration): Use `version<=' instead.
14199 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
14201         Treat control characters in JSON strings as invalid
14203         * lisp/json.el (json-peek): Reduce to following-char.
14204         (json-pop, json-read): Zero (null char) means end of file.
14205         (json-read-escaped-char): Delimit URL properly.
14206         (json-read-string): Signal error for ASCII control characters.
14207         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
14208         :json-eof symbol.
14209         (test-json-read-string): New test for control characters in JSON
14210         strings.
14212 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
14214         Support Posix semantics of 'rename' on MS-Windows
14216         * src/w32.c (sys_rename_replace): Support Posix semantics of
14217         'rename': return an error if OLD is a directory while NEW is not,
14218         or vice versa.
14220 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
14222         * src/w32.c (sys_rename_replace): Support renaming a directory.
14224 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
14226         Fix the MS-Windows build
14228         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
14229         'open'.
14231         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
14233 2017-08-17  João Távora  <joaotavora@gmail.com>
14235         Add flymake-backends defcustom
14237         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
14238         Rename from flymake-can-syntax-check-file.  Suitable for adding to
14239         flymake-backends.
14240         (flymake-proc-start-syntax-check): Rename from
14241         flymake-start-syntax-check.  Don't check again if buffer can be
14242         checked.
14243         (add-to-list flymake-backends): Hook only flymake-ui.el
14245         * lisp/progmodes/flymake-ui.el (flymake-backends): New
14246         defcustom.
14247         (flymake-on-timer-event, flymake-after-change-function)
14248         (flymake-after-save-hook, flymake-find-file-hook): Call new
14249         flymake--start-syntax-check-buffer and
14250         flymake--can-syntax-check-buffer.
14251         (flymake-mode): Call flymake--can-syntax-check-buffer and set
14252         flymake-backend.
14253         (flymake--backend): New buffer-local variable.
14255 2017-08-17  João Távora  <joaotavora@gmail.com>
14257         Split flymake.el into flymake-proc.el and flymake-ui.el
14259         flymake.el is now a stub that requires both files.
14261         * lisp/progmodes/flymake-proc.el: New file.
14263         * lisp/progmodes/flymake-ui.el: New file.
14265         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
14266           flymake-proc.el.  Require both files.
14268 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
14270         Set `default-directory' for watchdog in tramp-test.el
14272         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
14273         Set `default-directory' for watchdog.
14275 2017-08-17  Andreas Schwab  <schwab@suse.de>
14277         * lisp/term/konsole.el: New file.
14279 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
14281         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
14283         (woman2-RS): Use plain `push' instead of `woman-push'.
14284         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
14286 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14288         Merge from Gnulib; use ‘open’ for O_CLOEXEC
14290         This incorporates:
14291         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
14292         2017-08-15 extensions: enable NetBSD specific extensions
14293         2017-08-14 open: support O_CLOEXEC
14294         2017-08-13 reallocarray: new module
14295         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
14296         it now supports O_CLOEXEC and this simplifies Emacs.
14297         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
14298         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
14299         Copy from Gnulib.
14300         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
14301         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
14302         New files, copied from Gnulib.
14303         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14304         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
14305         Remove, as Gnulib does this for us.
14306         * src/filelock.c (create_lock_file):
14307         * src/sysdep.c (emacs_open, emacs_pipe):
14308         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
14310 2017-08-16  Alan Third  <alan@idiocy.org>
14311             Charles A. Roelli  <charles@aurox.ch>
14313         Allow use of run-time OS version checks on macOS (bug#27810)
14315         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
14316         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
14317         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
14318         defines.
14319         (NSWindowStyleMaskFullScreen,
14320         NSWindowCollectionBehaviorFullScreenPrimary,
14321         NSApplicationPresentationFullScreen,
14322         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
14323         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
14324         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
14325         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
14326         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
14327         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
14328         Allow use of run-time checks and replace version check macros.
14329         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
14330         * src/macfont.m (macfont_draw): Use run-time OS version checks.
14331         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
14333 2017-08-16  Alan Third  <alan@idiocy.org>
14335         Add multiframe image support to NS port (bug#21714)
14337         * src/nsimage.m (ns_load_image): Handle multiple frames.
14338         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
14339         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
14340         function prototypes.
14342 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
14344         files-tests.el: Remove unused lexical variable
14346         * test/lisp/files-tests.el (file-test--do-local-variables-test);
14347         Remove unused var 'files-test-queried'.
14349 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
14351         * doc/emacs/files.texi (Copying and Naming): Mention
14353         restrictions to add-name-to-file and make-symbolic-link on
14354         remote systems.
14356 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
14358         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
14360 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
14362         Add tests for previous commit
14364         * test/lisp/progmodes/elisp-mode-tests.el
14365         (elisp-mode-tests--face-propertized-string): New function.
14366         (elisp--highlight-function-argument-indexed)
14367         (elisp--highlight-function-argument-keyed-1)
14368         (elisp--highlight-function-argument-keyed-2): New tests.
14370 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
14372         Fix eldoc highlighting for &key args (Bug#27272)
14374         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
14375         Only switch to keyword-based searching if INDEX point beyond `&key' in
14376         the argument list.  All arguments prior to the `&key' are position
14377         based.  Additionally, be more strict about what is a keyword when
14378         searching for the current keyword.
14380 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14382         Do not assume regular Git .git/hooks dir
14384         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
14385         Problem reported by Ted Zlatanov in:
14386         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
14387         * autogen.sh (git_sample_hook_src): New function.  Use it to work
14388         even if .git/hooks or its samples do not exist.
14390 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14392         New manual section "Copying and Naming"
14394         * doc/emacs/files.texi (Copying and Naming):
14395         New section, split off from Misc File Ops and containing the
14396         operations that copy, name or rename files.  This fixes some
14397         confusion caused by the incorrect phrase "The same rule applies
14398         to all the remaining commands in this section" in the old manual.
14399         This change does not affect the confusion about directories (see
14400         Bug#27986 for ongoing discussion).
14402 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
14404         Fix the MS-Windows build
14406         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
14407         ENOSYS.  (Bug#28097)  (Bug#27986)
14409 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
14411         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
14413         * .gitlab-ci.yml: add Git to the installed packages.
14415 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
14417         Support indentation of detached Less CSS rulesets
14419         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
14420         for indentation of detached rulesets passed to Less mixins.
14422         * test/manual/indent/less-css-mode.less: New file.
14424 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
14426         Fixes and tweaks for the new Less CSS mode
14428         * etc/NEWS: Add an entry for the new mode.
14430         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
14431         (less-css-lessc-command): Tweak docstring. Don't mark it as
14432         safe. Don't autoload.
14433         (less-css-compile-at-save, less-css-lessc-options)
14434         (less-css-output-directory): Tweak docstrings. Don't autoload.
14435         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
14436         (less-css-input-file-name): Tweak docstring. Don't autoload.
14437         (less-css-compile-maybe): Use `when' for one-armed `if'.
14438         (less-css--output-path): Tweak docstring.
14439         (less-css--maybe-shell-quote-command): Remove function.
14440         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
14441         compiler warning. Use `string-join' instead of `mapconcat'.
14442         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
14443         variables.
14444         (less-css-mode-syntax-table, less-css-mode-map): New variables.
14445         (less-css-mode): Change status line mode name from "LESS" to
14446         "Less". Tweak docstring. Move syntax table definitions to
14447         `less-css-mode-syntax-table'.
14448         (less-css-indent-line): Remove function.
14450 2017-08-15  Steve Purcell  <steve@sanityinc.com>
14452         New major mode: Less CSS mode
14454         * lisp/textmodes/less-css-mode.el: New file.
14456 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
14458         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
14460         * lisp/arc-mode.el (archive-int-to-mode):
14461         Swap order of 2048 and 1024 tests (Bug#28092).
14462         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
14463         Update test.
14465 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14467         Improve rename-file port to macOS
14469         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
14470         fail with errno == ENOTSUP on file systems where it is not
14471         supported, according to the Apple documentation.
14473 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
14475         Speed up ./configure with more caching (Bug#27960)
14477         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
14478         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
14479         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
14480         characters', and 'Windows API header' checks.  Remove pause after
14481         warning about GTK bug.
14483 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14485         Improve rename-file behavior on macOS
14487         Problem reported by Philipp Stephani (Bug#27986).
14488         * src/fileio.c (Frename_file):
14489         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
14490         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
14491         since this provides the necessary atomicity guarantees.
14493 2017-08-14  Glenn Morris  <rgm@gnu.org>
14495         Clean up temp files after some tests
14497         * test/lisp/emacs-lisp/bytecomp-tests.el
14498         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
14499         * test/lisp/progmodes/etags-tests.el
14500         (etags-buffer-local-tags-table-list): Delete temp file at end.
14502 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
14504         Implement renameat_noreplace for MS-Windows
14506         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
14507         emulation for MS-Windows.  (Bug#27986)
14509 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
14511         Fix 'rename' on MS-Windows
14513         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
14514         the primitive rename errors out with EEXIST.
14516 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
14518         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
14520 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
14522         Tiny JSON performance improvement
14524         Get rid of some needless uses of apply.  Measuring with
14525           (benchmark-run 10 (json-read-file "test.json"))
14526         showed 1.5-2.5% reduction of execution time.
14527         * lisp/json.el (json-peek): Nix let-binding.
14528         (json-read-string): Use concat for making a string from chars.
14529         (json-read-array): Use cond and more appropriate conversion instead
14530         of blindly applying.
14532 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14534         Be consistent in spelling 'ok-if-already-exists'.
14536 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
14538         Use 'header-line-highlight' face in proced and erc
14540         * lisp/erc/erc-list.el (erc-list-button):
14541         * lisp/proced.el (proced-format): Use the 'header-line-highlight
14542         face.  (Bug#28033)
14544 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
14546         Remove feeds with dead uris from newsticker--raw-url-list-defaults
14548         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
14549           Remove feeds with dead uris.
14551 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14553         Fix vertical cursor motion when cursor is on the fringe
14555         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
14556         setting temporary-goal-column when newline overflows into the
14557         fringe.  Support that use case in R2L paragraphs as well.
14559 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14561         Fix vertical cursor motion across too wide images
14563         * src/indent.c (Fvertical_motion): If lines are truncated and we
14564         end up beyond the right margin of the window, don't assume we are
14565         in the next screen line, unless VPOS actually says so.  (Bug#28071)
14567 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14569         Add test suites for arc-mode and tar-mode
14571         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
14572         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
14573         New tests.
14575 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14577         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
14579 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
14581         Fix uri of Emacs Wiki
14583         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
14584           uri of Emacs Wiki.  (Bug#27981)
14586 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14588         Fix make-temp-file bug with ""/"."/".." prefix
14590         The bug with "." and ".." has been present for a while; I
14591         introduced the bug with "" earlier today in my patch for Bug#28023.
14592         * lisp/files.el (make-temp-file): Do not use expand-file-name if
14593         PREFIX is empty or "." or "..", as it does the wrong thing.
14594         Compute absolute-prefix here ...
14595         (files--make-magic-temp-file): ... instead of here ...
14596         * src/fileio.c (Fmake_temp_file_internal): ... or here.
14598         * lisp/files.el (make-temp-file): If the prefix is empty, append
14599         "/" to the absolute prefix so that the new files are children
14600         rather than siblings of temporary-file-directory.  This fixes a
14601         bug introduced in the previous change.
14602         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
14603         New test, for the bug.
14605 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14607         Improve make-temp-file performance on local files
14609         For the motivation behind this patch, please see Bug#28023 and:
14610         http://emacshorrors.com/posts/make-temp-name.html
14611         Although, given the recent changes to Tramp, the related security
14612         problem in make-temp-file is already fixed, make-temp-file still has
14613         several unnecessary system calls.  In the typical case on GNU/Linux,
14614         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
14615         getpid, unlink, umask) by 2 (open, close).
14616         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
14617         that Emacs is using it directly.
14618         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
14619         no longer needed.
14620         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14621         * lisp/files.el (files--make-magic-temp-file): Rename from
14622         make-temp-file.
14623         (make-temp-file): Use make-temp-file-internal for
14624         non-magic file names.
14625         * src/fileio.c: Include tempname.h.
14626         (make_temp_name_tbl, make_temp_name_count)
14627         (make_temp_name_count_initialized_p, make_temp_name): Remove.
14628         (Fmake_temp_file_internal): New function.
14629         (Fmake_temp_name): Use it.
14630         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
14631         instead of make_temp_name.
14633 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14635         Document internal-use naming conventions
14637         * doc/lispref/functions.texi (Function Names):
14638         * doc/lispref/variables.texi (Tips for Defining):
14639         Document naming conventions for internal-use functions and vars.
14640         See Bug#28023#59.
14642 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14644         Simplify re and document 'autoconf.sh all'
14646         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
14647         ./autogen.sh defaults to "all".  All uses removed.
14648         * README: Mention autoconf.sh's effect on Git configuration.
14650 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14652         Default autogen.sh to 'all'
14654         This addresses a problem noted by RMS in:
14655         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
14656         * autogen.sh (do_git): Set to true if this script is invoked
14657         with no arguments and there is a .git subdirectory.
14659 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14661         Adjust jka-compr to recent Tramp changes.
14663         * lisp/jka-compr.el (jka-compr-write-region):
14664         Two new args LOCKNAME and MUSTBENEW.
14666 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14668         Improve doc strings of 2 functions in simple.el
14670         * lisp/simple.el (beginning-of-visual-line)
14671         (move-beginning-of-line): Doc fix.  Reported by
14672         Justin Burkett <justin@burkett.cc>.
14674 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14676         Fix completion on directory names on MS-DOS/MS-Windows
14678         * src/msdos.c (faccessat):
14679         * src/w32.c (faccessat): Support relative file names, and add D_OK
14680         to 'mode' if the argument is a directory.  This unbreaks file-name
14681         completion when the completion result is a directory.
14683 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
14685         Implement EXCL of write-region for Tramp
14687         * lisp/net/ange-ftp.el (ange-ftp-write-region):
14688         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
14689         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14690         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
14691         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14692         Implement MUSTBENEW.
14694         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
14695         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
14696         (tramp-sh-handle-add-name-to-file)
14697         (tramp-do-copy-or-rename-file)
14698         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
14699         Adapt error message for `file-already-exists'.
14701         * src/lisp.h:
14702         * src/eval.c (call8): New function.
14704         * src/fileio.c (write_region): Pass also lockname and
14705         mustbenew to the file name handler.
14707         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
14708         Add tests for MUSTBENEW.
14710 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14712         Adapt Proced display to display-line-numbers
14714         * lisp/proced.el (proced-header-line): Account for the width taken
14715         by display-line-numbers.  (Bug#27895)
14717 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14719         Adapt tabulated list when display-line-number is turned on
14721         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
14722         a hook to revert the display when display-line-numbers is turned
14723         on.  (Bug#27895)
14725 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14727         Use Gnulib 'tempname' on MS-Windows
14729         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
14730         now in nt/inc/ms-w32.h.
14731         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
14732         (mkostemp): Remove.
14734         * src/w32.c (mkostemp): Remove.
14735         (sys_mkdir): Accept a second (unused) argument.
14736         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
14737         specific call to mkdir.  (Bug#28023)
14739         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
14740         to accept 2 arguments.
14741         (open): Remove from "#ifdef emacs".
14742         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
14743         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
14744         (OMIT_GNULIB_MODULE_tempname): Remove.
14746 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
14748         Add new face 'header-line-highlight'
14750         * lisp/faces.el: Define the face.
14751         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
14752         * lisp/info.el (Info-fontify-node): Use the new face.
14753         * doc/emacs/display.texi (Standard Faces):
14754         * etc/NEWS: Document the new face.  (Bug#28033)
14756 2017-08-12  Arash Esbati  <arash@gnu.org>
14758         Make a case-sensitive match for strings
14760         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
14761         let-bind `case-fold-search' to nil in order to be case-sensitive
14762         when matching a string.  (Bug#27518)
14764 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
14766         Fix a minor todo-mode regression
14768         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
14769         save-excursion.  This fixes a regression introduced by the fix
14770         for bug#27609, whereby trying to raise the priority of the
14771         first item or lower the priority of the last item, which
14772         should be noops, moves point to the item's start.  Clarify
14773         comment.
14775         * test/lisp/calendar/todo-mode-tests.el
14776         (todo-test-raise-lower-priority): Add test cases for trying to
14777         raise first item and lower last item.
14778         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
14779         (todo-test-toggle-item-header02): Remove ":expected-result
14780         :failed" and tests of point after todo-next-item, since the
14781         effect when using Todo mode is not reproducible in the test
14782         environment.  Add commentary about this.
14784 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14786         Improve performance for rename-file etc.
14788         Although this does not fix Bug#27986, it is a step forward.
14789         I plan to propose a more-significant patch later.
14790         * lisp/files.el (directory-name-p): Move from here ...
14791         * src/fileio.c (Fdirectory_name_p): ... to here.
14792         (directory_like, cp_like_target): New static functions.
14793         (Fcopy_file, Frename_file, Fadd_name_to_file)
14794         (Fmake_symbolic_link):
14795         Use them, to avoid directory-testing syscalls on file names that
14796         must be directories if they exist.  Omit unnecessary
14797         initializations and CHECK_STRING calls.
14798         (Frename_file): Don't call file_name_case_insensitive_p
14799         twice on the same file.  Compare both file names expanded, instead
14800         of the old name expanded and the new one unexpanded.
14802 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
14804         Respect buffer-local value of tags-table-list (Bug#27772)
14806         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
14807         buffer around the `tags-table-including' calls so as to get buffer
14808         local variables from the right buffer later.
14809         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
14810         New test.
14811         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
14812         constant.
14813         (etags-bug-158, etags-bug-23164): Use it so that when running the test
14814         interactively, setting EMACS_TEST_DIRECTORY is not needed.
14816 2017-08-10  Tom Tromey  <tom@tromey.com>
14818         Fix auto-filling regression
14820         Bug#28003
14821         * lisp/newcomment.el (comment-indent-new-line): Check
14822         comment-auto-fill-only-comments.  Reverts earlier change.
14823         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
14824         do-auto-fill.
14826 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14828         Merge from gnulib
14830         This incorporates:
14831         2017-08-09 tempname: do not depend on secure_getenv
14832         2017-08-08 extensions: add _OPENBSD_SOURCE
14833         2017-08-06 manywarnings: Add support for C++
14834         2017-08-06 warnings, manywarnings: Add support for multiple languages
14835         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
14836         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14837         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
14838         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
14839         Copy from gnulib.
14841 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
14843         Fix crashing emacs-module tests on MS-Windows
14845         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
14846         variable.
14847         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
14848         away, without displaying the Abort dialog, which waits for the user.
14850         * test/src/emacs-module-tests.el (module--test-assertion): Run the
14851         inferior Emacs with the w32 abort dialog disabled.  Expect the
14852         status of the aborted Emacs sub-process to be 3 on MS-Windows and
14853         2 on MS-DOS.
14855 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14857         dired-delete-file:  Dont't ask for empty dirs
14859         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
14860         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
14862         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
14863         New auxiliar macro.
14864         (dired-test-bug27940): Add new test.
14866 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14868         Ask files for deletion in buffer order: top first, botton later
14870         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
14871         Call `nreverse' t invert the output of `dired-map-over-marks'.
14873 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
14875         Use help-mode xrefs in describe-font
14877         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
14878         (Bug#27890).
14880 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
14882         Don't try to jump to non-existent part (bug#28013)
14884         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
14885         the next part if there is the only one part in the article (bug#28013).
14887 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14889         Replace some uses of eval
14891         There are a number of places where eval is used unnecessarily to get
14892         or set the value of a symbol.
14893         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
14894         custom setter.
14895         * lisp/desktop.el (desktop-clear): Use set-default instead.
14896         * lisp/international/ogonek.el (ogonek-read-encoding): Use
14897         symbol-value.
14899 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14901         Convert uses of looking-at in viper-ex to following-char
14903         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
14904         (following-char) and use it in the subsequent cond's clauses.
14905         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
14906         Convert single branch ifs to when
14908 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14910         Some cleanup in message.el
14912         * lisp/gnus/message.el (message-cross-post-insert-note):
14913         (message-strip-forbidden-properties): Mark unused args.
14914         (message-canlock-generate): Remove extinct variable
14915         sha1-maximum-internal-length.
14916         (message-make-mail-followup-to): Use loop's thereis clause.
14918 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14920         Document make-temp-name magic limitations
14922         * doc/lispref/files.texi (Unique File Names):
14923         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
14924         does not guarantee uniqueness on magic file names.
14926 2017-08-08  Tom Tromey  <tom@tromey.com>
14928         Show number of errors in compilation-mode mode-line
14930         Bug#25354
14931         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
14932         default value.
14933         (compilation-num-warnings-found, compilation-num-infos-found): New
14934         defvars.
14935         (compilation-mode-line-errors): New defconst.
14936         (compilation-face): Remove.
14937         (compilation-type, compilation--note-type): New functions.
14938         (compilation-parse-errors): Call compilation--note-type.
14939         (compilation-start): Include compilation-mode-line-errors in
14940         mode-line-process.
14941         (compilation-setup): Initialize compilation-num-* variables to 0.
14942         (compilation-handle-exit): Include compilation-mode-line-errors in
14943         mode-line-process.
14944         * doc/emacs/building.texi (Compilation): Document new feature.
14946 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14948         Do some cleanup in mailcap.el
14950         * lisp/net/mailcap.el: Use lexical-binding.
14951         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
14952         destructuring.
14953         (mailcap-mime-data): Remove some entries for ancient functions.
14954         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
14955         (mailcap-parse-mimetype-file): Just use append.
14956         (mailcap-command-p): Remove unused function.
14958 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
14960         query-replace: Undo replacements performed with 'comma
14962         During a `query-replace', the char ',' replaces the character
14963         at point and doesn't move point;  right after, the char 'u'
14964         must undo such replacement (Bug#27268).
14965         * lisp/replace.el (replace--push-stack):
14966         New macro extracted from `perform-replace'.
14967         (perform-replace): Use it.
14968         * test/lisp/replace-tests.el (query-replace--undo): Add test.
14970 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14972         Don't define gv expanders in compiler's runtime (Bug#27016)
14974         This prevents definitions being compiled from leaking into the current
14975         Emacs doing the compilation.
14976         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
14977         of `put' with `eval-and-compile'.
14978         * test/lisp/emacs-lisp/gv-tests.el: New tests.
14980 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14982         Let the cl-typep effects of defclass work during compilation (Bug#27718)
14984         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
14985         instead of `put'.
14986         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
14987         (eieio-tests--dummy-function): Remove.
14988         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
14989         expect to fail if compiled.
14991 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
14992             Noam Postavsky  <npostavs@gmail.com>
14994         Let `define-symbol-prop' take effect during compilation
14996         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
14997         (Fget): Consult it.
14998         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
14999         it to nil.
15000         (byte-compile-define-symbol-prop): New function, handles compilation
15001         of top-level `define-symbol-prop' and `function-put' calls by putting
15002         the symbol setting into `overriding-plist-environment'.
15004 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
15006         Add a test of handling of circular values to testcover-tests
15008         * test/lisp/emacs-lisp-testcover-resources/testcases.el
15009         (testcover-testcase-cyc1): New function.
15010         (testcover-tests-circular-lists-bug-24402): New test.
15012 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
15014         Don't error on circular values in testcover
15016         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
15017         Consider circular lists to be non-equal instead of signaling error.
15019 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
15021         Catch argument and macroexpansion errors in ert
15023         This kludge catches errors caused by evaluating arguments in ert's
15024         should, should-not, and should-error macros; it also catches
15025         macroexpansion errors inside of the above macros (Bug#24402).
15027         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
15028         (ert--expand-should-1): Catch macroexpansion errors.
15029         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
15030         (ert-test-should-error-macroexpansion): Tests for argument and
15031         expansion errors.
15033 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
15035         Revert "Add Enchant support to ispell.el (Bug#17742)"
15037         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
15039 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
15041         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
15043         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
15045 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
15047         Add support for arguments in ALTERNATE_EDITOR to emacsclient
15049         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
15050         corresponding command-line argument, into space-separated tokens.
15051         * etc/NEWS: Document.
15052         * test/lib-src/emacsclient-tests.el: Add a test.
15054 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
15056         Add Enchant support to ispell.el (Bug#17742)
15058         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
15059         (ispell-really-enchant): Add variable.
15060         (ispell-check-version): If using Enchant, check it’s new enough (at
15061         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
15062         without.)
15063         (ispell-enchant-dictionary-alist): Add variable.
15064         (ispell-find-enchant-dictionaries): Add function, based on
15065         ispell-find-aspell-dictionaries.
15066         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
15067         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
15068         old ispell name to locale mapping code for Enchant too.
15069         (ispell-send-replacement): Make it work with Enchant.
15071 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
15073         Allow async command output buffer to be shown only on output
15075         * lisp/simple.el (async-shell-command-display-buffer): Add
15076         defcustom.
15077         (shell-command): Use the new defcustom to determine whether to show
15078         the buffer immediately, or add a process filter that shows it only
15079         when there is some output.
15080         * etc/NEWS: Document the new variable.
15081         * doc/emacs/misc.texi: Likewise.
15083         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
15085 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
15087         Fix infinite recursion under prettify-symbols-mode and linum-mode
15089         * src/xdisp.c (get_overlay_strings_1)
15090         (handle_single_display_spec, push_prefix_prop): Invalidate the
15091         composition information before starting to iterate on a string.
15092         Otherwise we might think in set_iterator_to_next that we are
15093         delivering characters from a composition, and do all kinds of
15094         nonsensical things, like over-step the string end.  (Bug#27761)
15096 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
15098         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
15100 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
15102         Fix doc-string of `delete-other-windows'
15104         * lisp/window.el (delete-other-windows): Fix doc-string.
15106 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15108         Fix a couple more make-temp-file races
15110         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
15111         Use make-temp-name, not make-temp-file with retry.
15112         (basic-save-buffer-2): Use condition-case, instead of
15113         unwind-protect with a success flag.
15115 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
15117         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
15119         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
15120         characters following filename in grep context lines.
15121         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
15122         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
15123         (grep-regexp-alist): Recombine their contents here.
15124         (grep-mode):
15125         * lisp/cedet/semantic/symref/grep.el
15126         (semantic-symref-parse-tool-output-one-line):
15127         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
15128         `grep-regexp-alist' rather than the function.
15130 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15132         Fix some crashes on self-modifying Elisp code
15134         Prompted by a problem report by Alex in:
15135         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
15136         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
15137         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
15138         it is likely to run a bit faster with typical hardware caches.
15139         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
15140         self-modifying S-expressions.
15141         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
15142         instead of trusting an Flength prepass, to avoid problems when the
15143         code is self-modifying.
15144         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
15145         where either will do.  This is mostly to document the fact that
15146         the value must be a proper list.  It's also a tiny bit faster on
15147         typical machines nowadays.
15148         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
15149         (eval_sub): Check that the args are a list as opposed to some
15150         other object that has a length. This prevents e.g. (if . "string")
15151         from making Emacs dump core in some cases.
15152         * test/src/eval-tests.el (eval-tests--if-dot-string)
15153         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
15154         New tests.
15156 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
15158         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
15160 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
15162         Minor tweak in a dired test
15164         * test/lisp/dired-tests.el (dired-test-bug27968):
15165         Ensure the new header has different length than the original one.
15167 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
15169         dired-delete-file: Do not TAB complete the user answer
15171         This action might delete directories containing valuable information.
15172         Before previous commit, we prompted users with `yes-or-no-p'
15173         which doesn't TAB complete the user answer.  Let's play safe and
15174         keep requiring full answers.
15175         * lisp/dired.el (dired-delete-file): Use `read-string'
15176         instead of `completing-read' to read the user answers.
15178 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
15180         dired-do-delete: Allow to delete dirs recursively without prompts
15182         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
15183         'all', to delete all directories recursively and no prompt anymore.
15184         'quit', to cancel directory deletions (Bug#27940).
15185         Show help message when user inputs 'help'.
15186         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
15187         so that we can overwrite its global value.
15188         Wrapp the loop within a catch '--delete-cancel to catch when
15189         the user abort the directtry deletion.
15190         * doc/emacs/dired.texi (Dired Deletion): Update manual.
15191         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
15192         Announce this change.
15194 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15196         Fix a couple of make-temp-file races
15198         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
15199         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
15200         Use make-temp-file, not make-temp-name, to avoid an unlikely race
15201         that could lose data.  Remove the deletion hook as quickly as
15202         possible after the file is renamed; though a race still remains
15203         here, it is smaller than before.
15205 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
15207         Dired w/ eshell-ls: Handle shell wildcards in file name
15209         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
15210         Use eshell-extended-glob (Bug#27844).
15211         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
15213 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
15215         dired-revert: save line numbers instead of positions
15217         Positions might change if the length of one dired header line
15218         changes; this happen, for instance, if we add new files.
15219         Instead, line numbers are invariant under shrinks/enlargements
15220         of the file header.
15221         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
15222         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
15223         (dired-restore-positions): Use forward-line to restore the original
15224         position (Bug#27968).
15225         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
15227 2017-08-06  Tom Tromey  <tom@tromey.com>
15229         Respect comment-auto-fill-only-comments
15231         Respect comment-auto-fill-only-comments when auto-filling and a
15232         comment syntax is defined.
15234         * lisp/newcomment.el (comment-indent-new-line): Do not check
15235         comment-auto-fill-only-comments.
15236         * lisp/simple.el (internal-auto-fill): New defun.
15237         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
15238         auto_fill_function.
15239         (syms_of_cmds): Define Qinternal_auto_fill.
15241 2017-08-05  Richard Stallman  <rms@gnu.org>
15243         * etc/tutorials/TUTORIAL: Update.
15245 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15247         Unify CNS11643-15 in a way that avoids segfaults
15249         * lisp/international/mule-conf.el: Redo unification of
15250         cns11643-15.  (Bug#27964)
15251         (chinese-cns11643-15): Add the missing :unify-map attribute.
15253 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15255         Avoid segfaults while producing Punct.el
15257         * lisp/international/mule-conf.el: Undo unification of
15258         cns11643-15, as that causes segfaults during bootstrap.
15259         (Bug#27964)
15261 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15263         Make header line in some modes be sensitive to display-line-numbers
15265         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
15266         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
15267         (tabulated-list-print-entry): Account for the width taken by
15268         line-number display.  (Bug#27895)
15270 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15272         Fix a bug in 'generate-new-buffer-name'
15274         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
15275         nil before calling string-equal, since the latter will compare
15276         "nil and 'nil' as equal.  (Bug#27966)
15278         * test/src/buffer-tests.el
15279         (test-generate-new-buffer-name-bug27966): New test.
15281 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15283         Unify CNS11643-15
15285         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
15286         unify-charset form for it.  (Bug#27964)
15288 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15290         Improve test of error message when Emacs cannot be suspended
15292         * lisp/term/x-win.el (x-win-suspend-error):
15293         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
15294         message.  (Bug#27901)
15296 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
15298         Make "C-h o" show faces as well as variables
15300         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
15301         the placement of variables/faces in describe-symbol, to put more
15302         emphasis on the variable entry rather than the face.  (Bug#24543)
15304 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15306         Fix files-tests.el for MS-Windows
15308         * test/lisp/files-tests.el
15309         (files-tests--file-name-non-special--subprocess): Fix this test
15310         for MS-Windows.
15312 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
15314         Improve documentation of 'region-extract-function'
15316         * lisp/simple.el (region-extract-function): Rename the argument to
15317         METHOD.  Doc fix.  (Bug#27927)
15319 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15321         Merge from gnulib
15323         This incorporates:
15324         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
15325         2017-08-01 manywarnings: port to 32-bit GCC bug
15326         * lib/gnulib.mk.in: Regenerate.
15327         * m4/manywarnings.m4: Copy from gnulib.
15329 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15331         Port recent rename changes to Ubuntu 14.04
15333         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
15334         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
15336 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
15338         insert-directory-wildcard-in-dir-p: Tweak regexp
15340         This function must return non-nil for a wildcard like '/*/*.txt'.
15341         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
15342         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
15343         Add test.
15345 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
15347         Implement iterator generator for avl-trees.
15349         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
15351 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
15353         ls-lisp: Drop eshell dependencies
15355         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
15356         expand the wildcards.
15357         Suggested by Fabrice Popineau in:
15358         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
15359         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
15361 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
15363         Fix dired-test-bug27631 on MS-Windows
15365         Skip the test if Dired use 'ls' emulation with lisp.  The same
15366         bug is tested in their respective test suites: ls-lisp-tests.el
15367         and em-ls-tests.el.
15368         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
15369         or 'eshell' features are enabled.
15371 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
15373         Fix dired-test-bug25609 on MS-Windows
15375         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
15376         pass temporary files through file-truename, to avoid bogus
15377         failures due to file-name comparison as strings.
15379 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
15381         Fix 2 tests that fail in MS-Windows
15383         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
15384         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
15385         Add comments to explain the test logic.
15386         Pass '--binary' option to 'patch' program in windows environments.
15387         Check explicitly that a backup is created before compare file contents.
15389         * test/lisp/dired-tests.el (dired-test-bug25609):
15390         Declare variable 'dired-dwim-target' right before the test.
15391         Add comments to explain the test logic.
15392         Ensure, before test the bug condition, that we are displaying the
15393         2 dired buffers created in this test, and no other dired buffer
15394         is shown.
15396 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
15398         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
15400         * lisp/files.el (insert-directory): Don't hardcode "-c".
15401         * lisp/term.el (term, ansi-term): Use shell-file-name.
15403 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15405         Fix version numbers for some GnuTLS features
15407         Problem reported by Glenn Morris (Bug#27708#58).
15408         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
15409         New macro.  Use it instead of low-level version number checks.
15410         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
15411         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
15412         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
15413         (HAVE_GNUTLS3_HMAC): Remove, since these were available
15414         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
15415         is defined.  Remove all uses; this simplifies the code a bit.
15417 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15419         Port recent rename changes to RHEL 7 + NFS
15421         Problem reported by Ted Zlatanov in:
15422         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
15423         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
15424         with errno == EINVAL when it is not supported.  So treat that case
15425         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
15426         nil nor an integer, just call plain rename; this avoids an extra
15427         syscall to renameat2 when the latter fails with errno == EINVAL or
15428         ENOSYS or ENOENT.
15430 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15432         Port GnuTLS usage to Ubuntu 16.04.2 LTS
15434         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
15435         later, as opposed to the old 3.4.0 or later.
15437 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15439         Simplify configuration of HAVE_GNUTLS3 etc.
15441         There's only one GnuTLS, so configuring these symbols at
15442         'configure' time is overkill.  Simplify things by moving their
15443         configuration to src/gnutls.h (Bug#27708).
15444         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
15445         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
15446         from here ...
15447         * src/gnutls.h: ... to here, and simplify.
15449 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15451         Default to --with-mailutils if it is installed
15453         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
15454         is installed.  See:
15455         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
15457 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15459         Clarify when autogen.sh should run only autoconf
15461         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
15462         not plain ‘./autogen.sh’, to make it clear that only
15463         autoconf-related tools should be run here.
15465 2017-08-02  Toon Claes  <toon@iotcl.com>
15467         .gitlab-ci.yml: Use stretch Debian image instead of unstable
15469 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
15471         Add debugging messages to a Dired test
15473         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
15474         positions saved and restored by dired-revert to try and find
15475         out why the test fails on Hydra.
15477 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15479         ls-lisp: Autoload call instead of cookie
15481         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
15483 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15485         When renaming a file, ask only if EEXIST or ENOSYS
15487         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
15488         more than once on FILE.  Use renameat_noreplace, so that we can
15489         ask the user (and unlink and retry) only if this fails with errno
15490         == EEXIST or ENOSYS.  This avoids the need to ask the user for
15491         permission to do an operation that will fail anyway.  Simplify
15492         computation of ok_if_already_exists for subsidiary functions.
15493         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
15494         if it works, as this avoids the need to link and unlink.
15495         * src/lisp.h (renameat_noreplace): New decl.
15496         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
15497         (renameat_noreplace): New function.
15499 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15501         When creating a link, ask only if EEXIST
15503         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
15504         Ask the user (and unlink and retry) only if link creation fails
15505         with errno == EEXIST.  This avoids the need to ask the user for
15506         permission to do an operation that will fail anyway.
15508 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15510         dired-align-file: Inherit text properties in inserted spaces
15512         * lisp/dired.el (dired-align-file): Inherit text
15513         properties in inserted spaces (Bug#27899).
15514         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
15516 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15518         Don't assume /bin/sh as the 'sh' location in the local host
15520         * lisp/dired.el (dired-insert-directory): Use executable-find in
15521         a local host.
15523 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15525         Move dired tests using ls emulation to different files
15527         Suggested in:
15528         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
15529         * test/lisp/dired-tests.el (dired-test-bug27693)
15530         (dired-test-bug27762, dired-test-bug27817)
15531         (dired-test-bug27631, dired-test-bug27843): Delete those
15532         parts requiring either ls-lisp or eshell-ls.
15534         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
15535         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
15536         Add all dired tests using ls-lisp here.
15538         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
15539         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
15540         all dired tests using eshell-ls here.
15542 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15544         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
15546 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
15548         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
15549         Say the handle is already decoded.
15550         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
15552 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15554         Don’t worry about unlink if errno == ENOENT
15556         * src/fileio.c (Fdelete_file):
15557         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
15558         remove a file if unlink fails with errno == ENOENT.  This can
15559         happen even if Emacs is the only program removing the file, in
15560         case an NFS cache overflows.  The file does not exist if errno ==
15561         ENOENT, so it is OK to proceed.
15563 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15565         Fix misalignment in Dired when dired-directory is a cons
15567         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
15568         New defuns.
15569         (dired-internal-noselect): Call dired--align-all-files when
15570         dired-directory is a cons (Bug#27762).
15571         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
15573 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
15575         Fix some dired-tests.el on MS-Windows
15577         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15578         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
15579         file-truename, to avoid bogus failures due to file-name comparison
15580         as strings.
15582 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15584         Insert subdir content if dir-or-list is a string w/o wildcards
15586         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
15587         Append '("-d") into 'eshell-ls-dired-initial-args'
15588         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
15589         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
15591 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
15593         Update todo-mode defcustoms in a less hideous way
15595         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
15596         (todo-reevaluate-default-file-defcustom)
15597         (todo-reevaluate-category-completions-files-defcustom)
15598         (todo-reevaluate-filter-files-defcustom): Delete these functions.
15599         (todo-update-filelist-defcustoms): New function.  This replaces
15600         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
15601         property instead of re-evaluating the defcustoms.
15602         (todo-add-file, todo-rename-file, todo-delete-file)
15603         (todo-delete-category, todo-move-category)
15604         (todo-convert-legacy-files, todo-check-file): Replace call of
15605         todo-reevaluate-filelist-defcustoms by
15606         todo-update-filelist-defcustoms.
15607         (todo-show, todo-category-completions): Replace call of
15608         todo-reevaluate-* function by use of 'custom-type' property.
15610 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15612         Add more should form calls in a failing dired test
15614         Some dired tests fail intermittently in hydra.  Add few
15615         more should form calls for debugging.
15616         See:
15617         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
15618         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
15619         forms for debugging.
15621 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
15623         Follow SAUNA recommendations for display-line-numbers-type
15625         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
15627         * lisp/menu-bar.el (display-line-numbers-type): Declare.
15629 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15631         Avoid most stat calls when completing file names
15633         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
15634         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15635         * m4/d-type.m4: New file, copied from gnulib.
15636         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
15637         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
15638         (dirent_type): New function.
15639         (file_name_completion): Use it, to avoid unnecessary calls to
15640         stat-like functions on GNU/Linux and other platforms with d_type.
15641         (file_name_completion_stat): Just follow the link; there is no
15642         need to try first with AT_SYMLINK_NOFOLLOW since the directory
15643         entry was already checked to exist.
15645 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15647         dired-tests: Unload tested features after test them
15649         Some tests are for Dired with ls-lisp or eshell-ls.
15650         Requiring these features add an advice on `dired' and
15651         might affect other tests.
15652         Do not require these features at the top of the file; require
15653         then inside the tests and unload then at the end.
15654         * test/lisp/dired-tests.el (dired-test-bug27693)
15655         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
15656         require ls-lisp and/or eshell-ls inside the test; unload the
15657         features at the end.
15659 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
15661         Small adaptions for directory wildcards
15663         * lisp/dired.el (dired-insert-directory): Remove "--dired"
15664         when there are wildcards, and the directory is remote.
15666         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
15667         Adapt docstring.
15668         (tramp-test17-dired-with-wildcards): Skip for all methods but
15669         those from tamp-sh.p.
15671 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15673         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
15674         string bounds.
15676 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15678         Merge from gnulib
15680         This incorporates:
15681         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
15682         * lib/tempname.c: Copy from gnulib.
15684 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15686         ls-lisp: Do not require em-glob at top of the file
15688         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
15689         not break the Emacs build.
15690         See following thread for details:
15691         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
15692         * lisp/ls-lisp.el (dired-goto-next-file)
15693         (dired-read-dir-and-switches, eshell-extended-glob):
15694         Add function declarations.
15695         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
15697 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
15699         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
15701         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
15703 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
15705         Change default CSS property face
15707         * lisp/textmodes/css-mode.el (css-property): Inherit from
15708         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
15709         distinguish CSS properties from variables.
15711 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15713         Dired: Handle posix wildcards in directory part
15715         Allow Dired to handle calls like
15716         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
15717         the directory part of the file argument (Bug#27631).
15718         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
15719         (insert-directory-clean): New defun extracted from insert-directory.
15720         (insert-directory)
15721         * lisp/dired.el (dired-internal-noselect)
15722         (dired-insert-directory): Use the new predicate; when it's true,
15723         handle the directory wildcards with a shell call.
15724         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
15725         (eshell-ls-unload-hook): New defun.  Use it in
15726         eshell-ls-unload-hook instead of an anonymous function.
15727         (eshell-ls--dired)
15728         * lisp/ls-lisp.el (ls-lisp--dired):
15729         Advice dired to handle wildcards in the directory part with both
15730         eshell-ls and ls-lisp.
15731         * etc/NEWS: Announce it.
15732         * doc/emacs/dired.texi (Dired Enter): Update manual.
15733         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
15735 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
15737         * lisp/find-lisp.el: Enable lexical binding
15739         * lisp/find-dired.el: Enable lexical binding
15741 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15743         * lisp/kmacro.el: Use lexical binding.
15745 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15747         Use lexical-binding in dired-aux.el
15749         * lisp/dired.el: Use lexical binding.
15750         (dired-do-shell-command): Remove unused bindings.
15752 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15754         * lisp/ido.el: Use lexical binding.
15756         * lisp/whitespace.el: Use lexical binding.
15758 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15760         artist.el: Avoid error with keyboard command invocation
15762         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
15763         Call x-popup-menu with t instead of last-nonmenu-event as the
15764         value of the position argument; this allows invoking the
15765         command from the keyboard without raising an error (bug#27819).
15767 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15769         Preserve point under 'dired-auto-revert-buffer' (third case)
15771         * lisp/files.el (find-file): Use pop-to-buffer-same-window
15772         instead of switch-to-buffer.  This preserves Dired window
15773         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
15775         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15776         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
15777         The first two replace a previous test that combined them; that
15778         test intermittently fails in the Hydra build system, so maybe
15779         separating the two cases will help locate the point of
15780         failure.  The third test involves find-file but is here
15781         because it, like the others, is testing the effect of
15782         dired-auto-revert-buffer.
15784 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
15786         Do not unset user key remaps in dired-x
15788         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
15789         sets dired-x-hands-off-my-keys.  (Bug#27828)
15791 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15793         Improve documentation of 'occur'
15795         * doc/emacs/search.texi (Other Repeating Search):
15796         * lisp/replace.el (occur): Make the documentation of 'occur' be
15797         more accurate when matches overlap.  (Bug#27818)
15799 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15801         Minor copyedits of comments in faces.el
15803         * lisp/faces.el (face-font-family-alternatives): More info about
15804         requirements from "Monospace Serif".
15806 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
15808         Do not worry about paxctl on newer NetBSD
15810         Problem reported privately by Thomas Klausner.
15811         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
15812         on newer NetBSD platforms, where it is not needed.  Also use it to
15813         simplify Cygwin diagnostic.
15815 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15817         Clarify documentation of ':inherit' face attribute
15819         * doc/lispref/display.texi (Face Attributes): Document the special
15820         treatment of 'unspecified' in the ':inherit' attribute.
15822 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15824         * lisp/password-cache.el (password-data): Use a hash-table
15826         * lisp/auth-source.el (auth-source-magic): Remove.
15827         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
15828         format of password-data.
15829         (auth-source-format-cache-entry): Just use a cons.
15831         (password-cache-remove, password-cache-add, password-reset)
15832         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
15834         (Bug#26699)
15836 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15838         * lisp/subr.el (define-symbol-prop): New function
15840         (symbol-file): Make it find symbol property definitions.
15842         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
15843         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
15844         (ert-describe-test): Adjust call to symbol-file accordingly.
15846 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15848         * lisp/subr.el (method-files): Move function to cl-generic.el
15850         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
15851         (cl--generic-method-files): New function, moved from subr.el.
15852         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
15853         * test/lisp/emacs-lisp/cl-generic-tests.el:
15854         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
15856 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15858         Preserve this-command-keys across recursive-edit invocations
15860         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
15861         restore this-command-keys, to preserve it across recursive-edit.
15862         (Bug#27470)
15864 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15866         Improve doc string of 'locate-dominating-file'
15868         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
15870 2017-07-28  Drew Adams  <drew.adams@oracle.com>
15872         New commands 'apropos-local-variable', 'apropos-local-value'
15874         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
15875         New functions.  (Bug#27424)
15877         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
15878         and 'apropos-local-value'.
15879         * etc/NEWS: Mention the new commands.
15881 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15883         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
15885         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
15887 2017-07-27  Alan Mackenzie  <acm@muc.de>
15889         Fix C++ class initializers not always being fontified at mode start.
15891         The problem here happened when an "outer list" of declarations moved beyond an
15892         "inner list" containing class initializers.  These weren't being checked for
15893         by the code.
15895         Also, fix places in c-get-fontification-context where point is undefined.
15897         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
15898         not-front-decl is set, test for class initializers.  Also, anchor point in
15899         places where it is moved and is otherwise undefined.
15901 2017-07-27  Alan Mackenzie  <acm@muc.de>
15903         Fix variables in C++ "for" statement not always being fontified.
15905         The error happened when there was a comma inside template delimiters.
15907         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
15908         statements, recognize template delimiters containing "," and "&".
15910 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
15912         Add watchdog process to tramp-test36-asynchronous-requests
15914         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
15915         New defun.
15916         (tramp-test36-asynchronous-requests): Use a watchdog process,
15917         listening for SIGUSR1.
15919 2017-07-27  Alan Mackenzie  <acm@muc.de>
15921         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
15923         If a declarator is so cut off, extend the fontification chunk to include it.
15925         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
15926         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
15928 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15930         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
15932         (smerge--refine-long-words): New var.
15933         (smerge--refine-chopup-region): Use it.
15935 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15937         * lisp/url/url-cookie.el: Use lexical-binding
15939         (url-cookie-host-can-set-p): Remove unused var `last'.
15940         Use string-suffix-p.
15941         (url-cookie-list): De morgan.
15942         (url-cookie-quit): Remove.
15943         (url-cookie-mode): Inherit from special-mode.
15944         (url-cookie-mode-map): Simplify accordingly.
15946 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15948         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
15950         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
15952 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15954         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
15956         Record this as the function's definition site if it's the first def.
15958 2017-07-26  Glenn Morris  <rgm@gnu.org>
15960         * doc/lispref/loading.texi (When to Autoload): New section.
15962 2017-07-26  Glenn Morris  <rgm@gnu.org>
15964         Stop using unibyte buffers for ert backtraces
15966         * lisp/emacs-lisp/ert.el
15967         (ert-results-pop-to-backtrace-for-test-at-point):
15968         Set multibyte true, not false.  This copies a
15969         debugger-setup-buffer change from 2009-08-30, and stops the
15970         "Backtrace for" header line containing ^X and ^Y.
15972 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
15974         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
15976         * lisp/cedet/semantic/symref/grep.el
15977         (semantic-symref-grep--line-re): Delete.
15978         (semantic-symref-parse-tool-output-one-line):
15979         Use regexp and group numbers from (grep-regexp-alist).
15981 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
15983         Fix cl-defmethod indentation
15985         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
15986         Declare (indent defun).  Fixes bug#23994.
15988 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
15990         Fix two customization types in frame.el
15992         * lisp/frame.el (window-divider-default-bottom-width)
15993         (window-divider-default-right-width): Fix customization types.
15995 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
15997         Dired: Support eshell-ls from the beginning if the user wants to
15999         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
16000         as well (Bug#27817).
16001         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
16003 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
16005         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
16007 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
16009         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
16011         Adjust to change in cl-generic-ensure-function.
16013 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
16015         ls-lisp: Add an unload function and enable lexical binding
16017         Enable lexical binding.
16018         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
16019         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
16021 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
16023         register-read-with-preview: Quit if user input C-g or ESC
16025         * lisp/register.el (register-read-with-preview):
16026         Quit if user input C-g or ESC (bug#27634).
16027         * doc/emacs/regs.texi (Registers): Update manual.
16028         * test/lisp/register-tests.el (register-test-bug27634): Add test.
16030 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
16032         Recognize MirBSD Korn shell rc file
16034         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
16036 2017-07-25  Glenn Morris  <rgm@gnu.org>
16038         * configure.ac: Be explicit about ImageMagick version in summary.
16040 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
16042         Properly align global lispsym
16044         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
16045         Lisp_Symbols inside struct.
16046         * src/alloc.c (sweep_symbols): Update use of lispsym.
16047         * src/lisp.h (builtin_lisp_symbol): Likewise.
16049 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
16051         Do not use ImageMagick 7 and later
16053         Suggested by Glenn Morris (Bug#25967#15).
16054         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
16056 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
16058         * lisp/progmodes/perl-mode.el: Add support for indented here docs
16060         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
16061         Recognize the new <<~ syntax for indented here docs.
16062         (perl-syntax-propertize-special-constructs): Adjust search of the
16063         end of here docs accordingly.
16065         * test/manual/indent/perl.perl: Add test for indented here docs.
16067 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
16069         (loadhist-unload-element): Move ERT and cl-generic methods
16071         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
16072         and ert methods here.
16073         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
16075         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
16076         unload method for cl-defmethod.
16077         (cl-generic-ensure-function): Remove redundant `defalias'.
16079         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
16080         setting here...
16081         (ert-deftest): ...from here.
16082         (loadhist-unload-element): Define unload method for ert-deftest.
16084 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
16086         Fix Bug#27371
16088         * lisp/loadhist.el (loadhist-unload-element): Declare for
16089         different entry types of `load-history'.
16090         (loadhist--restore-autoload): New variable.
16091         (loadhist--unload-function): New defun.
16092         (unload-feature): Use `loadhist-unload-element'.  Recommended by
16093         Stefan Monnier.  (Bug#27371)
16095         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
16096         Check, that the `tramp-file-name' structure has been unloaded.
16098 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
16100         Ensure that we parse images right in shr.el
16102         * lisp/net/shr.el (shr-image-fetched): Go back to the
16103         beginning of the buffer before trying to parse the image
16104         fetched.
16106 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16108         Update .gitignore for Valgrind and no Automake
16110         * .gitignore: Remove .deps/ since we no longer use Automake.
16111         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
16113 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16115         Merge from gnulib
16117         This incorporates:
16118         2017-07-23 Rename module 'strftime' to 'nstrftime'
16119         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
16120         * build-aux/config.guess: Copy from gnulib.
16121         * lib/nstrftime.c: Rename from lib/strftime.c.
16122         * m4/nstrftime.m4: Rename from m4/strftime.m4.
16123         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16125 2017-07-23  Philipp Stephani  <phst@google.com>
16127         Add 'rx' pattern for pcase.
16129         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
16130         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
16132 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
16134         Use a named function for global minor mode turn-on argument
16136         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
16137         New function.
16138         (global-display-line-numbers-mode): Use it.
16140 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
16142         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
16144         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
16145         from 'src/emacs'.
16147         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
16148         launched outside of a macOS application bundle, change its
16149         activation policy from the default 'prohibited' to 'regular'.
16151 2017-07-23  Alan Mackenzie  <acm@muc.de>
16153         Convert CC Mode's c-found-types from an obarray to a hash table.
16155         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
16156         rather than an obarray.
16157         (c-copy-found-types): Remove.
16158         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
16159         the new hash table.
16160         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
16162 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
16164         Fix image/svg+xml display in shr
16166         * lisp/net/shr.el (shr-put-image): Display svg images as svg
16167         (bug#27799).  I suspect the previous change was checked in by
16168         accident in conjuction with some other svg changes.
16170 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
16172         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
16174 2017-07-23  Glenn Morris  <rgm@gnu.org>
16176         Don't automatically enable Gconf if Gsettings was found
16178         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
16179         Don't test for Gconf unless specifically requested.
16180         Gconf was deprecated in favor of Gsettings several years ago.
16182 2017-07-23  Glenn Morris  <rgm@gnu.org>
16184         * configure.ac (MODULES_SUFFIX): Always give it a value.
16186         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
16188 2017-07-23  Glenn Morris  <rgm@gnu.org>
16190         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
16192 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
16194         Add line numbers display to the Options menu
16196         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
16197         (menu-bar-display-line-numbers-mode): New defun.
16198         (menu-bar-showhide-line-numbers-menu): New defvar.
16199         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
16201 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
16203         Signal error for symbol names with strange quotes (Bug#2967)
16205         * src/lread.c (read1): Signal an error when a symbol starts with a
16206         non-escaped quote-like character.
16207         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
16208         test.
16209         * etc/NEWS: Announce change.
16211 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
16213         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
16215         It turns out that this change is not needed, and it leaves several
16216         command loops settings not done.
16218         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
16219         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
16221 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
16223         Add a minor mode interface for display-line-numbers
16225         * lisp/cus-start.el: Use the new display-line-numbers group.
16226         * lisp/display-line-numbers.el: New file.
16228         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
16229         belong to linum-mode.
16230         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
16231         * etc/NEWS: Document display-line-numbers-mode and its customization
16232         variables, and mention that display-line-numbers-width is
16233         buffer-local.
16235         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
16236         typo.
16238 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
16240         Support indented HERE-DOCs in cperl-mode
16242         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
16243         indented here-docs.  (Bug#27254) (Bug#27697)
16245 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
16247         Document the support for "scrollBar" X resource
16249         * doc/emacs/xresources.texi (Table of Resources): Document the new
16250         'scrollBar' setting.
16251         * etc/NEWS: Document the new 'scrollBar' setting.
16253 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
16255         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
16257         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
16258         settings.
16260 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
16262         Update ld-script mode (bug#27629)
16264         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
16265         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
16266         numbers for PROVIDE/PROVIDE_HIDDEN commands.
16267         (ld-script-builtins): New builtin function LOG2CEIL added.
16269 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
16271         Index 'rectangle' in the ELisp manual
16273         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
16274         (Bug#27541)
16276 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
16278         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
16280 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
16282         Doc fixes for kmacro.el functions
16284         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
16285         (kmacro-end-and-call-macro): Don't use "permanent name", as that
16286         could be misinterpreted.  (Bug#27492)
16288 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
16290         ElDoc: add docstrings and minor refactoring
16292         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
16293         docstring.
16294         (turn-on-eldoc-mode): Fix capitalization.
16295         (eldoc--supported-p): Add docstring.
16296         (eldoc-schedule-timer): Add docstring and use
16297         'eldoc--supported-p'.
16298         (eldoc-message): Add docstring and make calling convention
16299         clearer.
16300         (eldoc--message-command-p):
16301         (eldoc-pre-command-refresh-echo-area):
16302         (eldoc-display-message-p):
16303         (eldoc-display-message-no-interference-p):
16304         (eldoc-print-current-symbol-info):
16305         (eldoc-docstring-format-sym-doc):
16306         (eldoc-add-command, eldoc-add-command-completions):
16307         (eldoc-remove-command, eldoc-remove-command-completions):
16308         Add docstring.  (Bug#27230)
16310 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
16312         Mention 'C-M-i' as key binding for 'ispell-complete-word'
16314         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
16315         can also be invoked by C-M-i.  (Bug#27349)
16317 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
16319         Fix the eww-search-words description in the Emacs manual
16321         * doc/emacs/search.texi (Word Search):
16322         Include the key binding for eww-search-words in the manual.
16323         Fix the spelling of the 'eww-search-words' command.
16325 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
16327         Introduce defcustom 'executable-prefix-env'
16329         * lisp/progmodes/executable.el (executable-prefix): Update the doc
16330         string.
16331         (executable-prefix-env): New defcustom.
16332         (executable-set-magic): Use executable-prefix-env.
16334         * etc/NEWS: Document the new variable.
16336 2017-07-22  Glenn Morris  <rgm@gnu.org>
16338         * test/lisp/ibuffer-tests.el: Delete temporary files.
16340 2017-07-21  Glenn Morris  <rgm@gnu.org>
16342         Further attempt to avoid hang in network-stream-tests
16344         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
16345         Limit the time we wait for the external process.
16347 2017-07-21  Glenn Morris  <rgm@gnu.org>
16349         Stop skipping many ibuffer tests by default
16351         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
16352         Rename so it sorts first.
16353         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
16354         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
16355         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
16356         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
16357         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
16358         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
16359         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
16361 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16363         Use lexical-binding in todo-mode.el
16365         Adjust code accordingly and make various minor improvements.
16367         * lisp/calendar/todo-mode.el: Enable lexical-binding.
16368         (dayname, monthname, day, month, year): Make forward defvars
16369         of these keywords from macros defined in calendar.el; wrap
16370         them in with-no-warnings.
16371         (todo-files, todo-files-function, todo-date-pattern)
16372         (todo-mode-line-function, todo-show, todo-forward-category)
16373         (todo-edit-item--header, todo-set-category-number)
16374         (todo-adjusted-category-label-length)
16375         (todo-total-item-counts, todo-filter-items)
16376         (todo-print-buffer-function, todo-convert-legacy-date-time)
16377         (todo-category-number, todo-category-completions)
16378         (todo-read-file-name, todo-read-category)
16379         (todo-validate-name, todo-read-date)
16380         (todo-set-show-current-file, todo-modes-set-1)
16381         (todo-modes-set-2, todo-modes-set-3, todo-mode):
16382         Use #' instead of ' to quote functions.
16383         (todo-files): Use \' instead of $ in regexp.
16384         (todo--files-type-list): New function.
16385         (todo-default-todo-file, todo-category-completions-files)
16386         (todo-filter-files, todo-multiple-filter-files)
16387         (todo-reevaluate-default-file-defcustom)
16388         (todo-reevaluate-category-completions-files-defcustom)
16389         (todo-reevaluate-filter-files-defcustom): Use it.
16390         (todo-show, todo-rename-file, todo-move-category)
16391         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
16392         (todo-item-undone, todo-unarchive-items, todo-search)
16393         (todo-filter-items, todo-filter-items-1, todo-find-item)
16394         (todo-category-select, todo-read-date)
16395         (todo-nondiary-marker-matcher, todo-date-string-matcher)
16396         (todo-diary-expired-matcher, todo-convert-legacy-files)
16397         (todo-read-category): Reformat to avoid code hiding behind a
16398         more deeply embedded element.
16399         (todo-forward-category, todo-set-category-number):
16400         Use 'funcall' instead of 'apply'.
16401         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
16402         (todo-edit-category-diary-inclusion)
16403         (todo-insert-sort-button, todo-insert-category-line)
16404         (todo-multiple-filter-files): Mark unused local variables.
16405         (todo-edit-item--header, todo-move-item, todo-print-buffer)
16406         (todo-edit-item--header, todo-move-item, todo-check-file)
16407         (todo-edit-item--next-key): Remove unused local variables.
16408         (todo-insert-sort-button, todo-insert-category-line):
16409         Use a closure instead of a backquoted lambda.
16410         (todo-update-categories-display, todo-print-buffer): Simplify code.
16411         (todo-print-buffer-function): Document calling convention.
16412         (todo-category-completions): Use cl-pushnew instead of add-to-list.
16413         (todo-mode-map, todo-archive-mode-map)
16414         (todo-categories-mode-map, todo-filtered-items-mode-map):
16415         Remove superfluous call of suppress-keymap, since it's already
16416         in the parent special-mode-map.
16418 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
16420         dired: Revert buffer when DIRNAME is a cons
16422         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
16423         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
16424         Update the comments.
16425         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
16427 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
16429         Handle when dired-directory is a cons in some Dired functions
16431         * lisp/dired-aux.el (dired-rename-subdir-1)
16432         * lisp/dired-x.el (dired-mark-omitted):
16433         Handle when dired-directory is a cons.
16435 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
16437         Make eshell-next-prompt more reliable (Bug#27405)
16439         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
16440         `eshell-prompt-regexp' (and `read-only' text-property if
16441         `eshell-highlight-prompt' is set) rather than trying to use
16442         `forward-paragraph'.
16443         (eshell-previous-prompt): Don't count prompt on current line.
16445 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
16447         Simplify recent gnutls.c changes
16449         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
16450         All uses replaced by calls to explicit_bzero; that’s clear enough.
16451         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
16452         coalescing duplicate actions.  There is no need to invoke
16453         SAFE_FREE before calling ‘error’.
16455 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
16457         Stylistic changes in tramp-cache.el
16459         * lisp/net/tramp-cache.el (tramp-get-file-property)
16460         (tramp-set-file-property): Use `bound-and-true-p'.  Add
16461         counter variables to `tramp-cache-unload-hook'.
16463 2017-07-20  Glenn Morris  <rgm@gnu.org>
16465         * admin/notes/hydra: Small updates.
16467 2017-07-20  Glenn Morris  <rgm@gnu.org>
16469         Make tramp unloading handle debug counter variables
16471         * lisp/net/tramp-cache.el (tramp-get-file-property)
16472         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
16474 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
16476         Fix hscrolling calculations when display-line-numbers is set
16478         * src/xdisp.c (move_it_in_display_line_to): Account for line
16479         numbers in hscrolled lines.  (Bug#27756)
16481 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
16483         Fix the bogus change made 13 years ago (bug#27084)
16485         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
16486         Fix the way to test if there is no visible header (bug#27084).
16488 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
16490         Use grep's --null option (Bug#6843)
16492         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
16493         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
16494         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
16495         constants, replacing `grep-regexp-alist'.
16496         (grep-regex-alist): Mark the variable obsolete, add a new function of
16497         the same name to replace it.
16498         (grep-compute-defaults): Compute default for
16499         `grep-use-null-filename-separator'.
16500         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
16501         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
16502         according to `grep-use-null-filename-separator'.
16503         * lisp/progmodes/xref.el (xref-collect-matches): Call
16504         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
16505         grep-regexp-alist match groups.
16506         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
16507         item under "Grep" heading as well.
16509 2017-07-19  Philipp Stephani  <phst@google.com>
16511         * src/gnutls.c (clear_storage): Define only if needed.
16513 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
16515         Adjust todo-quit to recent change in dired
16517         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
16518         bury-buffer to exit todo-mode.  This restores the desired behavior
16519         of not immediately returning to the exited todo-mode buffer on
16520         quitting another buffer, which a dired bug fix had changed (see
16521         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
16523 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
16525         Add test for bugs 7131, 27762
16527         Require 'ls-lisp' at top of the file.
16528         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
16529         New tests.
16530         (dired-test-bug27693): Delete Dired buffer at the end.
16532 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
16534         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
16536 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
16538         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
16540         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
16542 2017-07-18  Glenn Morris  <rgm@gnu.org>
16544         Use a more specific test for running on hydra.nixos.org
16546         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
16547         * test/Makefile.in (WRITE_LOG):
16548         * test/lisp/filenotify-tests.el:
16549         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
16550         (eieio-test-method-order-list-6):
16551         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
16552         (eieio-test-37-obsolete-name-in-constructor):
16553         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
16555 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16557         Avoid infloop due to Eshell's "smart" redisplay
16559         * src/xdisp.c (pos_visible_p): Save and restore the window's
16560         mode-line and header-line height.  (Bug#27752)
16562 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
16564         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
16566 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16568         Fix indentation when display-line-numbers is non-nil
16570         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
16571         to go one more tab stop to display a TAB.  (Bug#27743)
16573 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
16575         Don't use gtk_widget_get_scale_factor on old GTK3 versions
16577         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
16578         only present since GTK 3.10.
16580 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
16582         Let delete-selection-mode work with popup-menu commands (Bug#27569)
16584         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
16585         `this-command' set to the selected command.
16587 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
16589         Port gnutls.c to older (buggier?) GnuTLS
16591         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
16592         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
16593         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
16594         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
16595         perhaps hydra was using a modified GnuTLS.
16596         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
16597         is at the end of the list returned by gnutls_cipher_list,
16598         or that the earlier ciphers all have non-null names.
16600 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16602         Fix relocation with named cell referred to by a one-symbol formula.
16604         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
16605         work also with one symbol formulas.
16607         * test/lisp/ses-tests.el
16608         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
16609         test for renaming with relocating a one symbol formula.
16611 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16613         Fix symbol completion and document it.
16615         * doc/misc/ses.texi (Configuring what printer function
16616         applies): Add description of keys for completing local printer
16617         symbols and listing local printers in a help buffer.
16618         (Formulas): Add decription for key to list the named cell
16619         symbols in a help buffer.
16621         * lisp/ses.el (ses-completion-keys): New constant.
16622         (ses--completion-table): New defvar.
16623         (ses--list-orig-buffer): New defvar.
16624         (ses-mode-edit-map): Fixed for symbol completion, plus add
16625         help functions to list named cells or local printers.
16626         (ses-edit-cell-complete-symbol)
16627         (ses--edit-cell-completion-at-point-function): New defuns for
16628         completion during formula edition.
16629         (ses-edit-cell): Redefine dynamically edit keymap for
16630         completion keys to point at the right function.
16631         (ses-read-printer-complete-symbol)
16632         (ses--read-printer-completion-at-point-function): New defuns
16633         for completion during printer edition.
16634         (ses-read-printer): Redefine dynamically edit keymap for
16635         completion keys to point at the right function.
16636         (ses-list-local-printers): New defun.
16637         (ses-list-named-cells): New defun.
16639 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16641         Move comments around
16643 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16645         Make scaling work (?) on pre-GTK3 systems
16647         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
16648         (xg_get_scale): Use it on non-GTK3 systems.
16650 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16652         Always return the GDK scale
16654         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
16656 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16658         Remove usage of the GDK_SCALE variable
16660         * src/gtkutil.c (xg_get_gdk_scale): Remove.
16661         (xg_get_default_scrollbar_height)
16662         (xg_get_default_scrollbar_width): Pass in a frame to check for
16663         scaling.
16664         (xg_frame_set_char_size): Use the API for querying scale
16665         instead of looking at the GDK_SCALE variable.
16666         (xg_get_default_scrollbar_width): Ditto.
16667         (xg_get_default_scrollbar_height): Ditto.
16668         (xg_update_scrollbar_pos): Ditto.
16670         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
16671         frame to get the width.
16673 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16675         Get positions of menus and tooltips right on HiDPI
16677         * src/gtkutil.c (xg_get_scale): New function.
16678         (xg_show_tooltip): Use it.
16680         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
16681         right place.
16683 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
16685         Allow user control on what starts and ends a paragraph for bidi
16687         * src/buffer.h (struct buffer): New members
16688         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
16689         * src/buffer.c (bset_bidi_paragraph_start_re)
16690         (bset_bidi_paragraph_separate_re): New setters/
16691         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
16692         bidi-paragraph-separate-re.
16693         (init_buffer_once): Init the values of bidi-paragraph-start-re and
16694         bidi-paragraph-separate-re.
16695         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
16696         New per-buffer variables.
16697         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
16698         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
16699         (bidi_move_to_visually_next): Handle correctly the case when the
16700         separator matches an empty string.  (Bug#27526)
16702         * doc/emacs/mule.texi (Bidirectional Editing):
16703         * doc/lispref/display.texi (Bidirectional Display): Document
16704         bidi-paragraph-start-re and bidi-paragraph-separate-re.
16706         * etc/NEWS: Mention bidi-paragraph-start-re and
16707         bidi-paragraph-separate-re.
16709 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16711         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
16713 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16715         alist-get: Add optional arg TESTFN
16717         If TESTFN is non-nil, then it is the predicate to lookup
16718         the alist.  Otherwise, use 'eq' (Bug#27584).
16719         * lisp/subr.el (alist-get): Add optional arg FULL.
16720         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
16721         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
16722         * doc/lispref/lists.texi (Association Lists): Update manual.
16723         * etc/NEWS: Announce the changes.
16724         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
16725         (test-map-elt-testfn): New tests.
16727 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
16729         Fix `tramp-test39-unload'
16731         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
16732         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
16733         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
16734         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
16735         variables and autoload functions; they are not removed.  Check
16736         also for `-function(s)'.
16738 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
16740         Preserve point under 'dired-auto-revert-buffer' (second case)
16742         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
16743         of switch-to-buffer.  This preserves Dired window point when
16744         dired-auto-revert-buffer is non-nil.  (Bug#27243)
16746         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
16748 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
16750         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
16752         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
16753         undefined to allow --with-gnutls=no builds to proceed.
16755 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16757         * src/gnutls.c: Restore some comments.
16759 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16761         Use memset, not bzero
16763         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
16764         of the (less-portable) bzero.
16766 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16768         Use explicit_bzero to clear GnuTLS keys
16770         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
16771         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
16772         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16773         * src/gnutls.c (clear_storage): New function.
16774         (gnutls_symmetric_aead): Use it instead of memset.
16776 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16778         Merge from gnulib
16780         This incorporates:
16781         2017-07-16 explicit_bzero: new module
16782         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
16783         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
16784         * m4/string_h.m4:
16785         Copy from Gnulib.
16786         * lib/gnulib.mk.in: Regenerate.
16788 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
16790         Fix vc-src-dir-status-files
16792         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
16793         copy-paste from b1a765b3 (bug#27641).
16795 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
16797         Fix mismatched parens
16799         * etc/NEWS.21: Remove excess parenthesis in code example
16801 2017-07-16  Alan Third  <alan@idiocy.org>
16803         Add missing declare-function for new function
16805         * lisp/frame.el: Add declare function for
16806         ns-mouse-absolute-pixel-position.
16808 2017-07-16  R. Bernstein  <rocky@gnu.org>
16810         Realgud for tango themes
16812 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
16814         Fix test when running from test/lisp/subr-tests.elc
16816         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
16817         assume a lambda expression will be `equal' to its quoted form.  That's
16818         not true if the lambda expression has been compiled.
16820 2017-07-15  Alan Third  <alan@idiocy.org>
16822         Fix some frame handling issues on NS
16824         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
16825         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
16826         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
16827         relationship if it's broken.
16829 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
16831         ls-lisp: Fix file size format
16833         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
16834         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
16835         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
16837 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16839         Avoid link errors with older versions of GnuTLS
16841         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
16842         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
16843         calls GnuTLS functions which might be unavailable in older
16844         versions of GnuTLS.
16846 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16848         Improve comments in faces.el
16850         * lisp/faces.el (face-font-family-alternatives): Improve
16851         commentary.
16853 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16855         Improve some GnuTL error messages
16857         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
16858         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
16860 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16862         Fix the Elisp manual wrt GnuTL cryptography
16864         * doc/lispref/elisp.texi (Top): Update the master menu.
16865         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
16866         avoid errors in makeinfo.
16868 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16870         Fix compilation of gnutls.c with older GnuTLS
16872         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
16873         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
16874         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
16876 2017-07-15  rocky  <rb@dustyfeet.com>
16878         Realgud for two more light themes
16880 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16882         Rearrange MS-Windows code that dynamically loads GnuTLS functions
16884         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
16885         of functions using the same preprocessing directives as in the code.
16887 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16889         Fix the MS-Windows build broken in gnutls.c
16891         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
16892         loading code to after 'capabilities' has been calculated.  Remove
16893         redundant comments.
16895 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16897         src/image.c (compute_image_size): Remove superfluous checks.
16899         * src/image.c (compute_image_size): Remove superfluous checks.
16901 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16903         Make combinations of :width/:max-height image specs work reliably
16905         * doc/lispref/display.texi (ImageMagick Images): Document
16906         :width/:max-height combinations (etc) (bug #25583).
16908         * src/image.c (compute_image_size): Handle :width/:max-height
16909         (etc) combinations consistently (by letting "max" win and
16910         preserve ratio).
16912         * test/manual/image-size-tests.el (image-size-tests): Add
16913         tests for :width/:max-height (etc) combinations.
16915 2017-07-15  Glenn Morris  <rgm@gnu.org>
16917         Fix recent theme changes
16919         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
16920         Fix typos in recent changes.
16922 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16924         GnuTLS integer-overflow and style fixes
16926         This tweaks the recently-added GnuTLS improvements so that
16927         they avoid some integer-overflow problems and follow typical
16928         Emacs style a bit better.
16929         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
16930         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
16931         configure-time results are displayed.
16932         * src/fns.c (extract_data_from_object): Return char *, not char
16933         const *, since one gnutls caller wants a non-const pointer.  Use
16934         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
16935         instead of rolling our own code.  Prefer signed types to unsigned
16936         when either will do.  Report problems for lengths out of range,
16937         instead of silently mishandling them.
16938         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
16939         callers.  All callers of gnutls_sterror changed.
16940         (Fgnutls_boot): Check for integers out of range rather than
16941         silently truncating them.
16942         (gnutls_symmetric_aead): Check for integer overflow in size
16943         calculations.
16944         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
16945         Prefer signed to unsigned integers where either will do.
16946         (gnutls_symmetric_aead, gnutls_symmetric):
16947         Work even if ptrdiff_t is wider than ‘long’.
16948         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
16949         Check for integer overflow in algorithm selection.
16951 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
16953         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
16955 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16957         Fix the MS-Windows build due to added GnuTLS functions
16959         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
16960         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
16961         functions.  Add #define redirections for new functions.
16962         (gnutls_symmetric_aead): Fix format specs to be more portable when
16963         printing ptrdiff_t arguments.
16964         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
16965         wrapper.
16966         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
16968         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
16969         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
16970         gnutls-available-p, otherwise GnuTLS functions might not be loaded
16971         from the DLL on MS-Windows.
16973 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16975         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
16977         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
16978         Dig into advice wrappers to find the "real" signature.
16979         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
16980         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
16981         since bytecode functions are now handled in byte-compile--function-signature.
16983         * lisp/files.el (create-file-buffer, insert-directory):
16984         Remove workaround introduced for (bug#14860).
16986         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
16988         * lisp/help.el (help-function-arglist):
16989         Dig into advice wrappers to find the "real" signature.
16991 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
16993         GnuTLS HMAC and symmetric cipher support
16995             * etc/NEWS: Add news for new feature.
16997             * doc/lispref/text.texi (GnuTLS Cryptography): Add
16998             documentation.
17000             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
17001             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
17003             * src/fns.c (Fsecure_hash_algorithms): Add function to list
17004             supported `secure-hash' algorithms.
17005             (extract_data_from_object): Add data extraction function that
17006             can operate on buffers and strings.
17007             (secure_hash): Use it.
17008             (Fsecure_hash): Mention `secure-hash-algorithms'.
17010             * src/gnutls.h: Include gnutls/crypto.h.
17012             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
17013             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
17014             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
17015             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
17017             * test/lisp/net/gnutls-tests.el: Add tests.
17019 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
17021         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
17023         It's also defined in cl-extra.el.
17025 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17027         Do not convert ij and IJ to compatibility chars
17029         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
17030         Problem reported by James Cloos (Bug#518#10).
17032 2017-07-14  Toon Claes  <toon@iotcl.com>
17034         Remove Turkish ligatures from Dutch input method
17036         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
17038 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17040         Improve stack-overflow heuristic on GNU/Linux
17042         Problem reported by Steve Kemp (Bug#27585).
17043         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
17044         by current_thread->stack_top.
17045         (record_in_backtrace): Set current_thread->stack_top.
17046         This is for when the Lisp interpreter calls itself.
17047         * src/lread.c (read1): Set current_thread->stack_top.
17048         This is for recursive s-expression reads.
17049         * src/print.c (print_object): Set current_thread->stack_top.
17050         This is for recursive s-expression printing.
17051         * src/thread.c (mark_one_thread): Get stack top first.
17052         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
17054 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17056         Remove duplicate cl--random-state definition
17058         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
17059         This variable is now defined in cl-extra.el (Bug#27617).
17061 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
17063         Adjust timer in tramp-test36-asynchronous-requests
17065         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
17066         Adjust timer if it takes too much time.
17068 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
17070         Always display rmail progress report under user control
17072         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
17073         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
17075 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
17077         Avoid byte-compilation warnings for advised functions
17079         * lisp/files.el (insert-directory, create-file-buffer): Add an
17080         advertised-calling-convention form to shut up byte-compilation
17081         warnings.  (Bug#14860)
17083 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
17085         Add assertion related to display-line-numbers
17087         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
17088         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
17089         code.  (Bug#27668)
17091 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
17093         Prevent display corruption when display-line-numbers is set
17095         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
17096         due to display-line-numbers, clear the window's desired glyph
17097         matrix before returning, as the following call to try_window will
17098         call display_line, which expects rows of the desired matrix
17099         cleared.  (Bug#27668)
17101 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
17103         Revert "Use fixed-pitch font for display-line-numbers"
17105         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
17106         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
17107         popular demand.  For relevant discussions, see
17109          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
17110          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
17112 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17114         Merge from gnulib
17116         This incorporates:
17117         2017-07-13 Improve cross-compilation guesses for native Windows
17118         2017-07-11 More systematic m4 quoting and indentation
17119         2017-07-10 Make sure $host and $host_os are defined when used
17120         2017-07-03 stdioext: Port to OpenVMS
17121         2017-06-24 xalloc-oversized: port to icc
17122         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
17123         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
17124         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
17125         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
17126         Copy from Gnulib.
17128 2017-07-13  Alan Mackenzie  <acm@muc.de>
17130         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
17132         This fontification anomaly happened because after deleting the ">",
17133         c-forward-<>-arglist parses the preceding identifier as a putative type but
17134         stores it in c-found-types before it becomes clear it is not an unambiguous
17135         type.  c-forward-<>-arglist fails, leaving the spurious type id in
17136         c-found-types.  Fix this by "binding" c-found-types "to itself" in
17137         c-forward-<>-arglist, and restoring the original value when that function call
17138         fails.
17140         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
17141         (c-forward-<>-arglist): Record the original value of c-found-types at the
17142         beginning of the function, and restore it at the end on failure.
17144         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
17145         accurately.
17147 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
17149         Add tests for SES, and fix one more cell renaming bug.
17151         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
17152         relocate value for named cells as they keep the same symbol.
17153         (ses-rename-cell): Set new cell name symbol to cell value --- do not
17154         rely on recalculating.  Push cells with updated data --- cell name,
17155         cell reference list, or cell formula --- to deferred write list.
17157         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
17159 2017-07-12  Alan Mackenzie  <acm@muc.de>
17161         Fix some bugs in c-defun-name.  This fixes bug #25623.
17163         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
17164         etc.
17166 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
17168         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
17170         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
17171         c-mode-base-map if possible.
17173 2017-07-12  Alan Mackenzie  <acm@muc.de>
17175         CC Mode: create and use c-set-keymap-parent.
17177         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
17179         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
17180         set-keymap-parents.
17181         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
17183 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
17185         Minor tweaks of new line number display variables
17187         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
17188         (Vdisplay_line_number_width): Rename to
17189         Vdisplay_line_numbers_width.
17190         (maybe_produce_line_number): Comply with above rename.
17191         * lisp/cus-start.el (standard):
17192         * lisp/frame.el (top-level):
17193         * etc/NEWS: Comply with renaming of
17194         `display-line-number-width' to `display-line-numbers-width'.
17196 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
17198         Avoid assertion violations in close_infile_unwind
17200         * src/lread.c (close_infile_unwind): A temporary band-aid solution
17201         for bug#27642: allow 'infile' be NULL.
17203 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
17205         Use fixed-pitch font for display-line-numbers
17207         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
17208         even if the default face uses a variable-pitch font.  Reported by
17209         James Cloos <cloos@jhcloos.com>.
17211 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
17213         Improve documentation of display-line-numbers
17215         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
17216         doc string.  Suggested by Alex <agrambot@gmail.com>.
17218 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
17220         Add an optional testfn parameter to assoc
17222         * src/fns.c (assoc): New optional testfn parameter used for comparison
17223         when provided.
17224         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
17225         'testfn' parameter.
17226         * src/buffer.c:
17227         * src/coding.c:
17228         * src/dbusbind.c:
17229         * src/font.c:
17230         * src/fontset.c:
17231         * src/gfilenotify.c:
17232         * src/image.c:
17233         * src/keymap.c:
17234         * src/process.c:
17235         * src/w32fns.c:
17236         * src/w32font.c:
17237         * src/w32notify.c:
17238         * src/w32term.c:
17239         * src/xdisp.c:
17240         * src/xfont.c: Add a third argument to Fassoc calls.
17241         * etc/NEWS:
17242         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
17244 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
17246         Use `with-demoted-errors' in Tramp
17248         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
17250         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
17252 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
17254         Add Quick Start Guide to Tramp manual
17256         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
17257         "MS Windows".
17258         (Quick Start Guide): New node.
17260         * doc/misc/trampver.texi:
17261         * lisp/net/trampver.el: Change version to "2.3.3-pre".
17263 2017-07-10  Glenn Morris  <rgm@gnu.org>
17265         Fix failing module tests on GNU/Linux
17267         * test/src/emacs-module-tests.el
17268         (module--test-assertions--load-non-live-object)
17269         (module--test-assertions--call-emacs-from-gc):
17270         Avoid test failures due to backtraces.
17272 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17274         Fix core dump in substitute-object-in-subtree
17276         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
17277         would dump core, since the C code would recurse indefinitely through
17278         the infinite structure.  This patch adds an argument to the function,
17279         and renames it to lread--substitute-object-in-subtree as the function
17280         is not general-purpose and should not be relied on by outside code.
17281         See Bug#23660.
17282         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
17283         not Lisp_Object, so that callers need not cons unnecessarily.
17284         All callers changed.  Also, remove related #if-0 code that was
17285         “temporary” in the early 1990s and has not been compilable for
17286         some time.
17287         * src/lread.c (struct subst): New type, for substitution closure data.
17288         (seen_list): Remove this static var, as this info is now part of
17289         struct subst.  All uses removed.
17290         (Flread__substitute_object_in_subtree): Rename from
17291         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
17292         doesn’t dump core when called from the top level with an
17293         already-cyclic structure.  All callers changed.
17294         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
17295         (substitute_object_recurse): Take a single argument SUBST rather
17296         than a pair OBJECT and PLACEHOLDER, so that its address can be
17297         passed around as part of a closure; this avoids the need for an
17298         AUTO_CONS call.  All callers changed.  If the COMPLETED component
17299         is t, treat every subobject as potentially circular.
17300         (substitute_in_interval): Take a struct subst * rather than a
17301         Lisp_Object, for the closure data.  All callers changed.
17302         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
17303         New test, to check that the core dump does not reoccur.
17305 2017-07-10  Philipp Stephani  <phst@google.com>
17307         Minor simplification of module_free_global_ref
17309         * src/emacs-module.c (module_free_global_ref): Remove unused variable
17310         'hashcode'.  Inline variable 'value' that's only used once.
17312 2017-07-10  Philipp Stephani  <phst@google.com>
17314         Re-add a useful assertion
17316         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
17317         the reference count is zero.  This assertion was removed in commit
17318         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
17319         test performed by XFASTINT before, because the previous reference
17320         count could have been zero already in the case of a buggy
17321         implementation.  This assertion might have detected Bug#27587.
17323 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
17325         Fix bug in module_free_global_ref (Bug#27587)
17327         * src/emacs-module.c (module_free_global_ref): Actually remove entry
17328         from hash table.
17330 2017-07-09  Philipp Stephani  <phst@google.com>
17332         Further improve electric quote support for Markdown (Bug#24709)
17334         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
17335         values.  Therefore 'electric-quote-mode' recognized it as a
17336         programming mode.  Fix this by first checking whether the current
17337         major mode is derived from 'text-mode'.
17339         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
17340         'text-mode' as stronger signal than comment syntax.
17342         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
17343         (electric-quote-markdown-in-code): Adapt unit tests.
17345 2017-07-09  Philipp Stephani  <phst@google.com>
17347         Remove pointless code in 'electric-quote-mode'
17349         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
17350         pointless form.
17352 2017-07-09  Philipp Stephani  <phst@google.com>
17354         Refactor 'electric-quote-mode'
17356         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
17357         local variable 'start', which was misnamed and only used once.
17359 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
17361         Avoid crashes on MS-Windows starting 64-bit .NET executables
17363         * src/w32proc.c (w32_executable_type): Don't assume that the
17364         import directory in a DLL will always be non-NULL.  (Bug#27527)
17366 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
17368         Avoid compilation warning in files.el
17370         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
17371         warning due to its use in auto-save-visited-mode.
17373 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
17375         Improve indexing of VC-related stuff in the Emacs manual
17377         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
17378         entry.  (Bug#27627)
17380 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
17382         Speed up display of line numbers for very large buffers
17384         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
17385         using values cached by mode-line display of line numbers.
17386         (Bug#27622)
17388 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
17390         Define internal_border_parts for window systems only (Bug#27615)
17392         * src/keyboard.c: (internal_border_parts): Define only
17393         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
17395 2017-07-09  R. Bernstein  <rocky@gnu.org>
17397         Add realgud faces faces to whiteboard...
17399         Adjust wheatgrass to use underline for enabled/disabled breakpoints
17401 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
17403         Optimize UCS normalization tests
17405         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
17406         * test/lisp/international/ucs-normalize-tests.el
17407         (ucs-normalize-tests--parse-column): Use character instead of string
17408         of length 1 for terminator.  Convert return value into string since
17409         all callers need that form anyway.
17410         (ucs-normalize-tests--normalization-equal-p): Rename from
17411         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
17412         messing with narrowing.  Take string to compare against and insert it
17413         into buffer so that compare-buffer-substrings can be used instead of
17414         allocating a new string from buffer contents.
17415         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
17416         for comparing single character.
17417         (ucs-normalize-tests--rule1-holds-p)
17418         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
17419         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
17420         `='.
17422 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
17424         Update failing lines for UCS normalize tests
17426         * test/lisp/international/ucs-normalize-tests.el
17427         (ucs-normalize-tests--failing-lines-part2): Update for new
17428         admin/unidata/NormalizationTest.txt version.
17430 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
17432         Semi-automate the procedure for updating UCS normalize test bad lines
17434         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
17435         commentary describing a manual procedure for producing the updated
17436         failing lines, it did not actually work.  Replace it with pointer to
17437         new function which prints the updated values.
17438         (ucs-normalize-tests--rule1-holds-p): Renamed from
17439         ucs-normalize-tests--invariants-hold-p.
17440         (ucs-normalize-tests--rule2-holds-p): Renamed from
17441         ucs-normalize-tests--invariants-rule2-hold-p.
17442         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
17443         ucs-normalize-tests--invariants-failing-for-part.
17444         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
17445         ucs-normalize-tests--invariants-failing-for-lines.
17446         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
17447         (ucs-normalize-part2): Set it.
17448         (ucs-normalize-part1): Always run through to end of test before
17449         checking for failures.
17450         (ucs-normalize-tests--insert-failing-lines)
17451         (ucs-normalize-check-failing-lines): New functions, used to update
17452         the *--failing-lines-part* variables.
17454 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17456         * lisp/cus-start.el (standard): Spelling fix.
17458 2017-07-08  Philipp Stephani  <phst@google.com>
17460         Module assertions: check for garbage collections
17462         It's technically possible to write a user pointer finalizer that calls
17463         into Emacs module functions.  This would be disastrous because it
17464         would allow arbitrary Lisp code to run during garbage collection.
17465         Therefore extend the module assertions to check for this case.
17467         * src/emacs-module.c (module_assert_thread): Also check whether a
17468         garbage collection is in progress.
17470         * test/data/emacs-module/mod-test.c (invalid_finalizer)
17471         (Fmod_test_invalid_finalizer): New test module functions.
17472         (emacs_module_init): Register new test function.
17474         * test/src/emacs-module-tests.el (module--test-assertion)
17475         (module--with-temp-directory): New helper macros.
17476         (module--test-assertions--load-non-live-object): Rename existing
17477         unit test, use helper macros.
17478         (module--test-assertions--call-emacs-from-gc): New unit test.
17480 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17482         Capitalize the menu entry for display-line-numbers
17484         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
17485         for display-line-numbers.  Suggested by Martin Rudalics
17486         <rudalics@gmx.at>.
17488 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17490         Update Unicode data and files to Unicode 10.0
17492         * admin/notes/unicode:
17493         * admin/unidata/README:
17494         * admin/unidata/BidiBrackets.txt:
17495         * admin/unidata/BidiMirroring.txt:
17496         * admin/unidata/Blocks.txt:
17497         * admin/unidata/IVD_Sequences.txt:
17498         * admin/unidata/NormalizationTest.txt:
17499         * admin/unidata/SpecialCasing.txt:
17500         * admin/unidata/UnicodeData.txt:
17501         * lisp/international/characters.el:
17502         * lisp/international/fontset.el (script-representative-chars):
17503         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
17505 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
17507         Support '=' in Scheme and Lisp tags in 'etags'
17509         * lib-src/etags.c (get_lispy_tag): New function.
17510         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
17511         * test/manual/etags/CTAGS.good:
17512         * test/manual/etags/ETAGS.good_1:
17513         * test/manual/etags/ETAGS.good_2:
17514         * test/manual/etags/ETAGS.good_3:
17515         * test/manual/etags/ETAGS.good_4:
17516         * test/manual/etags/ETAGS.good_5:
17517         * test/manual/etags/ETAGS.good_6:
17518         * test/manual/etags/Makefile:
17519         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
17520         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
17522 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
17524         Avoid compiler warnings in xdisp.c debugging code
17526         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
17527         Use pD directives for ptrdiff_t values instead of pI, to avoid
17528         compilation warnings on 64-bit hosts.  (Bug#27597)
17530 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17532         Commentary enhancement in frame.el
17534         * lisp/frame.el: Explain how to test whether a variable needs to
17535         be added to the list of those which are watched for buffer
17536         redisplay.
17538 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17540         Support display of line numbers natively
17542         This merges branch 'line-numbers'.
17543         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
17544         function.
17545         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
17546         * src/dispextern.h (struct it): New members pt_lnum, lnum,
17547         lnum_bytepos, lnum_width, and lnum_pixel_width.
17548         * src/indent.c (line_number_display_width): New function,
17549         refactored from line-number width calculations in vertical-motion.
17550         (Fvertical_motion): Call line_number_display_width when the width
17551         of line-number display is needed.
17552         (Fline_number_display_width): New defun.
17553         (syms_of_indent): Defsubr it.
17554         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
17555         the width used up by line numbers by looking near the window-start
17556         point.  If window-start is outside of the accessible portion,
17557         temporarily widen the buffer.
17558         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
17559         space taken by the line-number display.
17560         * src/xdisp.c (display_count_lines_logically)
17561         (display_count_lines_visually, maybe_produce_line_number)
17562         (should_produce_line_number, row_text_area_empty): New functions.
17563         (try_window_reusing_current_matrix): Don't use this method when
17564         display-line-numbers is in effect.
17565         (try_window_id, try_cursor_movement): Disable these optimizations
17566         when the line-number-current-line face is different from
17567         line-number face and for relative line numbers.
17568         (try_window_id, redisplay_window, try_cursor_movement): For
17569         visual line-number display, disable the same redisplay
17570         optimizations as for relative.
17571         (x_produce_glyphs): Adjust tab stops for the horizontal
17572         space taken by the line-number display.
17573         (hscroll_window_tree): Adjust hscroll calculations to line-number
17574         display.
17575         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
17576         math.h; all users changed.
17577         (set_cursor_from_row): Fix calculation of cursor X coordinate in
17578         R2L rows with display-produced glyphs at the beginning.
17579         (display_line): Use should_produce_line_number to determine
17580         whether a line number should be produced for each glyph row, and
17581         maybe_produce_line_number to produce line numbers.
17582         Don't display line numbers in the minibuffer and in tooltip
17583         frames.
17584         Call row_text_area_empty to verify that a glyph
17585         row's text area is devoid of any glyphs that came from a buffer or
17586         a string.  This fixes a bug with empty-lines indication
17587         disappearing when line numbers or line-prefix are displayed.
17588         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
17589         <display-line-number-width>: New buffer-local variables.
17590         <display-line-numbers-current-absolute>: New variable.
17592         * lisp/cus-start.el (standard): Provide customization forms for
17593         display-line-numbers and its sub-features.
17594         * lisp/faces.el (line-number, line-number-current-line): New faces.
17595         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
17596         display-line-numbers-current-absolute, and
17597         display-line-number-width to the list of variables that should
17598         trigger redisplay of the current buffer.
17599         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
17600         turn display-line-numbers on and off.
17601         (toggle-display-line-numbers): New function.
17602         * lisp/simple.el (last--line-number-width): New internal variable.
17603         (line-move-visual): Use it to adjust temporary-goal-column when
17604         line-number display changes its width.
17606         * doc/emacs/basic.texi (Position Info): Add cross-reference to
17607         "Display Custom", for line-number display.
17608         * doc/emacs/custom.texi (Init Rebinding):
17609         * doc/emacs/modes.texi (Minor Modes): Remove references to
17610         linum-mode.
17611         * doc/emacs/display.texi (Display Custom): Describe the
17612         line-number display.
17613         * doc/lispref/display.texi (Size of Displayed Text): Document
17614         line-number-display-width.
17616         * etc/NEWS: Document display-line-numbers and its customizations.
17618 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17620         Fix more ungetc bugs with encoding errors
17622         * src/lread.c (infile): New variable, replacing ...
17623         (instream): ... this.  All uses changed.
17624         (readbyte_from_stdio): New function, which deals with lookahead.
17625         (readbyte_from_file, Fget_file_char): Use it.
17626         (Fget_file_char): When misused, signal an error instead of
17627         relying on undefined behavior.
17628         (close_infile_unwind): New function.
17629         (Fload): Use it.
17630         (readevalloop): 2nd arg is now struct infile *, not FILE *.
17631         All callers changed.
17632         (read1): Handle lookahead when copying doc strings with
17633         encoding errors.
17635 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17637         Avoid ungetc when loading charset maps from files
17639         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
17640         replacing the old EOF.  All callers changed.  This avoids the
17641         need to call ungetc.
17643 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17645         Fix ungetc bug when reading an encoding error
17647         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
17648         error when reading an encoding error from a file, e.g., a symbol
17649         in an .elc file whose name is "\360\220\200\360".
17651 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17653         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
17655         * lisp/window.el (display-buffer--special-action): Use a closure.
17657 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17659         Add new todo-mode.el tests
17661         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
17662         Declare an Edebug spec.  Restore pre-test-run state of test files.
17663         (todo-test--show, todo-test--move-item)
17664         (todo-test--insert-item): New functions.
17665         (todo-test-get-archive): Remove, as subsumed by
17666         todo-test--show.  Adjust all callers.
17667         (todo-test--is-current-buffer): Rename from
17668         todo-test-is-current-buffer and adjust uses.
17669         (todo-test-item-highlighting): Use todo-test--show.
17670         (todo-test-revert-buffer01, todo-test-revert-buffer02)
17671         (todo-test-raise-lower-priority)
17672         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
17673         (todo-test-move-item02, todo-test-move-item03)
17674         (todo-test-move-item04, todo-test-move-item05)
17675         (todo-test-toggle-item-header01)
17676         (todo-test-toggle-item-header02)
17677         (todo-test-toggle-item-header03)
17678         (todo-test-toggle-item-header04)
17679         (todo-test-toggle-item-header05)
17680         (todo-test-toggle-item-header06)
17681         (todo-test-toggle-item-header07): New tests.
17683         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
17684         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
17685         Modify to accommodate new tests.
17687 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17689         todo-mode.el: Fix handling of hidden item headers (bug#27609)
17691         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
17692         (todo-toggle-item-header): Use it.  Make this command a noop
17693         if the file has no items.
17694         (todo-move-item, todo-item-done): Instead of concatenating the
17695         items to move into one string, make a list of them to
17696         facilitate handling hidden headers.  Adjust insertion accordingly.
17697         (todo-archive-done-item): Handle hidden headers in archive file.
17698         (todo-unarchive-items): Handle hidden headers in todo file.
17699         (todo-backward-item): Use todo--item-headers-hidden and handle
17700         moving backward work when item date-time headers are hidden.
17701         (todo-remove-item): Delete date-time header overlay.
17702         (todo-get-overlay, todo-insert-with-overlays): Make them work
17703         with hidden date-time headers.
17704         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
17706 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17708         Fix several todo-mode bugs found while debugging bug#27609
17710         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
17711         current category only once.
17712         (todo-mark-category): Update number of marked items to avoid
17713         spurious duplication in todo-categories-with-marks alist and
17714         corruption of the todo-categories alist.  Handle empty line
17715         when there are no todo items and done items are shown.
17716         (todo-set-item-priority): Make noop if called from
17717         todo-raise-item-priority or todo-lower-item-priority when
17718         point is on a done todo item or an empty line.
17719         (todo-move-item): Use markers instead of integer positions to
17720         correctly handle deleting the now moved items from the source
17721         category (without markers an infinite loop arises when moving
17722         marked item to a preceding category).
17723         (todo-unarchive-items): Put point on the (first) restored done
17724         item, instead of leaving it at the end of the done items
17725         separator string.
17726         (todo-revert-buffer): Ensure buffer remains read-only after
17727         reverting.
17729 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17731         Exclude blank columns from value of line-number-display-width
17733         * src/indent.c (Fline_number_display_width): Don't add 2 to the
17734         number of columns we return, to make this consistent with
17735         display-line-number-width.
17737 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17739         Fix vertical-motion across the place where line-number width changes
17741         * src/indent.c (line_number_display_width): New function,
17742         refactored from line-number width calculations in vertical-motion.
17743         (Fvertical_motion): Call line_number_display_width when the width
17744         of line-number display is needed.
17745         (Fline_number_display_width): New defun.
17746         (syms_of_indent): Defsubr it.
17748         * doc/lispref/display.texi (Size of Displayed Text): Document
17749         line-number-display-width.
17751         * etc/NEWS: Mention line-number-display-width.
17753         * lisp/simple.el (last--line-number-width): New internal variable.
17754         (line-move-visual): Use it to adjust temporary-goal-column when
17755         line-number display changes its width.
17757 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
17759         Remove Vwindow_text_change_functions and related code
17761         Vwindow_text_change_functions had been provided for implementing
17762         line numbers but apparently was never functional or in use.
17764         * src/xdisp.c (redisplay_window): Remove handling of
17765         Vwindow_text_change_functions.
17766         (syms_of_xdisp): Remove Qwindow_text_change_functions.
17767         (Vwindow_text_change_functions): Remove variable.
17768         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
17769         `window-text-change-functions'.
17771 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
17773         Convert more uses of looking-at to following-char
17775         More followup to Karl Fogel's commit a84da83c1.
17776         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
17777         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
17778         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
17779         * lisp/proced.el (proced-toggle-marks):
17780         * lisp/progmodes/f90.el (f90-indent-line):
17781         * lisp/ses.el (ses-load):
17782         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
17783         char comparisons using following-char.
17785 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
17787         Don't skip epg tests (Bug#23561)
17789         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
17790         parameter, since we supply the passphrase via pinentry-program for all
17791         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
17792         program (Bug#23619)").
17793         (epg-tests-program-alist-for-passphrase-callback): Remove.
17795 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
17797         Implement line numbers that disregard narrowing
17799         * src/xdisp.c (display_count_lines_logically): New function,
17800         counts line numbers disregarding narrowing.  Suggested by Andy
17801         Moreton <andrewjmoreton@gmail.com>.
17802         (maybe_produce_line_number): Call display_count_lines_logically
17803         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
17804         display-line-numbers-widen.
17805         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
17806         variable.
17808         * lisp/cus-start.el (standard): Provide a customization form for
17809         display-line-numbers-widen.
17810         * lisp/frame.el: Add display-line-numbers-widen,
17811         display-line-numbers-current-absolute, and
17812         display-line-number-width to the list of variables that should
17813         trigger redisplay of the current buffer.
17815         * doc/emacs/display.texi (Display Custom): Document
17816         display-line-numbers-widen.
17818 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17820         Fix lisp-comment-indent for single-semicolon case
17822         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
17823         open paren if we're looking at multiple comment characters.
17824         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
17825         (lisp-comment-indent-2): New tests.
17827 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17829         Spelling fixes
17831         * lisp/org/org-table.el (org-table-sort-lines):
17832         Fix misspelling in prompt.
17833         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
17834         Fix misspelling in call to org-element-lineage.
17836 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17838         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
17840         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
17841         line's code ends in open paren, set comment indentation exactly to
17842         column following it.
17843         (lisp-mode-variables): Set `comment-indent-function' to
17844         `lisp-comment-indent'.
17846 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17848         Allow comment-indent-functions to specify exact indentation (Bug#385)
17850         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
17851         integers as indicating a range of acceptable indentation.
17852         (comment-indent): Don't apply `comment-inline-offset',
17853         `comment-choose-indent' already does that.
17854         (comment-indent-function):
17855         * doc/emacs/programs.texi (Options for Comments): Document new
17856         acceptable return values.
17857         * etc/NEWS: Announce it.
17859 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17861         Check for integer overflow in xbm images
17863         * src/image.c (XBM_TK_OVERFLOW): New constant.
17864         (xbm_scan): Check for integer overflow instead of relying on
17865         undefined behavior.  Check that octal digits are actually octal.
17867 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17869         Convert hex digits more systematically
17871         This makes the code a bit smaller and presumably faster, as
17872         it substitutes a single lookup for conditional jumps.
17873         * src/character.c (hexdigit): New constant.
17874         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
17875         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
17876         (hexdigit): New decl.
17877         (char_hexdigit): New inline function.
17878         * src/charset.c: Do not include c-ctype.h.
17879         * src/charset.c (read_hex):
17880         * src/editfns.c (styled_format):
17881         * src/image.c (xbm_scan):
17882         * src/lread.c (read_escape):
17883         * src/regex.c (ISXDIGIT) [emacs]:
17884         Use char_hexdigit insted of doing it by hand.
17886 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17888         Don’t use -Woverride-init
17890         I have some further changes in mind that would also need to
17891         disable the -Woverride-init warnings.  In practice these warnings
17892         seem to be more trouble than they’re worth, so disable them in the
17893         cc command line.
17894         * configure.ac: Disable -Woverride-init here ...
17895         * src/bytecode.c: ... rather than here.
17897 2017-07-05  Glenn Morris  <rgm@gnu.org>
17899         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
17901         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
17903 2017-07-05  Glenn Morris  <rgm@gnu.org>
17905         Small fix for bug-reference.el
17907         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
17908         Autoload safety property.  (Bug#27481)
17910 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
17912         Suppress timers in Tramp
17914         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
17916         * test/lisp/net/tramp-tests.el
17917         (tramp-test36-asynchronous-requests): Trigger timers.
17918         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
17919         Set `default-directory' to a trustworthy value.
17921 2017-07-05  rocky  <rb@dustyfeet.com>
17923         Add realgud face definitions
17925         Add realgud faces to tdsh-dark-theme
17927 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17929         * lisp/progmodes/cc-awk.el: Mark unused args
17931         * lisp/progmodes/cc-bytecomp.el: Mark unused args
17933 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17935         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
17937         ... before first use
17939 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17941         * lisp/progmodes/cc-vars.el: Mark unused args
17943 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17945         * lisp/progmodes/cc-langs.el: Mark unused args
17947         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
17948         unambiguous-prefix-ops.
17950 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17952         * lisp/progmodes/cc-engine.el: Mark unused args
17954         (c-beginning-of-statement-1, c-guess-basic-syntax):
17955         Remove unused var c-in-literal-cache.
17956         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
17957         (c-append-to-state-cache): Remove unused var `bra+1s'.
17958         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
17959         (c-invalidate-state-cache-1): Remove unused var `pa'.
17960         (c-forward-decl-or-cast-1): Change comments so they don't look like
17961         outline headers.
17962         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
17963         Declare before first use.
17964         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
17965         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
17967 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17969         * lisp/progmodes/cc-cmds.el: Remove unused vars
17971         (c-syntactic-context): Declare as dynbound.
17972         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
17974 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17976         * lisp/progmodes/cc-guess.el: Remove unused var
17978         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
17979         and computed variable `guessed-syntactic-symbols'.
17981 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17983         * lisp/progmodes/cc-align.el: Mark unused arguments
17985 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17987         * lisp/progmodes/cc-mode.el: Mark unused arguments
17989         (c-parse-quotes-before-change, c-parse-quotes-after-change):
17990         Remove unused vars.
17992 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
17994         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
17996         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
17997         and `ffap-url-unwrap-remote'.
17999 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
18001         Fix infloop in uncomment-region-default (Bug#27112)
18003         When `comment-continue' has only blanks, `comment-padright' produces a
18004         regexp that matches the empty string, so `uncomment-region-default'
18005         will loop infinitely.
18006         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
18007         has nonblank characters.
18009 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
18011         Fix display of current line number in visual mode
18013         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
18014         of current line when line-number-current-line face was customized.
18015         Reported by Filipe Silva <filipe.silva@gmail.com>.
18017 2017-07-03  Philipp Stephani  <phst@google.com>
18019         Use hook instead of face list to inhibit electric quoting
18021         This is more flexible and doesn't couple electric quoting to font
18022         locking.
18023         Give that 'electric-quote-code-faces' was just introduced, remove it
18024         without formal deprecation.
18026         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
18027         hook variable.
18028         (electric-quote-post-self-insert-function): Run the hook.  Remove
18029         use of old 'electric-quote-code-faces' variable.
18031         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
18032         (electric-quote-markdown-in-code): Adapt unit tests.
18034 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
18036         Offer non-aligned indentation in lists in js-mode (Bug#27503)
18038         * lisp/progmodes/js.el (js--proper-indentation):
18039         New customization option 'js-indent-align-list-continuation'.
18040         Affects argument lists as well as arrays and object properties.
18041         * test/manual/indent/js-indent-align-list-continuation-nil.js:
18042         Test the change.
18044 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
18046         Avoid errors in vertical-motion when buffer is narrowed
18048         * src/indent.c (Fvertical_motion): If need to start from
18049         window-start, and it is outside of the accessible portion,
18050         temporarily widen the buffer.  This avoids errors in evil-mode.
18051         Reported by James Nguyen <james@jojojames.com>.
18053 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
18055         (Re-)activate remote tests of filenotify-tests.el
18057         * test/lisp/filenotify-tests.el
18058         (file-notify-test-remote-temporary-file-directory):
18059         Declare default host for mock method.  Offer home directory
18060         for mock method if it doesn't exist.
18061         (file-notify-test09-watched-file-in-watched-dir-remote):
18062         Remove, it doesn't work reliably.
18064 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
18066         Reset ansi escape context before printing eshell prompt (Bug#27407)
18068         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
18069         `ansi-color-context-region'.
18071 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
18073         Let ansi-color overlay hooks work in eshell (Bug#27407)
18075         * lisp/ansi-color.el (ansi-color-make-extent): Add
18076         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
18077         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
18078         `inhibit-modification-hooks' to nil while inserting the string.
18080 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
18082         Fix and simplify ansi escape detection (Bug#21381)
18084         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
18085         Remove.
18086         (ansi-color-control-seq-regexp): New constant, matches all escape
18087         sequences.
18088         (ansi-color-filter-apply, ansi-color-apply)
18089         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
18090         of matching color sequences separately from ignored sequences.
18091         Differentiate color sequences simply by checking the last character.
18093 2017-07-03  Damien Cassou  <damien@cassou.me>
18095         Add absolute optional parameter to line-number-at-pos (Bug#26417)
18097         * lisp/simple.el (line-number-at-pos): Add a second optional
18098           argument 'absolute'.
18099         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
18101 2017-07-03  R. Bernstein  <rocky@gnu.org>
18103         Add realgud faces
18105 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
18107         Fix tramp-tests.el for hydra
18109         * test/Makefile.in: Remove instrumentation for tramp-tests.
18111         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
18112         Remove instrumentation.  Wrap with a timeout.  Give hydra
18113         another timer value.  Set `default-directory' in timer.
18115 2017-07-03  Bastien  <bzg@gnu.org>
18117         Merge branch 'master' into scratch/org-mode-merge
18119         Merge branch 'master' into scratch/org-mode-merge
18121 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
18123         dired-do-shell-command: Fix check for wildcards
18125         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
18126         and '`?' i.e., keep the whitespaces.
18127         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
18129 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
18131         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
18133         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
18134         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
18135         split out from `shr-copy-url'.
18136         (shr-copy-url): Only copy the url, don't fetch it.
18137         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
18138         has the same behavior as the old `shr-copy-url'.
18139         * etc/NEWS: Announce changes.
18141 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
18143         Make eww-search-words prompt for query if nothing selected
18145         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
18146         user for a search query if the region is inactive or if the region is
18147         just whitespace.
18149 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
18151         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
18153         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
18154         * lisp/help-fns.el (describe-variable): No need to let-bind
18155         `cl-print-compiled-button' to t anymore.
18157 2017-07-02  Philipp Stephani  <phst@google.com>
18159         Electric quotes: Improve support for Markdown mode (Bug#24709)
18161         Introduce a new user option 'electric-quote-context-sensitive'.  If
18162         non-nil, have ' insert an opening quote if sensible.
18164         Also introduce a new variable 'electric-quote-code-faces'.  Major
18165         modes such as 'markdown-mode' can add faces to this list to treat text
18166         as inline code and disable electric quoting.
18168         * lisp/electric.el (electric-quote-context-sensitive): New user
18169         option.
18170         (electric-quote-code-faces): New variable.
18171         (electric-quote-post-self-insert-function): Treat ' as ` if
18172         desired and applicable; disable electric quoting for given faces.
18174         * test/lisp/electric-tests.el (electric-quote-opening-single)
18175         (electric-quote-closing-single, electric-quote-opening-double)
18176         (electric-quote-closing-double)
18177         (electric-quote-context-sensitive-backtick)
18178         (electric-quote-context-sensitive-bob-single)
18179         (electric-quote-context-sensitive-bob-double)
18180         (electric-quote-context-sensitive-bol-single)
18181         (electric-quote-context-sensitive-bol-double)
18182         (electric-quote-context-sensitive-after-space-single)
18183         (electric-quote-context-sensitive-after-space-double)
18184         (electric-quote-context-sensitive-after-letter-single)
18185         (electric-quote-context-sensitive-after-letter-double)
18186         (electric-quote-context-sensitive-after-paren-single)
18187         (electric-quote-context-sensitive-after-paren-double)
18188         (electric-quote-markdown-in-text)
18189         (electric-quote-markdown-in-code): New unit tests.
18191 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
18193         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
18195 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
18197         Avoid off-by-one errors in column C-n/C-p calculations
18199         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
18200         the width used up by line numbers by looking near the window-start
18201         point.
18203 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
18205         Ask confirmation for all suspicious wildcards
18207         * lisp/dired-aux.el (dired-do-shell-command): Check that all
18208         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
18210 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
18212         Extend dired-do-shell-command substitutions
18214         Substitute "`?`" inside command with the current file name.
18215         See details in:
18216         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
18217         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
18218         Mark as obsolete.
18219         (dired-isolated-string-re): New defun.
18220         (dired--star-or-qmark-p): New predicate.
18221         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
18222         with the current file name.
18223         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
18225 2017-07-02  Alan Mackenzie  <acm@muc.de>
18227         Fix bug in yesterday's CC Mode commit.
18229         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
18230         search has succeded before using the match data.
18231         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
18232         Specify that the position of the extremity of the head or tail is in the
18233         match data.
18235 2017-07-02  Philipp Stephani  <phst@google.com>
18237         Remove FIXME comments about sentinel values
18239         These FIXMEs can't be addressed because they would require breaking
18240         changes to the module API.  Furthermore, other module functions don't
18241         return sentinel values as well, so users generally have to call
18242         non_local_exit_check anyway.
18244         * src/emacs-module.c (module_set_user_ptr)
18245         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
18246         FIXME comments.
18248 2017-07-02  Philipp Stephani  <phst@google.com>
18250         Adapt Lisp reference to reader changes
18252         The reader now warns about some unescaped character literals, but
18253         still allows them for compatibility reasons.  Slightly adapt the
18254         manual to forbid them officially.
18256         * doc/lispref/objects.texi (Basic Char Syntax): Document that
18257         backslashes are now required before some characters.
18259 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
18261         Fix Bug#27502
18263         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
18264         (find-file-hook): Use it.  (Bug#27502)
18265         (auto-revert-remove-current-buffer): New defun.
18266         (auto-revert-mode, auto-revert-buffers): Use it.
18268 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
18270         Let test summary go through even if some logs were not generated
18272         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
18273         for existence of log files before reading.
18275 2017-07-01  Philipp Stephani  <phst@google.com>
18277         * src/module-env-25.h (copy_string_contents): Fix comment.
18279 2017-07-01  Philipp Stephani  <phst@google.com>
18281         Also mark module init function as noexcept if possible
18283         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
18284         possible.
18286 2017-07-01  Philipp Stephani  <phst@google.com>
18288         Improve C++98 compatibility
18290         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
18291         C++98 doesn't allow trailing commas in enumerations.
18293 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
18295         Minor copyedits of manuals regarding bidi conformance
18297         * doc/emacs/mule.texi (Bidirectional Editing):
18298         * doc/lispref/display.texi (Bidirectional Display): Update the
18299         bidi conformance text.
18301 2017-07-01  Alan Mackenzie  <acm@muc.de>
18303         Make C++ digit separators work.  Amend the handling of single quotes generally
18305         Single quotes, even in strings and comments, are now marked with the
18306         "punctuation" syntax-table property, except where they are validly bounding a
18307         character literal.  They are font locked with font-lock-warning-face except
18308         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
18310         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
18311         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
18312         functions/macros.
18314         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
18315         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
18317         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
18318         c-before-after-change-digit-quote from wherever it occurs.  Insert
18319         c-parse-quotes-before-change into the entries for the languages where it is
18320         needed.
18321         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
18322         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
18323         the languages which need it.
18324         (c-has-quoted-numbers): New lang-defconst/-defvar.
18326         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
18327         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
18328         (c-maybe-quoted-number): New defconsts.
18329         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
18330         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
18331         (c-parse-quotes-after-change): New functions.
18333 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
18335         Ignore mouse-movement for describe-key-briefly (Bug#12204)
18337         * lisp/help.el (help-read-key-sequence): Add optional argument ot
18338         ignore `mouse-movement' events.
18339         (describe-key-briefly): Use it.
18340         * doc/emacs/help.texi (Key Help):
18341         * etc/NEWS: Mention that mouse movement is ignored.
18343 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
18345         Refactor key describing commands
18347         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
18348         functions, extracted from `describe-key' and `describe-key-briefly'.
18349         (describe-key, describe-key-briefly): Use them.
18351 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
18353         Improve display of tabs with line numbers
18355         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
18356         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
18358 2017-07-01  Alan Third  <alan@idiocy.org>
18360         Fix threads on NS (bug#25265)
18362         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
18363         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
18364         src/nsterm.m (ns_select): Call thread_select from within ns_select.
18365         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
18366         (ns_send_appdefined): Don't wait for main thread when sending app
18367         defined event.
18368         src/process.c (wait_reading_process_output): Call thread_select from
18369         within ns_select.
18370         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
18371         its event loop using ns_run_loop_break.
18373 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
18375         Avoid slow redisplay under 'visual' mode of line numbers
18377         * src/xdisp.c (display_count_lines_visually): Avoid very slow
18378         redisplay when this function is invoked very far from point.
18379         Reported by Alex <agrambot@gmail.com>.
18381 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
18383         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
18385 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18387         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
18389         (cl--random-state, cl--random-time): Move from cl-lib.el.
18390         (cl-random): Use struct accessors.
18391         (cl-random-state-p): Remove, provided by the defstruct.
18392         (cl-make-random-state): Rewrite to struct constructor.
18394 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18396         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
18398 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18400         Improve documentation of faces related to display-line-numbers
18402         * lisp/faces.el (line-number, line-number-current-line): Warn
18403         against using non-monospaced fonts.
18405 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18407         Fix relative-number display with non-nil display-line-number-width
18409         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
18410         value of display-line-number-width as acceptable.
18411         Handle the case of 'relative' with display-line-number-width
18412         non-nil and smaller than the absolute line number requires.
18413         Reported by Alex <agrambot@gmail.com>.
18415 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
18417         Release Tramp 2.3.2
18419         * doc/misc/tramp.texi (Android shell setup): Show default file name.
18420         Structure section.
18422         * doc/misc/trampver.texi:
18423         * lisp/net/trampver.el: Change version to "2.3.2".
18425         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
18426         Offer home directory for mock method if it doesn't exist.
18428 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18430         Add documentation for display-line-numbers
18432         * doc/emacs/custom.texi (Init Rebinding):
18433         * doc/emacs/modes.texi (Minor Modes): Remove references to
18434         linum-mode.
18435         * doc/emacs/display.texi (Display Custom): Describe the
18436         line-number display.
18437         (Optional Mode Line): Fix the index entry to not conflict with
18438         that in "Display Custom".
18439         * doc/emacs/basic.texi (Position Info): Add cross-reference to
18440         "Display Custom", for line-number display.
18442         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
18443         display-line-numbers-disable in the doc string.
18445         * lisp/cus-start.el (standard): Fix lst change.
18447 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18449         Support displaying zero as the number of the current line
18451         * src/xdisp.c (syms_of_xdisp)
18452         <display-line-numbers-current-absolute>: New variable.
18453         <display-line-numbers>: Doc fix.
18454         (maybe_produce_line_number): Support nil value of
18455         display-line-numbers-current-absolute.
18457         * lisp/cus-start.el (standard): Add customization form for
18458         display-line-numbers-current-absolute.
18460         * etc/NEWS: Document recently introduced features.
18462 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18464         Speed up the visual-mode relative line numbers
18466         * src/xdisp.c (display_count_lines_visually): Introduce a
18467         shortcut: if a relative line number was already calculated for
18468         this iterator object, just increase it instead of the
18469         expensive call to move_it_to.  Argument list changed to pass a
18470         pointer to the iterator object.
18471         (maybe_produce_line_number): Adjust for change in signature of
18472         display_count_lines_visually.  Record the relative line number and
18473         the corresponding byte position in the iterator object also in the
18474         'visual' mode.
18476 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18478         Fix hscrolling with line numbers on TTY frames
18480         * src/xdisp.c (hscroll_window_tree): Correct the X offset
18481         calculations on TTY frames.
18482         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
18483         a kludge using it->lnum_width.
18485 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
18487         Fix TAB display when the line-number face uses a smaller/larger font
18489         * src/dispextern.h (struct it): New member lnum_pixel_width.
18490         * src/xdisp.c (maybe_produce_line_number): Compute the width of
18491         the line-number display in pixels.
18492         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
18493         that used it->lnum_width and made assumptions about pixel width.
18495 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18497         Escape NUL bytes in X selections (Bug#6991)
18499         * lisp/term/w32-win.el (w32--set-selection):
18500         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
18501         "\0".
18502         * doc/emacs/killing.texi: Document new behavior.
18503         * etc/NEWS (times): Announce it.
18505 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18507         Hide byte code in backtraces (Bug#6991)
18509         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
18510         defaulting to `cl-print'.
18511         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
18512         `prin1'.
18513         * etc/NEWS: Announce it.
18515 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18517         Don't redundantly cl-print arglist in function docstring again
18519         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
18520         part of docstring.
18521         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
18522         test accordingly.
18524 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18526         Escape control characters in backtraces (Bug#6991)
18528         * src/print.c (syms_of_print): Add new variable,
18529         print-escape-control-characters.
18530         (print_object): Print control characters with octal escape codes when
18531         print-escape-control-characters is true.
18532         * lisp/subr.el (backtrace):
18533         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
18534         `print-escape-control-characters' to t.
18536 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18538         Improve ert backtrace recording
18540         Change ert to use the new `backtrace-frames' function instead of
18541         collecting frames one by one with `backtrace-frame'.  Additionally,
18542         collect frames starting from `signal' instead the somewhat arbitrary
18543         "6 from the bottom".  Skipping 6 frames would skip the expression that
18544         actually caused the signal that triggered the debugger.  Possibly 6
18545         was chosen because in the case of a failed test, the triggering frame
18546         is an `ert-fail' call, which is not so interesting.  But in case of a
18547         test throwing an error, this drops the `error' call which is too much.
18549         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
18550         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
18551         code from `debugger-make-xrefs'.
18552         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
18553         `debugger-insert-backtrace'.
18554         (ert--run-test-debugger): Record the backtrace frames starting from
18555         the instigating `signal' call.
18556         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
18557         DO-XREFS parameter.
18558         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
18559         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
18560         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
18561         the backtrace list instead of comparing its string representation.
18562         Expect `signal' to be the first frame.
18564 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18566         Operate on frame list instead of printed backtrace
18568         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
18569         prints the given backtrace frames.
18570         (debugger-setup-buffer): Use it instead of editing the backtrace
18571         buffer text.
18573 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
18575         Minor fixes
18577         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
18578         line numbers to be displayed in empty lines beyond ZV.
18579         (x_produce_glyphs): Start fixing TAB display in truncated lines.
18581 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
18583         Improve timer handling when Tramp accepts output
18585         * lisp/net/tramp-compat.el: Avoid compiler warning.
18587         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
18588         Remove lock machinery.
18590         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
18591         (tramp-file-name-handler): Add lock machinery from
18592         `tramp-sh-file-name-handler'.  Allow timers to run.
18593         (tramp-accept-process-output): Remove nasty workaround.
18594         Suppress timers.
18596         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
18597         Suppress run in tests.
18598         (tramp--instrument-test-case-p): New defvar.
18599         (tramp--instrument-test-case): Use it in order to allow nested calls.
18600         (tramp--test-message, tramp--test-backtrace): New defsubst,
18601         will be used for occasional test instrumentation.
18602         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
18603         (tramp-test28-shell-command)
18604         (tramp--test-shell-command-to-string-asynchronously): Suppress
18605         nasty messages.  Don't overwrite sentinel.
18606         (tramp-test36-asynchronous-requests): Rewrite major parts.
18607         Expect :passed.
18609 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
18611         * lisp/url/url-history.el: Use lexical-binding
18613         (url-completion-function): Mark as obsolete.
18614         Mark unused args accordingly.
18616 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18618         Don't assume url structs are vectors (Bug#27333)
18620         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
18621         instead of `vectorp'.
18623 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
18625         Replace with dolist some uses of while
18627         * lisp/calc/calc-units.el (calc-permanent-units):
18628         (math-compare-unit-names, math-simplify-units-quotient):
18629         (math-build-units-table-buffer): Use dolist to replace extra bindings
18630         and some while loops.
18632 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18634         Make tcl-auto-fill-mode obsolete (Bug#10772)
18636         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
18637         * etc/NEWS: Announce it.
18639 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18641         Don't read eshell/which output from *Help* buffer (Bug#26894)
18643         * lisp/help-fns.el (help-fns--analyse-function)
18644         (help-fns-function-description-header): New functions, extracted from
18645         describe-function-1.
18646         (describe-function-1): Use them.
18647         * lisp/eshell/esh-cmd.el (eshell/which): Use
18648         `help-fns-function-description-header' instead of
18649         `describe-function-1'.
18651 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18653         Support default-text-properties
18655         * src/xdisp.c (should_produce_line_number): Call get-char-property
18656         at ZV as well, to support default-text-properties.
18658 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18660         Avoid segfaults when some display vector is an empty string
18662         * src/xdisp.c (next_element_from_display_vector): Don't try
18663         accessing the dpvec[] array if its size is zero.  (Bug#27504)
18665 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18667         Initial support for visually-relative line numbers
18669         Works very slowly.
18671         * src/xdisp.c (display_count_lines_visually): New function.
18672         (maybe_produce_line_number): Support 'visual' mode of line-number
18673         display.
18674         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18675         also when glyph_row is NULL.  This is important for move_it_*
18676         functions.
18677         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
18678         (try_window_id, redisplay_window, try_cursor_movement): For
18679         'visual' line-number display, disable the same redisplay
18680         optimizations as for 'relative'.
18682         * lisp/cus-start.el (standard): Add new value for the
18683         customization form of display-line-numbers.
18685 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18687         Update IT's metrics while simulating display
18689         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18690         also when glyph_row is NULL.  This is important for move_it_*
18691         functions.
18693 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
18695         Fix bug in handling GnuPG's TRUST_MARGINAL status
18697         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
18698         to `good'.
18700 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18702         Prefer `when' instead of 1-branch `if'
18704         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
18705         in local variable ok.
18706         Use `when' instead of 1-branch `if'.
18708 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18710         Use #' instead of (function ...)
18712         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
18713         (dired-mark-confirm, dired-query, dired-byte-compile)
18714         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
18715         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
18716         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
18717         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
18718         (dired-do-copy-regexp, dired-do-hardlink-regexp)
18719         (dired-do-symlink-regexp, dired-create-files-non-directory)
18720         (dired-upcase, dired-downcase)
18722         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
18723         (dired-internal-do-deletions, dired-internal-do-deletions):
18724         Prefer #' instead of (function ...).
18726 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18728         Don't quote lambda forms
18730         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
18731         (dired-mark, dired-desktop-buffer-misc-data)
18733         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
18734         (dired-create-files-non-directory, dired-insert-subdir-validate)
18735         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
18737 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
18739         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
18741         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
18742         and `brackets-after-id'.
18743         (c-font-lock-objc-methods): Mark unused args.
18745 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18747         Omit null-pointer test in intervals.h FRAME
18749         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
18750         (INTERVAL_LAST_POS): Omit unnecessary parens.
18751         (LENGTH): Omit test for null pointer.  The argument is never null.
18752         The unnecessary test causes GCC 7.1.0 to assume that the argument
18753         might be null, and therefore to issue false alarms when the
18754         argument is dereferenced in other expressions.
18756 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18758         Parenthesize frame.h macro definitions
18760         * src/frame.h (FRAME_TOOL_BAR_POSITION)
18761         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
18762         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
18763         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
18764         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
18765         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
18766         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
18767         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
18768         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
18769         to allow arbitrary expression arguments.
18771 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18773         Port recent frame changes to GCC 7
18775         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
18776         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
18777         might return null.  This also avoids a run-time test.
18779 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18781         Minor aesthetic fix of last change.
18783 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18785         Allow to disable display of line numbers beyond EOB
18787         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
18788         function.
18789         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
18790         * src/xdisp.c (should_produce_line_number): When at ZV, call
18791         disable_line_numbers_overlay_at_eob to determine whether line
18792         numbers should be displayed beyond ZV.
18794 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
18796         Fix Android 6/7 problems in Tramp
18798         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
18799         (tramp-adb-handle-directory-files-and-attributes)
18800         (tramp-adb-handle-file-name-all-completions): Insert "."  and
18801         ".." only when needed.
18802         (tramp-adb-get-ls-command): Force one column output for toybox.
18804 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
18806         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
18808 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18810         Fix line number display for overlay/display strings with newlines
18812         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
18813         producing space glyphs instead of a line number to include the
18814         case of display strings and overlays.
18816 2017-06-25  Alan Mackenzie  <acm@muc.de>
18818         Make CC Mode load cl-lib rather than cl in Emacs 26.
18820         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
18821         variable.
18823         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
18824         (c--cl-library): New variable.
18825         (Top level): Amend the form which requires library cl or cl-lib.
18826         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
18827         (c--delete-duplicate): Amend to use c--cl-library instead of
18828         c--mapcan-status.
18830         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
18831         (c-back-over-compound-identifier): Remove unused local variables.
18833         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
18834         local variable.
18836         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
18837         of c--mapcan-status.
18839         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
18840         silence a compiler warning.
18842 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
18844         Provide additional support for child frames
18846         Provide mouse dragging and resizing of frames.  Allow resizing
18847         frames proportionally.  Provide additional functionality for
18848         child frames.  Minor bug fixes.
18850         * lisp/frame.el (frame-border-width, frame-pixel-width)
18851         (frame-pixel-height): Alias to `frame-internal-border-width',
18852         `frame-native-width' and `frame-native-height'.
18853         (frame-inner-width, frame-inner-height, frame-outer-width)
18854         (frame-outer-height): New functions.
18855         * lisp/minibuffer.el (completion-auto-help): Fix typo.
18856         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
18857         (mouse-drag-header-line): Allow moving a frame by dragging the
18858         mode line of its bottommost window (on a minibuffer-less frame)
18859         or the header line of its topmost window.
18860         (mouse-drag-vertical-line): Mention argument in doc-string.
18861         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
18862         (mouse-drag-top-left-corner, mouse-drag-top-edge)
18863         (mouse-drag-top-right-corner, mouse-drag-right-edge)
18864         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
18865         (mouse-drag-bottom-left-corner): New functions for resizing a
18866         frame by dragging its internal border together with
18867         corresponding key bindings.
18868         * lisp/tooltip.el (tooltip-frame-parameters): Add
18869         'no-special-glyphs' to default parameters and update version
18870         tag.
18871         * lisp/window.el (frame-auto-hide-function): Add choice to make
18872         frame invisible and update version tag.
18873         (window--delete): Handle 'auto-hide-function' frame parameter.
18874         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
18875         'no-accept-focus' frame parameters.
18876         (display-buffer--action-function-custom-type): Add
18877         `display-buffer-in-child-frame'.
18878         (display-buffer): Mention `display-buffer-in-child-frame' in
18879         doc-string.
18880         (display-buffer-in-child-frame): New action function for
18881         `display-buffer'.
18882         (window--sanitize-margin): Return zero when MARGIN cannot be
18883         sanitized.
18884         (fit-frame-to-buffer): Major rewrite to handle child frames and
18885         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
18886         frame parameters.
18887         (window-largest-empty-rectangle--maximums-1)
18888         (window-largest-empty-rectangle--maximums)
18889         (window-largest-empty-rectangle--disjoint-maximums)
18890         (window-largest-empty-rectangle): New functions.
18892         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
18893         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
18894         provided by corresponding functions window_wants_modeline and
18895         window_wants_header_line in window.c.  Adjust users.
18896         * src/dispnew.c (adjust_glyph_matrix)
18897         (buffer_posn_from_coords): Use window_wants_modeline and
18898         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18899         WINDOW_WANTS_HEADER_LINE_P.
18900         * src/frame.c (keep_ratio): New function.
18901         (adjust_frame_size): Call keep_ratio for each of F's child
18902         frames.
18903         (make_frame): Initialize no_special_glyphs slot.
18904         (frame_internal_border_part): New function.
18905         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
18906         to Fframe_native_width, Fframe_native_height mand
18907         Fframe_internal_border_width.
18908         (frame_parm_table): Add Qno_special_glyphs entry.
18909         (frame_float_type): New enumeration type.
18910         (frame_float): New function to handle frame size and position
18911         ratios.
18912         (x_set_frame_parameters): Handle size and position ratios.
18913         (x_set_no_special_glyphs): New function
18914         (x_figure_window_size): Handle size and position ratios.
18915         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
18916         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
18917         Qheight_only, Qleft_only and Qtop_only.
18918         * src/frame.h (internal_border_part): New enumeration type.
18919         (struct frame): New slot no_special_glyphs.
18920         (FRAME_NO_SPECIAL_GLYPHS): New macro.
18921         * src/gtkutil.c (xg_frame_restack): Return immediately for
18922         GTK versions before 2.18.0.
18923         * src/keyboard.c (internal_border_parts): New array constant.
18924         (make_lispy_position): For frames with border dragging enabled
18925         return internal border part.
18926         (syms_of_keyboard): New symbols Qdrag_internal_border,
18927         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
18928         Qright_edge, Qbottom_right_corner, Qbottom_edge and
18929         Qbottom_left_corner.
18930         * src/minibuf.c (read_minibuf_unwind): When exiting the
18931         minibuffer deal with frames that have the 'minibuffer-exit'
18932         parameter set.
18933         (syms_of_minibuf): New symbol Qminibuffer_exit.
18934         * src/nsfns.m (frame_parm_handler): Add entry for
18935         x_set_no_special_glyphs.
18936         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18937         Intitialize new cursor types for dragging frame borders.
18938         * src/nsterm.h (struct ns_output): Add new cursor types for
18939         dragging frame borders.
18940         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
18941         x_set_no_special_glyphs.
18942         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18943         Intitialize new cursor types for dragging frame borders.
18944         * src/w32term.h (struct w32_output): Add new cursor types for
18945         dragging frame borders.
18946         * src/window.c (coordinates_in_window)
18947         (Fwindow_line_height, window_internal_height): Use
18948         window_wants_modeline and window_wants_header_line instead of
18949         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18950         (Fwindow_lines_pixel_dimensions): New function.
18951         (window_parameter): New function.
18952         (Fwindow_parameter): Call window_parameter.
18953         (window_wants_mode_line, window_wants_header_line): New
18954         functions replacing the macros WINDOW_WANTS_MODELINE_P and
18955         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
18956         (syms_of_window): New symbols Qmode_line_format and
18957         Qheader_line_format.
18958         * src/window.h: Reorganize and re-comment macros.  Use
18959         window_wants_modeline and window_wants_header_line instead of
18960         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18961         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
18962         (WINDOW_BUFFER): New macro.
18963         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
18964         * src/xdisp.c (window_text_bottom_y, window_box_height)
18965         (window_box, start_display)
18966         (compute_window_start_on_continuation_line)
18967         (try_cursor_movement, redisplay_window)
18968         (try_window_reusing_current_matrix, try_window_id)
18969         (display_line, expose_window): Use window_wants_modeline and
18970         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18971         WINDOW_WANTS_HEADER_LINE_P.
18972         (pos_visible_p, display_mode_lines): Respect W's
18973         'mode-line-format' and 'header-line-format' window parameters.
18974         (init_iterator): Use window_wants_modeline and
18975         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18976         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
18977         no_special_glyphs value.
18978         (note_mouse_highlight): Set frame border cursors when on
18979         internal border.
18980         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
18981         drawing of window dividers.
18982         * src/xfns.c (mouse_cursor): Add entries for border parts.
18983         (mouse_cursor_types): Add entries for cursor types to drag
18984         frame borders.
18985         (INSTALL_CURSOR): Add entries for new cursor types to drag
18986         frame borders.
18987         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18988         (x_frame_parm_handlers): Add entry for
18989         x_set_no_special_glyphs.
18990         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
18991         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
18992         (Vx_window_right_edge_shape)
18993         (Vx_window_bottom_right_corner_shape)
18994         (Vx_window_bottom_edge_shape)
18995         (Vx_window_bottom_left_corner_shape): New variables.
18996         (x_frame_restack): Call xg_frame_restack only for GTK versions
18997         starting with 2.18.0.
18998         * src/xterm.c (x_free_frame_resources): Remove new cursors for
18999         dragging frame borders.
19000         * src/xterm.h (struct x_output): Add new cursor types for
19001         dragging frame borders.
19003         * doc/lispref/display.texi (Size of Displayed Text): Document
19004         `window-lines-pixel-dimensions'.
19005         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
19006         Parameters".
19007         * doc/lispref/frames.texi (Frame Size): Replace
19008         frame-pixel-width/-height by frame-native-width/-height.  Add
19009         frame-inner-width/-height and frame-outer-width/-height docs.
19010         (Position Parameters): Describe specifying position as ratios.
19011         Clarify remark about positions relative to bottom/ridge display
19012         edge.
19013         (Size Parameters): Describe specifying sizes as ratios.
19014         Describe 'fit-frame-to-buffer-margins' and
19015         'fit-frame-to-buffer-sizes' parameters.
19016         (Layout Parameters): Describe 'no-special-glyphs' parameter.
19017         (Frame Interaction Parameters): Describe 'auto-hide-function',
19018         'minibuffer-exit' and 'keep-ratio' parameters.
19019         (Mouse Dragging Parameters): New section describing
19020         'drag-internal-border', 'drag-with-header-line',
19021         'drag-with-mode-line', 'snap-width', 'top-visible' and
19022         'bottom-visible' parameters.
19023         (Management Parameters): Mention that `override-redirect' has
19024         no effect on MS Windows.
19025         (Font and Color Parameters): Mention child frames for `alpha'
19026         parameter.
19027         (Child Frames): Rewrite section with description and cross
19028         references to new frame parameters added.
19029         * doc/lispref/modes.texi (Mode Line Basics): Mention
19030         'mode-line-format' and 'header-line-format' window parameters.
19031         * doc/lispref/windows.texi (Resizing Windows): Mention effect
19032         of `fit-frame-to-buffer-margins' for child frames.
19033         (Display Action Functions): New action function
19034         `display-buffer-in-child-frame'.
19035         (Quitting Windows): Mention `make-frame-invisible' as optional
19036         value of `frame-auto-hide-function' and `auto-hide-function'
19037         frame paameter.
19038         (Coordinates and Windows): Describe new function
19039         `window-largest-empty-rectangle'.
19040         (Window Parameters): Describe new parameters 'mode-line-format'
19041         and 'header-line-format'.  Index all window parameters described
19042         in this section.
19044 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19046         Adjust lm-verify to accept current notices
19048         Problem reported by Mike Kupfer in:
19049         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
19050         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
19051         Do not require later lines in a copyright notice to have more
19052         indentation than earlier lines.
19054 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19056         Minor change in NEWS.
19058         Improve documentation in NEWS.
19060 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19062         Move additional hscrolling code into a suitable 'if'
19064         * src/xdisp.c (hscroll_window_tree): Make additional calculations
19065         regarding glyphs produced for line numbers conditional on
19066         line-number display.
19068 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19070         Partial fix of hscroll of truncated lines with line numbers
19072         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
19073         hscroll calculations to line-number display.
19074         * src/term.c (produce_glyphs): Adjust tab stop to window's
19075         hscroll.  These two changes fix horizontal scrolling when line
19076         numbers are displayed.  But there's still a bug: the horizontal
19077         shift of lines that begin with a TAB is different from the rest.
19078         * src/xdisp.c (move_it_in_display_line_to): Call
19079         should_produce_line_number to determine whether a line number
19080         should be produced for this screen line.
19082 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
19084         Don't change byte-compile-delete-errors at runtime (Bug#27340)
19086         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
19087         time.
19089 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19091         Allow Lisp program to disable line-number display for specific lines
19093         * etc/NEWS: Update the documentation.
19095         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
19096         symbol.
19097         (should_produce_line_number): New function.
19098         (display_line): Use should_produce_line_number to determine
19099         whether a line number should be produced for each glyph row.
19101 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
19103         * lisp/net/html2text.el: Move to obsolete/.
19105 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19107         Support a separate face for displaying the current line's number
19109         * lisp/faces.el (line-number-current-line): New face.
19111         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
19112         symbol.
19113         (try_window_id, try_cursor_movement): Disable these optimizations
19114         when the line-number-current-line face is different from
19115         line-number face.
19116         (maybe_produce_line_number): Display the current line in the
19117         line-number-current-line face, if it's different from line-number.
19119 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19121         Change display of current line in relative mode
19123         * src/xdisp.c (maybe_produce_line_number): In relative mode
19124         display the current line number as its absolute value, not as zero.
19126 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19128         Rename display-line-width
19130         * etc/NEWS:
19131         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
19132         * lisp/cus-start.el: Rename display-line-width to
19133         display-line-number-width.
19135 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19137         Fix tab stops when line numbers are displayed
19139         * src/xdisp.c (x_produce_glyphs):
19140         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
19141         space taken by the line-number display.
19143 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19145         Fix crashes on TTY frames due to negative lnum_width.
19147         Don't display line numbers in the minibuffer and in tooltip frames.
19149 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19151         Fix problems with line-number updates in Follow mode
19153         * src/xdisp.c (redisplay_window): If forced window-start requires
19154         to move a window's point, and the window is under relative
19155         line-number display, force another round of redisplay to update
19156         the relative line numbers.  This fixes follow-mode "redisplay" of
19157         its window group.
19159         * lisp/frame.el: Add display-line-numbers to the list of variables
19160         that should trigger redisplay of the current buffer.
19162 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
19164         Fix display of line numbers with fonts larger than the default
19166         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
19167         IT, not in IT->glyph_row, since the latter gets overwritten in
19168         display_line.  Fixes display of line numbers when the font used
19169         for them is larger than that of the default face.
19171 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
19173         Fix background color beyond EOB and cursor display
19175         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
19176         for background of the blank glyphs in the line-number area which
19177         are drawn beyond EOB.
19178         (display_line): Reset the glyph row's displays_text_p flag only on
19179         empty lines that don't display line numbers.  This fixes cursor
19180         display beyond EOB.  Fix the bidi information in the glyphs
19181         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
19182         produced for line numbers.
19184 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
19186         Fix display of indicate-empty-lines when line numbers are displayed
19188         * src/xdisp.c (row_text_area_empty): New function.
19189         (display_line): Call row_text_area_empty to verify that a glyph
19190         row's text area is devoid of any glyphs that came from a buffer or
19191         a string.  This fixes a bug with empty-lines indication
19192         disappearing when line numbers or line-prefix are displayed.
19193         (display_line): Delete the argument FORCE; all callers changed.
19194         Remove the condition for actually producing the glyphs for the
19195         line number, as even if the number didn't change we need to
19196         produce empty space.
19198 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
19200         Fix symbol relocation when the relocated cell is renamed.
19202         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
19203         hashmap has been instantiated before getting data from it.  When
19204         editing several spreadsheets, and you have spreadsheet #1 with a
19205         cell named `foo', and no renamed cell in spreadsheet #2, then if
19206         you make a formula with `foo' in spreadsheet #2, not doing this
19207         check will make an error.
19208         (ses-cell-set-formula): Robustify versus incorrect cell references
19209         given in the user provided formula.  An explicit error message is
19210         provided after the action when the user gives an incorrect cell
19211         reference, but the formula edition is not changed.  This means that
19212         if the incorrect reference is to a cell that is created someday,
19213         then this new cell will not have the edited cell in its reference
19214         list.  Fixing this can still be done by editing again the first
19215         cell formula.
19216         (ses-relocate-symbol): Do not create symbol of referred-to cell
19217         when this is a renamed cell.
19219 2017-06-23  Rasmus  <rasmus@gmx.us>
19221         Synchronize with the "emacs-sync" branch from Org
19223 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19225         Remove getc_unlocked configure-time check
19227         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
19228         does this for us.
19230 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19232         Use unlocked stdio more systematically
19234         This can improve performance significantly on stdio-bottlenecked code.
19235         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
19236         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
19237         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
19238         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
19239         * lib-src/profile.c, lib-src/update-game-score.c:
19240         Include unlocked-io.h instead of stdio.h, since these programs are
19241         single-threaded.
19242         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19243         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
19244         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
19245         * src/lread.c, src/term.c:
19246         Include sysstdio.h, possibly instead of stdio.h, to define
19247         the unlocked functions if the system does not provide them.
19248         * src/charset.c, src/lread.c (getc_unlocked):
19249         Remove, since sysstdio.h now defines it if needed.
19250         * src/cm.c (cmputc, cmcheckmagic):
19251         * src/dispnew.c (update_frame, update_frame_with_menu)
19252         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
19253         * src/emacs.c (main, Fdump_emacs):
19254         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
19255         * src/image.c (slurp_file, png_read_from_file, png_load_body)
19256         (our_stdio_fill_input_buffer):
19257         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
19258         * src/lread.c (readbyte_from_file):
19259         * src/minibuf.c (read_minibuf_noninteractive):
19260         * src/print.c (printchar_to_stream, strout)
19261         (Fredirect_debugging_output):
19262         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
19263         (procfs_get_total_memory):
19264         * src/term.c (tty_ring_bell, tty_send_additional_strings)
19265         (tty_set_terminal_modes, tty_reset_terminal_modes)
19266         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
19267         (tty_write_glyphs_with_face, tty_insert_glyphs)
19268         (tty_menu_activate):
19269         * src/xfaces.c (Fx_load_color_file):
19270         Use unlocked stdio when it should be safe.
19271         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
19272         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
19273         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
19274         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
19276 2017-06-22  Glenn Morris  <rgm@gnu.org>
19278         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
19280 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
19282         unidata: don’t check special casing in unidata-check  (bug#26656)
19284         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
19285         casing mapping of characters since that mapping is not constructed from
19286         the unidata.txt file.
19287         Also, check for integer decoder and cons char earlier so that less
19288         unnecessary processing is performed.
19290 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
19292         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
19294         Avoid string-to-multibyte and string-as-unibyte.
19295         Don't make *Help* unibyte just because the char was in a unibyte buffer.
19297 2017-06-22  Rasmus  <rasmus@gmx.us>
19299         Add Org schemas.xml contents to Emacs schemas.xml
19301         Entries from the Org version of schemas.xml have been added to
19302         the Emacs version of schemas.xml.
19304 2017-06-22  Rasmus  <rasmus@gmx.us>
19306         Update Org to v9.0.9
19308         Please see etc/ORG-NEWS for details.
19310 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
19312         Do not hard code A1 cell reference, as it may be renamed.
19314         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
19316 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
19318         Fix make_hash_table calls in lread.c
19320         * src/lread.c (readevalloop, read_internal_start): Fix
19321         make_hash_table calls to make build succeed.
19323 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
19325         Merge several Lisp reader speedups.
19327 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
19329         Create less garbage to collect while reading symbols.
19331         * src/lread.c (read1): When interning a symbol, only create a new
19332         string object for the name if we're going to use it for a new symbol
19333         object.
19335 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
19337         Replace read_objects assoc list with two hash tables.
19339         For larger input files with lots of shared data structures, an
19340         association list is too slow.
19342         * src/lread.c (read_objects_map, read_objects_completed): New
19343         variables, replacing read_objects.
19344         (readevalloop): Initialize them with hash tables before starting a
19345         top-level read, if they're not already empty hash tables, and reset
19346         them to Qnil afterwards if something was added to the hash tables.
19347         (read_internal_start): Likewise.
19348         (read1): Store first the placeholder and later the newly read object
19349         into read_objects_map under the specified object number.  If the new
19350         object can contain a reference to itself, store it in
19351         read_objects_completed.
19352         (substitute_objects_recurse): Check read_objects_completed instead of
19353         read_objects for the known possibly-recursive objects.
19354         (syms_of_lread): Update initializations.
19356 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
19358         Use getc_unlocked.
19360         * configure.ac: Check for getc_unlocked.
19361         * src/charset.c (read_hex, load_charset_map_from_file): Use
19362         getc_unlocked instead of getc.
19363         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
19364         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
19365         getc_unlocked): Likewise.
19367 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
19369         Reduce lread substitutions.
19371         * src/lread.c (read1): After reading an object using the "#n=" syntax,
19372         if the read object is a cons cell, instead of recursively substituting
19373         the placeholder with the new object, mutate the placeholder cons cell
19374         itself to have the correct car and cdr values.
19376 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
19378         Short-circuit substitutions for some simple types.
19380         Values that don't contain other values cannot be circular, so checking
19381         for circular objects is a waste of cycles.
19383         * src/lread.c (substitute_object_recurse): If the subtree being
19384         examined is a symbol, number, or property-less string, just return
19385         it.
19387 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19389         Limit style_format to MAX_ALLOCA
19391         * src/editfns.c (styled_format): Subtract initial buffer size
19392         from sa_avail, since it is nontrivial.
19394 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19396         Limit bidi_find_bracket_pairs to MAX_ALLOCA
19398         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
19399         Shrink it to allow for the two struct bidi_it objects in
19400         the same frame.
19401         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
19402         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
19404 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19406         Limit insert-file-contents to MAX_ALLOCA
19408         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
19409         MAX_ALLOCA bytes in a single stack array.
19411 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19413         Remove malloc_find_address relic
19415         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
19416         Omit unnecessary initialization.
19418 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19420         Fix temacs hybrid_malloc core dump
19422         Without this patch, ./temacs would dump core sometimes on Fedora
19423         25 x86-64.  The problem was that the hybrid allocator assumed that
19424         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
19425         assumption is not true on Fedora, because the standard memory
19426         allocator calls gdefault_morecore, which means its blocks are
19427         interleaved with our blocks.  Usually the code happened to work,
19428         because our data structures agreed with the glibc data structures,
19429         but this was merely luck due to a shared pedigree, and as glibc
19430         mutates our luck has run out.
19431         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
19432         Remove; no longer needed.
19433         (BLOCK): Use unsigned division, as that does the right thing near zero.
19434         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
19435         (_realloc_internal_nolock):
19436         Big blocks now have type -1, not 0, as 0 now means the block is
19437         not ours.
19438         (morecore_nolock): Omit now-unnecessary casts to size_t.
19439         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
19440         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
19441         avoid calling the wrong free or realloc function in some cases.
19443 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
19445         Make gnus-article-date-user work
19447         * lisp/gnus/gnus-art.el (article-date-ut):
19448         Work for unfolded multi-line Date header.
19449         (article-transform-date):
19450         Refactor; add header name if it is missing in user-defined date line.
19451         (article-date-user): Fix name of date type.
19453 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
19455         Keep order of completion candidates (Bug#25995, Bug#24676)
19457         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
19458         (completion-pcm--all-completions): Use nreverse to undo the reversing
19459         caused by using push in the loop.
19461 2017-06-21  Glenn Morris  <rgm@gnu.org>
19463         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
19465 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
19467         Mark prolog indent variables as safe (bug#27369)
19469         * lisp/progmodes/prolog.el (prolog-indent-width)
19470         (prolog-left-indent-regexp, prolog-paren-indent-p)
19471         (prolog-paren-indent): Add :safe property.
19473 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
19475         Remove `:options' from `css-electric-keys'
19477         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
19478         since it just duplicates the default value.
19480 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19482         Fix crash when built by GNU Gold linker on x86
19484         Problem reported by Andrés Musetti (Bug#27248).
19485         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
19486         (emacsFrameClass): Now a function (which initializes the
19487         superclass) instead of a variable.  All uses changed.
19489 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19491         Simplify autogen.sh version checking
19493         * autogen.sh (get_version): Simplify and make more reliable
19494         by using expr rather than echo | sed.  Check exit status of program.
19495         Run program in subshell in case it cannot be executed.
19496         (check_version): Check exit status of command rather than its output.
19497         Check return status of get_version.
19499 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
19501         Delete old Date header in a simple way
19503         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
19504         when searching the old Date header boundary in order to delete it.
19506 2017-06-20  Bastien  <bzg@gnu.org>
19508         Revert "Don't bind org-agenda key to an anonymous function"
19510         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
19512 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
19514         Bind enable-local-variables to nil globally (fix dbe3e41)
19516         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
19517         Bind enable-local-variables to nil globally instead of making it
19518         buffer-local; remove let-bind of local-enable-local-variables.
19519         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
19521 2017-06-20  Glenn Morris  <rgm@gnu.org>
19523         kill-matching-buffers to optionally not confirm
19525         * lisp/files.el (kill-matching-buffers):
19526         Add option to not confirm killing.  (Bug#27286)
19528 2017-06-20  Glenn Morris  <rgm@gnu.org>
19530         * lisp/files.el (local-enable-local-variables): Doc fix.
19532 2017-06-20  Glenn Morris  <rgm@gnu.org>
19534         autogen.sh: try to check for tool being present but broken
19536         * autogen.sh (get_version): Check return status of "--version".
19537         (check_version): Try to distinguish between a missing tool
19538         and a broken one.  (Bug#27288)
19540 2017-06-19  Glenn Morris  <rgm@gnu.org>
19542         Avoid a custom-variable-type error (bug#27363)
19544         * lisp/cus-edit.el (custom-variable-type):
19545         Avoid an error due to plist-put becoming stricter of late.
19547 2017-06-19  Glenn Morris  <rgm@gnu.org>
19549         Don't put deleted packages in the trash (bug#14967)
19551         * lisp/emacs-lisp/package.el (package-delete):
19552         Don't pay attention to delete-by-moving-to-trash.
19554 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
19556         Revert "Add current-line in simple.el"
19558         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
19560 2017-06-19  Damien Cassou  <damien@cassou.me>
19562         Add current-line in simple.el
19564         * lisp/simple.el (current-line): New function.
19565         * test/lisp/simple-tests.el: Add tests for current-line.
19567 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
19569         Don't try to eval local variables in Gnus article
19571         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
19573 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19575         Fix emacs-module.h cleaning
19577         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
19578         (bootstrap-clean): Remove emacs-module.h.
19580 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
19582         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
19583         in regex.
19585 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19587         * lib/gettext.h: Merge from gnulib.
19589 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19591         Merge from gnulib
19593         This (and my previous patch) incorporate:
19594         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
19595         2017-06-15 gettext-h: Update comment
19596         * lib/diffseq.h: Copy from gnulib.
19598 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19600         * test/Makefile.in: Don't suppress test failure for single tests.
19602 2017-06-17  Philipp Stephani  <phst@google.com>
19604         emacs-module.h: Create emacs_env_26
19606         This was part of the original design of the module
19607         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
19608         but I didn't take it into account when adding the should_quit
19609         function.
19611         Instead of duplicating the environment fields or using the C
19612         preprocessor, use configure to build emacs-module.h.
19614         * configure.ac: Expand emacs-module.h template.
19616 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19618         Improve documentation of replace-buffer-contents
19620         * etc/NEWS (replace-buffer-contents): Fix formatting.
19622         * src/editfns.c (Freplace_buffer_contents): Doc fix.
19624 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19626         Finish up native display of line numbers
19628         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
19629         the number, for R2L rows.  Increment 'g' in the loop even if
19630         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
19631         line-number glyphs if it is non-zero.
19632         (move_it_in_display_line_to): Account for the space taken by the
19633         line-number glyphs.  Call maybe_produce_line_number with 2nd
19634         argument non-zero.
19635         (set_cursor_from_row): Fix calculation of cursor X coordinate in
19636         R2L rows with display-produced glyphs at the beginning.
19637         (syms_of_xdisp) <line-number>: New face symbol.
19638         <relative, display-line-width>: New symbols.
19639         (maybe_produce_line_number): Use the line-number face for
19640         displaying line numbers.  Support relative line-number display.
19641         Support user-defined width for displaying line numbers.
19642         (try_cursor_movement, try_window_id): Disable these optimizations
19643         when displaying relative line numbers.
19644         * src/dispextern.h (struct it): New member 'pt_lnum'.
19646         * lisp/faces.el (line-number): New face.
19647         * lisp/cus-start.el (standard): Provide customization forms for
19648         display-line-numbers and display-line-width.
19649         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
19650         turn display-line-numbers on and off.
19652         * etc/NEWS: Document the new feature.
19654 2017-06-17  Philipp Stephani  <phst@google.com>
19656         Allow local variables section to begin with a square bracket
19658         Fixes Bug#27391.
19660         * lisp/international/mule.el (find-auto-coding): Fix regular
19661         expression for "Local Variables" section.
19663         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
19664         Add unit test.
19666 2017-06-17  Philipp Stephani  <phst@google.com>
19668         Remove unnecessary point motion
19670         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
19671         motion.
19673 2017-06-17  Philipp Stephani  <phst@google.com>
19675         Add command to replace buffer contents
19677         Add a new command 'replace-buffer-contents' that uses the Myers diff
19678         algorithm to non-destructively replace the accessible portion of the
19679         current buffer.  The Myers algorithm is implemented in Gnulib.
19681         * src/editfns.c (Freplace_buffer_contents): New command.
19682         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
19683         (syms_of_editfns): Define new command.
19685         * test/src/editfns-tests.el (replace-buffer-contents-1)
19686         (replace-buffer-contents-2): New unit tests.
19688         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
19690         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
19692 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
19694         * lisp/international/characters.el: Update list of zero and full
19695         width characters according to Unicode 9.0.0.
19697 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
19699         Complete CSS property values less eagerly (Bug#27392)
19701         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
19702         eager by looking for a colon after the property which values are being
19703         completed for.
19705         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
19706         Add a test case ensuring that properties that are prefixes of other
19707         properties don't hinder further completion.
19709 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19711         Handle integer indices for eshell variables (Bug#26055)
19713         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
19714         if it's been marked as one, just like `eshell-lisp-command' does.
19716 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
19718         Don't bind org-agenda key to an anonymous function
19720         * lisp/org/org-agenda.el: Bind "g" to named command.
19721         (org-agenda-redo-all): New command.  Extend the previous functionality
19722         through a prefix argument.
19724 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
19726         Add test for the fix in the parent commit
19728         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
19729         New test, for the fix in the parent commit.
19731 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
19733         primitive-undo: Update only the currently valid markers
19735         * lisp/simple.el (primitive-undo):
19736         Update only the currently valid markers (bug#25599).
19738 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
19740         Initial version of native display of line numbers
19742         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
19743         buffer-local variable.
19744         Include <math.h>.
19745         (maybe_produce_line_number): New function.
19746         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
19747         (try_window_reusing_current_matrix): Don't use this method when
19748         display-line-numbers is in effect.
19749         * src/dispextern.h (struct it): New members 'lnum'.
19751 2017-06-16  Philipp Stephani  <phst@google.com>
19753         Correctly detect URLs surrounded by parentheses in comments
19755         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
19756         Make parentheses match work inside comments.
19758         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
19759         unit test.
19761 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
19763         Fix load-path issue when it contains remote directories
19765         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
19766         (tramp-use-absolute-autoload-file-names): New defun.  Call it
19767         after loading tramp.el.
19769         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
19770         New test.
19771         (tramp-test39-unload): Rename.
19773 2017-06-16  Alan Mackenzie  <acm@muc.de>
19775         Ensure C++ initializer lists don't get fontified.
19777         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
19778         compiler warning.
19780         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
19781         clause to handle C++ member initialization lists.
19782         (c-font-lock-single-decl): New function, extracted from
19783         c-font-lock-declarations.
19784         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
19785         code.
19786         (c-font-lock-cut-off-declarators): Make more rigorous by calling
19787         c-get-fontification-context, c-forward-decl-or-cast-1, and
19788         c-font-lock-single-decl in place of rather approximate code.
19790 2017-06-16  Alan Mackenzie  <acm@muc.de>
19792         Fix hang in CC Mode when ":" is typed after identifier at EOB.
19794         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
19795         confusing ":" and EOB.
19797 2017-06-15  Alan Mackenzie  <acm@muc.de>
19799         Create a toggle between block and line comments in CC Mode.
19801         Also (unrelated change) initialize the modes' keymaps at each loading.
19803         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
19804         on the modeline.
19805         (c-block-comment-flag): New variable.
19806         (c-toggle-comment-style): New function.
19808         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
19809         (c-line-comment-starter): Make them c-lang-defvars.
19810         (c-block-comment-is-default): New c-lang-defvar.
19811         (comment-start, comment-end): Make the default values dependent on
19812         c-block-comment-is-default.
19814         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
19815         (c-basic-common-init): Initialize c-block-comment-flag.
19816         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
19817         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
19818         mode is loaded rather than just once per Emacs session.
19820         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
19821         style.
19822         (Minor Modes): Define comment style.  Describe how comment style influences
19823         the information displayed on the modeline.  Document c-toggle-comment-style.
19824         (FAQ): Add a question about toggling the comment style.
19826 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19828         Pacify clang without munging C source
19830         * configure.ac (WARN_CFLAGS): With Clang, use
19831         -Wno-tautological-compare regardless of --enable-gcc-warnings.
19832         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
19833         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
19834         change which I hope is no longer needed.
19835         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
19836         some older non-POSIX hosts.
19838 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19840         No need to complicate make-docfile.c for Clang
19842         * lib-src/make-docfile.c (put_filename): Undo recent change.
19843         The Clang false alarm occurs only with CFLAGS=-save-temps and
19844         we needn’t worry about pacifying unusual compiler configurations.
19846 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19848         Port './configure CC=clang' to Fedora 25
19850         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
19851         standard function like MagickRelinquishMemory does not link.
19853 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19855         Don’t worry about __STDC_VERSION__ in emacs-module
19857         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
19858         we’ve found that some compilers do not define this symbol even
19859         when they work well enough.  If necessary features like stdbool.h
19860         are missing the compiler will complain eventually anyway.
19862 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19864         Port cleanup check to Oracle Studio 12.5
19866         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
19867         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
19868         #if this time.
19870 2017-06-14  Bastien  <bzg@gnu.org>
19872         Fix misformatted changelog entry
19874 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
19876         Avoid compiler warning in image.c on MS-Windows
19878         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
19879         compilation warning under -Warray-bounds by temporarily disabling
19880         the -Warray-bounds option.
19882 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
19884         Fix Bug#27315
19886         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
19887         New defvar.
19888         (top): Use it.
19890         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
19891         Check for connected, not for connectable.  (Bug#27315)
19892         (tramp-process-actions):
19893         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19894         Use `tramp-cache-read-persistent-data'.
19896         * test/lisp/net/tramp-tests.el (top): Set also
19897         `tramp-cache-read-persistent-data'.
19899 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
19901         Give a fixed default value for icomplete-prospects-height (Bug#26939)
19903         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
19904         (icomplete-prospects-length): Remove.
19905         * etc/NEWS: Announce removal.
19907 2017-06-14  Philipp Stephani  <phst@google.com>
19909         Remove some tautological comparisons involving rlim_t
19911         Clang on macOS warns about these with -Wtautological-compare.  POSIX
19912         guarantees that rlim_t is
19913         unsigned (cf.
19914         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
19915         so these resource limits can never be negative.
19917         * src/emacs.c (main): Remove tautological comparisons.
19919 2017-06-14  Philipp Stephani  <phst@google.com>
19921         Use --module-assertions if modules are available
19923         Using --module-assertions helps us find bugs in the test module.  But
19924         we can use it only if Emacs was compiled with module support.
19926         * test/Makefile.in (MODULES_EMACSOPT): New variable.
19927         (emacs): Use it.
19929 2017-06-14  Philipp Stephani  <phst@google.com>
19931         Define --module-assertions only of modules are available
19933         Fixes Bug#27352.
19935         * src/emacs.c (usage_message, standard_args): Define
19936         --module-assertions only if Emacs has been compiled with module
19937         support.
19939 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
19941         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
19943         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
19944         No need to restore window config for WDD and WDW commands.
19946 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
19948         lisp/net/soap-client.el: Bump version to 3.1.3
19950         * lisp/net/soap-client.el: Bump version to 3.1.3.
19951         (soap-name-p): Fix checkdoc issue.
19953 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
19955         Fix an HTTP encoding error in soap-client.el
19957         * lisp/net/soap-client.el (soap-invoke-internal): Make
19958         SOAPAction header a UTF-8 encoded string.
19960 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19962         Port cleanup attribute to Oracle Studio 12.5
19964         * INSTALL (--with-modules): List cleanup attribute as prereq.
19965         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
19966         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
19967         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
19968         __has_attribute only inside preprocessor expressions.  The C
19969         compiler should check the cleanup attribute in the next line anyway.
19970         (module_reset_handlerlist): Remove an unnecessary ‘const’
19971         that causes Oracle Studio 12.5 to refuse to compile.
19973 2017-06-14  Glenn Morris  <rgm@gnu.org>
19975         Fix running tests in without-modules builds
19977         * test/Makefile.in (EMACSOPT): Remove option that is only defined
19978         with-modules.  emacs-module-tests.el passes it where needed.
19980 2017-06-13  Glenn Morris  <rgm@gnu.org>
19982         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
19984 2017-06-13  Philipp Stephani  <phst@google.com>
19986         Inline test module Makefile into main test Makefile
19988         The test/data/emacs-module/Makefile only built a single target, and
19989         inlining it into test/Makefile simplifies dependency tracking and
19990         reduces code duplication.
19992         * configure.ac: Don't build test/data/emacs-module/Makefile.
19994         * Makefile.in ($(test_module)): Inline compilation.
19995         (clean): Also clean test module outputs.
19997 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
19999         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
20001 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
20003         Minor tweaks in Tramp manual
20005         * doc/misc/trampver.texi: Add prefixwithspace flag.
20007         * doc/misc/tramp.texi (Password handling): Harmonize example.
20008         (File name completion): Use prefixwithspace flag.
20009         (Frequently Asked Questions): Explain `tramp-histfile-override'.
20011 2017-06-13  Philipp Stephani  <phst@google.com>
20013         Silence two Clang warnings by introducing additional local variables
20015         * lib/strftime.c (libc_hidden_def):
20016         * lib-src/make-docfile.c (put_filename): Introduce local variables to
20017         silence Clang warnings.
20019 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
20021         Fix wrong indentation after string literal (Bug#27306)
20023         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
20024         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
20025         * test/lisp/emacs-lisp/lisp-mode-tests.el
20026         (lisp-indent-region-after-string-literal): New test.
20028 2017-06-13  Philipp Stephani  <phst@google.com>
20030         Fix version checks for emacs-module.h
20032         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
20033         don't need it at all.
20035 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
20037         Buttonize #<bytecode> part of printed functions (Bug#25226)
20039         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
20040         (cl-print-compiled-button): New variable.
20041         (help-byte-code): New button type, calls `disassemble' in its action.
20042         (cl-print-object): Use it if `cl-print-compiled-button' is
20043         non-nil.
20045 2017-06-12  Philipp Stephani  <phst@google.com>
20047         Print module structure sizes when initializing test module
20049         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
20050         compile-time and runtime sizes of module structures to ease debugging
20052 2017-06-12  Glenn Morris  <rgm@gnu.org>
20054         Small portability fix for emacs-module.h (bug#27346)
20056         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
20057         Avoid 'error: missing binary operator before token "("'.
20059 2017-06-12  Glenn Morris  <rgm@gnu.org>
20061         Give a more informative failure in module assertion test
20063         * test/src/emacs-module-tests.el (module--test-assertions):
20064         Rephrase final check to give a more informative failure.
20066 2017-06-12  Philipp Stephani  <phst@google.com>
20068         Fix off-by-one error
20070         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
20071         off-by-one error.
20073 2017-06-12  Glenn Morris  <rgm@gnu.org>
20075         Clean up after module assertion tests
20077         * test/src/emacs-module-tests.el (module--test-assertions):
20078         Use a temporary directory to contain any core dumps.
20080 2017-06-12  Glenn Morris  <rgm@gnu.org>
20082         Small improvement for module assertion test
20084         * test/src/emacs-module-tests.el (module--test-assertions):
20085         Don't rely on the precise form of an "Abort" message.
20087 2017-06-12  Glenn Morris  <rgm@gnu.org>
20089         Improve previous test/data/emacs-module/Makefile change
20091         * test/data/emacs-module/Makefile.in (clean):
20092         Avoid doing unpleasant things if run in a build without modules.
20094 2017-06-12  Glenn Morris  <rgm@gnu.org>
20096         Small improvements for test/data/emacs-module/Makefile
20098         * test/data/emacs-module/Makefile.in (%.o):
20099         Fix emacs-module dependency.
20100         (SECONDARY): Stop make automatically deleting *.o.
20101         (clean): New rule.
20103 2017-06-12  Glenn Morris  <rgm@gnu.org>
20105         * make-dist: Skip some more generated files in test/.
20107 2017-06-12  Alan Third  <alan@idiocy.org>
20109         Note how fullscreen differs on the NS port
20111         doc/lispref/frames.texi (Size Parameters):
20112         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
20113         hides the tool-bar and menu-bar in fullscreen.
20115 2017-06-12  Alan Third  <alan@idiocy.org>
20117         Add no-focus-on-map to NS build (bug#25408)
20119         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
20120         (x-create-frame): Check for no-focus-on-map.
20121         * src/nsterm.h (x_set_no_focus_on_map): New function.
20122         * src/nsterm.m (x_set_no_focus_on_map): New function.
20123         (ns_raise_frame): Add parameter for specifying whether to focus the
20124         frame.
20125         (ns_frame_raise_lower):
20126         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
20128 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20130         _Noreturn not noreturn
20132         _Noreturn is more portable to non-C11 platforms.  See:
20133         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
20134         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
20135         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
20137 2017-06-12  Glenn Morris  <rgm@gnu.org>
20139         Update make-dist for recent test/ changes
20141         * make-dist: No longer distribute test/data/emacs-module/Makefile.
20143 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
20145         Handle port and domain in Tramp's password cache
20147         * doc/misc/tramp.texi (Password handling): Explain port and
20148         domain handling in authinfo.
20150         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
20151         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
20152         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
20153         (tramp-maybe-open-connection):
20154         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
20155         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
20156         (tramp-smb-maybe-open-connection): Handle also domain and port.
20158 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
20160         Avoid compilation warnings with pre-C99 libc
20162         * src/emacs-module.c (module_free_global_ref)
20163         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
20164         instead of C99 't' format descriptor.
20166 2017-06-12  Philipp Stephani  <phst@google.com>
20168         Flush all output streams before aborting
20170         Maybe the stdout buffer still contains something interesting that
20171         should be flushed.
20173         * src/emacs-module.c (module_abort): Flush all output streams before
20174         aborting.
20176 2017-06-12  Philipp Stephani  <phst@google.com>
20178         Remove an assertion that doesn't test Emacs invariants
20180         * src/emacs-module.c (module_copy_string_contents): Remove an
20181         assertion that doesn't test Emacs invariants.
20183 2017-06-12  Philipp Stephani  <phst@google.com>
20185         Test module: add necessary version checks
20187         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
20188         version checks.
20190 2017-06-12  Philipp Stephani  <phst@google.com>
20192         Use additional CFLAGS from configure
20194 2017-06-12  Philipp Stephani  <phst@google.com>
20196         Use Autoconf to generate the test module Makefile
20198         This makes it easier to pass compilation flags around.
20200         * configure.ac: Also build test module Makefile.
20202         * test/data/emacs-module/Makefile.in: New makefile template.
20204         * test/Makefile.in ($(test_module)): No longer necessary to pass
20205         @MODULES_SUFFIX@ around.
20207         * .gitignore: Test module Makefile can now be ignored.
20209 2017-06-12  Philipp Stephani  <phst@google.com>
20211         Also compile test module as C11
20213         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
20215 2017-06-12  Philipp Stephani  <phst@google.com>
20217         Implement module assertions for users
20219         Add a new command-line option '-module-assertions' that users can
20220         enable developing or debugging a module.  If this option is present,
20221         Emacs performs additional checks to verify that modules fulfill their
20222         requirements.  These checks are expensive and crash Emacs if modules
20223         are invalid, so disable them by default.
20225         This is a command-line option instead of an ordinary variable because
20226         changing it while Emacs is running would cause data structure
20227         imbalances.
20229         * src/emacs.c (main): New command line option '-module-assertions'.
20231         * src/emacs-module.c (module_assert_main_thread)
20232         (module_assert_runtime, module_assert_env, module_assert_value):
20233         New functions to assert module requirements.
20234         (syms_of_module): New uninterned variable 'module-runtimes'.
20235         (init_module_assertions, in_main_thread, module_abort): New helper
20236         functions.
20237         (initialize_environment): Initialize value list.  If assertions are
20238         enabled, use a heap-allocated environment object.
20239         (finalize_environment): Add assertion that environment list is never
20240         empty.
20241         (finalize_runtime_unwind): Pop module runtime object stack.
20242         (value_to_lisp): Assert that the value is valid.
20243         (lisp_to_value): Record new value if assertions are enabled.
20244         (mark_modules): Mark allocated object list.
20245         (MODULE_FUNCTION_BEGIN_NO_CATCH)
20246         (module_non_local_exit_check, module_non_local_exit_clear)
20247         (module_non_local_exit_get, module_non_local_exit_signal)
20248         (module_non_local_exit_throw): Assert thread and environment.
20249         (module_get_environment): Assert thread and runtime.
20250         (module_make_function, module_funcall, module_intern)
20251         (module_funcall, module_make_integer, module_make_float)
20252         (module_make_string, module_make_user_ptr, module_vec_get)
20253         (funcall_module, Fmodule_load): Adapt callers.
20254         (module_make_global_ref): If assertions are enabled, use the global
20255         environment to store global values.
20256         (module_free_global_ref): Remove value from global value list.
20258         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
20259         modules.
20261         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
20262         (Fmod_test_invalid_load): New functions to test module assertions.
20263         (emacs_module_init): Bind the new functions.
20265         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
20266         the Emacs binary file.
20267         (mod-test-file): New constant for the test module file name.
20268         (module--test-assertions): New unit test.
20270 2017-06-12  Philipp Stephani  <phst@google.com>
20272         emacs-module: Use __attribute__((nonnull))
20274         Annotate all parameters with __attribute__((nonnull)) that may not be
20275         NULL.
20277 2017-06-12  Philipp Stephani  <phst@google.com>
20279         Explicitly require C11 or C++11 in emacs-module.h
20281         We already implicitly require them by including stdbool.h.  Just make
20282         the error message a bit clearer, and remove an unnecessary version
20283         comparison.
20285 2017-06-12  Philipp Stephani  <phst@google.com>
20287         Add missing 'require' forms to prevent compiler warnings.
20289         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
20290         requirements.
20292 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20294         Merge from gnulib
20296         This incorporates:
20297         2017-06-11 getopt-posix: port to glibc 2.25.90
20298         2017-06-04 same-inode: port better to VMS 8.2 and later
20299         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
20300         * m4/sys_types_h.m4: Copy from gnulib.
20302 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20304         Remove Lisp_Misc_Float
20306         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
20307         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
20308         unused for two decades; if we ever want to change floats to be a
20309         misc type we can bring it back then.
20311 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20313         Make two symbols private to emacs-module.c
20315         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
20316         Move from here ...
20317         * src/emacs-module.c: ... to here.
20319 2017-06-12  Glenn Morris  <rgm@gnu.org>
20321         Merge from origin/emacs-25
20323         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
20325 2017-06-12  Glenn Morris  <rgm@gnu.org>
20327         Merge from origin/emacs-25
20329         e80f6a210b0 Describe problems with Microsoft Intellipoint
20330         a73ec1edb07 More accurate documentation of the ':box' face attribute
20332 2017-06-12  Glenn Morris  <rgm@gnu.org>
20334         Merge from origin/emacs-25
20336         eaa00584ceb Improve documentation of 'gnutls-verify-error'
20337         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
20338         741daec617e ; Describe the problem with ksh when resizing shell window
20340 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
20342         Some further improvements for tramp-gvfs.el
20344         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
20345         (tramp-gvfs-get-file-attributes)
20346         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
20347         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
20348         Show question also in batch mode.  Cache result.
20350         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
20351         Support completion for host names and ports.
20353 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
20355         Fix highlighting of CSS selectors with double hyphens
20357         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
20358         highlighting of selectors that contain double hyphens.  They would be
20359         mistaken for a variable.
20361 2017-06-11  Philipp Stephani  <phst@google.com>
20363         Support threads in modules
20365         Rather than checking for the main thread, check for the current
20366         thread.
20368         * src/emacs-module.c (check_thread): New function.
20369         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
20370         (module_non_local_exit_check, module_non_local_exit_clear)
20371         (module_non_local_exit_get, module_non_local_exit_signal)
20372         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
20374 2017-06-11  Philipp Stephani  <phst@google.com>
20376         Allow non-local exits in module initializers
20378         Previously signals, throws, and quits from module initialization
20379         functions were ignored.  These function aren't special, and better
20380         errors can be reported using signals than with the initialization
20381         return code, so allow non-local exits.
20383         * src/emacs-module.c (module_signal_or_throw): New helper function.
20384         (Fmodule_load, funcall_module): Use it.
20385         (Fmodule_load): Also allow quitting.
20387 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
20389         Let eshell/sudo handle absolute command names (Bug#27167)
20391         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
20392         absolute paths into relative ones.
20394 2017-06-10  Alan Third  <alan@idiocy.org>
20396         Don't wait for toolbar in NS native fullscreen
20398         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
20399         function when in fullscreen.
20401 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
20403         Fix the placement of GTK menus on multi-monitor systems
20405         menu_position_func did not properly use the current monitor's
20406         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
20408         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
20409         (frame-monitor-workarea): New functions.
20411         * src/xmenu.c (menu_position_func): Take into account the workarea of
20412         the monitor that contains the mouse.  (Bug#23568)
20414 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
20416         Clarify documentation of 'face-spec-set'
20418         * lisp/faces.el (face-spec-set): Clarify the description of
20419         SPEC-TYPE in the doc string.
20421         * doc/lispref/display.texi (Defining Faces): Clarify the
20422         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
20424 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
20426         Fix domain port and handling in tramp-gvfs.el
20428         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
20429         Return nil if BYTE-ARRAY is nil.
20430         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
20431         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
20432         Fix domain and port handling.
20434         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
20435         Ignore errors.
20437 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
20439         Improve documentation of 'face-spec-set-2'
20441         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
20442         to 'face-attrs'.
20443         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
20445 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
20447         Fix handling of Python/Guile commands with arguments in gdb-mi.el
20449         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
20450         variable.
20451         (gdb-control-commands-regexp): Use it.
20452         (gdb-send): Don't increment gdb-control-level if the command
20453         matches gdb-python-guile-commands-regexp and has non-empty
20454         arguments.  Reported by David Boles <boles@ieee.org> in
20455         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
20457 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
20459         Preserve point in Dired windows under 'dired-auto-revert-buffer'
20461         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
20462         is non-nil, bind switch-to-buffer-preserve-window-point to nil
20463         while calling find-file.  (Bug#27243)
20465 2017-06-09  Philipp Stephani  <phst@google.com>
20467         Give test files a -tests.el suffix
20469         Rename a couple of test files that have the same name as the library
20470         they test.  This harmonizes the naming pattern and makes it possible
20471         to have the tests directories in the load path.
20473 2017-06-09  Philipp Stephani  <phst@google.com>
20475         Fix another compiler warning on macOS
20477         * src/image.c (x_query_frame_background_color): Don't define if we
20478         have NextStep but no image support.
20480 2017-06-09  Philipp Stephani  <phst@google.com>
20482         Add garbage collection support for module environments
20484         * src/emacs-module.c (mark_modules): New function.
20485         (initialize_environment): Properly initialize Lisp objects.
20486         * src/alloc.c (garbage_collect_1): Call it.
20488 2017-06-08  Glenn Morris  <rgm@gnu.org>
20490         Make autogen.sh report relevant environment variables
20492         * autogen.sh (check_version):
20493         Indicate if using an environment variable.
20495 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
20497         Split variable macro env from function env
20499         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
20500         (cl-symbol-macrolet): Instead of adding each binding directly into the
20501         main environment with a special key format, put all symbol macro
20502         bindings into a single entry in the main environment under
20503         `:cl-symbol-macros'.
20504         (cl--sm-macroexpand): Look up symbol bindings in the
20505         `:cl-symbol-macros' entry of the environment.
20507 2017-06-07  Glenn Morris  <rgm@gnu.org>
20509         * make-dist: Directory modules/mod-test no longer exists.
20511 2017-06-07  Glenn Morris  <rgm@gnu.org>
20513         More authors.el updates
20515         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
20516         (authors-renamed-files-alist): Additions.
20518 2017-06-07  Glenn Morris  <rgm@gnu.org>
20520         * make-dist: Check a release has a ChangeLog with a release notice.
20522         * make-dist: Use existing ChangeLog if present.
20524 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
20526         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
20528 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
20530         (url-cookie-host-can-set-p): Protect against zero-length domains
20532         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
20533         against zero-length domains.
20535         Backtrace of a real-world site that triggers a bug:
20537         Debugger entered--Lisp error: (args-out-of-range "" 0)
20538           url-cookie-host-can-set-p("www.washingtonpost.com" "")
20539           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
20540           01-January-1970 00:00:00 GMT; path=/; domain=")
20541           url-http-handle-cookies()
20543 2017-06-06  Glenn Morris  <rgm@gnu.org>
20545         More authors.el updates
20547         * admin/authors.el (authors-obsolete-files-regexps)
20548         (authors-valid-file-names, authors-renamed-files-alist)
20549         (authors-renamed-files-regexps): Additions.
20551 2017-06-06  Glenn Morris  <rgm@gnu.org>
20553         More small authors.el updates
20555         * admin/authors.el (authors-aliases): Fix recent addition.
20556         (authors-obsolete-files-regexps, authors-no-scan-regexps)
20557         (authors-ignored-files, authors-valid-file-names)
20558         (authors-renamed-files-alist): Additions.
20560 2017-06-06  Glenn Morris  <rgm@gnu.org>
20562         Make authors.el report names that were ignored
20564         * admin/authors.el (authors-ignored-names): New.
20565         (authors-canonical-author-name): Add file and position arguments.
20566         Record ignored authors.
20567         (authors-scan-change-log, authors-scan-el):
20568         Pass file and position to authors-canonical-author-name.
20569         (authors): Also print authors that were ignored.
20571 2017-06-06  Glenn Morris  <rgm@gnu.org>
20573         * admin/authors.el (authors-aliases): Additions.
20575 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
20577         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
20579 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
20581         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
20583 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20585         Enable ElDoc messages after the newline command
20587         * lisp/emacs-lisp/eldoc.el:
20588         Add "newline" to the eldoc-add-command-completions call (bug#27228).
20590 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20592         Enable eldoc-mode explicitly inside read--expression
20594         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
20596 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
20598         Fix check for package-unsigned-archives during retrieval
20600         * lisp/emacs-lisp/package.el (package--download-one-archive):
20601         Fix check for package-unsigned-archives.
20603 2017-06-05  Noah Friedman  <friedman@splode.com>
20605         Merge etc/emacs-buffer.gdb from emacs-25 to master.
20607 2017-06-05  Philipp Stephani  <phst@google.com>
20609         Fix undefined behavior in mapbacktrace
20611         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
20613 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
20615         Fix emacs-module-tests on MS-Windows
20617         * src/print.c (print_vectorlike): Make sure module function's
20618         address prints with a leading "0x".  This fixes emacs-module-tests
20619         on MS-Windows.  Fix whitespace.
20620         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
20621         commentary.
20623 2017-06-05  Philipp Stephani  <phst@google.com>
20625         Use unwind protection to clean up data structures in modules
20627         Reuse existing functionality and simplify the code a bit.
20629         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
20630         runtime object.
20631         (funcall_module): Use unwind protection to clean up environment
20632         object.
20633         (finalize_environment): Simplify signature.
20634         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
20636 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20638         Some minor tweaks in tramp-tests.el
20640         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
20641         Let it pass for all gfvs based methods.
20642         (tramp-test24-file-name-completion): Run method and host
20643         completion for all syntaxes only when expensive tests are enabled.
20644         Do not check host completion for gvfs based methods.
20645         (tramp--test-gvfs-p): Add optional METHOD argument.
20646         (tramp--test-afp-or-smb-p): Remove.
20648 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20650         Fix error in Tramp rsync method
20652         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
20653         Otherwise, `tramp-test10-write-region' could fail.
20655 2017-06-05  Philipp Stephani  <phst@google.com>
20657         Inline module_has_cleanup
20659         This constant is only used once, and we fail compilation anyway if
20660         it's false.
20662         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
20664 2017-06-05  Philipp Stephani  <phst@google.com>
20666         Add missing dependency to test module source file
20668 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20670         Omit space that broke ‘make check’
20672         * src/print.c (print_vectorlike): Omit stray space.
20674 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20676         Remove easserts etc. from emacs-module.c
20678         Most of these seem to run afoul of the comment "Do NOT use
20679         'eassert' for checking validity of user code in the module."
20680         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
20681         (module_non_local_exit_check, module_non_local_exit_clear)
20682         (module_non_local_exit_get, module_non_local_exit_signal)
20683         (module_non_local_exit_throw, module_make_string):
20684         Remove unnecessary easserts that pointers are nonnull.
20685         Hardware checks this for us nowadays, and the checks
20686         just clutter up the code.
20687         (module_extract_integer): Remove unnecessary verify that
20688         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
20689         The C standard guarantees this.
20690         (module_copy_string_contents): Remove unnecessary eassert
20691         that Lisp strings are null-terminated.
20692         (module_function_arity): Remove unnecessary easserts that
20693         function arities are in range.
20695 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20697         Remove unnecessary checking in emacs-module.c
20699         * src/emacs-module.c (module_copy_string_contents):
20700         Remove checking, as string lengths are always nonnegative and less
20701         than STRING_BYTES_BOUND, and this is checked elsewhere.
20702         (module_make_string): Check length against STRING_BYTES_BOUND, a
20703         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
20704         assume that an out-of-range integer is nonnegative.
20706 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20708         SCHARS and STRING_BYTES are nonnegative
20710         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
20711         the hopes that this will optimize a bit better.  Also, check this
20712         at runtime if ENABLE_CHECKING.
20713         * src/lisp.h (SCHARS, STRING_BYTES):
20714         eassume that these functions return nonnegative values.
20715         (STRING_SET_CHARS) [ENABLE_CHECKING]:
20716         eassert that newsize is nonnegative.
20718 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
20720         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
20722 2017-06-04  Philipp Stephani  <phst@google.com>
20724         Remove an unused error symbol
20726         * src/emacs-module.c (syms_of_module): Remove unused error symbol
20727         'invalid-module-call'.
20729 2017-06-04  Philipp Stephani  <phst@google.com>
20731         Support quitting in modules
20733         The idea is that modules should call env->should_quit from time to
20734         time and return as quickly as possible if it returns true.
20736         * src/emacs-module.c (module_should_quit): New module function.
20737         (initialize_environment): Use it.
20738         (funcall_module): Process potential pending quit.
20740         * src/eval.c (maybe_quit): Add reference to module_should_quit.
20742 2017-06-04  Philipp Stephani  <phst@google.com>
20744         Use more specific errors for module load failure
20746         * src/emacs-module.c (syms_of_module): Add more specific error
20747         symbols.
20748         (Fmodule_load): Use them.
20750 2017-06-04  Philipp Stephani  <phst@google.com>
20752         Remove an unneeded assertion
20754         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
20755         assertion.  If this assertion triggers, we raise an error anyway.
20757 2017-06-04  Philipp Stephani  <phst@google.com>
20759         Guard against signed integer overflows
20761         * src/emacs-module.c (module_extract_integer)
20762         (module_copy_string_contents, module_make_string): Guard against
20763         signed integer overflows.
20765 2017-06-04  Philipp Stephani  <phst@google.com>
20767         Add a couple more assertions to the module code
20769         These can help module authors debug crashes.
20771         * src/emacs-module.c (module_non_local_exit_check)
20772         (module_non_local_exit_clear, module_non_local_exit_get)
20773         (module_non_local_exit_signal, module_non_local_exit_throw)
20774         (module_copy_string_contents, module_make_string)
20775         (funcall_module, initialize_environment): Add assertions
20777 2017-06-04  Philipp Stephani  <phst@google.com>
20779         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
20781         In particular, alias violations are likely for the return values of
20782         dlsym(3), which get cast around arbitrarily.
20784         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
20786 2017-06-04  Philipp Stephani  <phst@google.com>
20788         Simplify interface of dynlib_attr.
20790         Instead of returning bool, set the argument pointers to NULL if the
20791         information is not available.
20793         * src/dynlib.c (dynlib_addr): Don't return bool.
20795 2017-06-04  Philipp Stephani  <phst@google.com>
20797         Rationalize environment lifetime management functions
20799         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
20800         (finalize_environment): Add parameter for public part of the
20801         environment, like 'initialize_environment'.  Add assertions.
20803 2017-06-04  Philipp Stephani  <phst@google.com>
20805         Rework printing of module functions
20807         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
20808         other types.
20810         * src/print.c (print_vectorlike): Add code to print module functions.
20812         * src/emacs-module.c (funcall_module): Stop calling
20813         'module_format_fun_env'.  Now that module functions are first-class
20814         objects, they can be added to signal data directly.
20815         (module_handle_signal): Remove now-unused function
20816         'module_format_fun_env'.
20818         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
20820         * src/eval.c (funcall_lambda): Adapt call to changed signature of
20821         'funcall_module'.
20823 2017-06-04  Philipp Stephani  <phst@google.com>
20825         Define helper macro to reduce code duplication
20827         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
20828         macro.
20829         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
20830         Use it.
20832 2017-06-04  Philipp Stephani  <phst@google.com>
20834         Remove two FIXMEs that can't be fixed
20836 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
20838         Avoid slow startup in daemon mode when global-linum-mode is on
20840         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
20841         non-client frame of a daemon session.  (Bug#27210)
20843 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20845         Fix eldoc bug with curved quote
20847         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
20848         Substitute quotes in documentation before returning it (Bug#27159).
20850 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20852         Tune ‘format’ after recent fix
20854         * doc/lispref/strings.texi (Formatting Strings):
20855         * src/editfns.c (Fformat): Format field numbers no longer need
20856         to be unique, reverting the previous doc change since that has
20857         now been fixed.  Also, document that %% should not have modifiers.
20858         * src/editfns.c (styled_format): Improve performance.  Remove
20859         the need for the new prepass over the format string, by using
20860         a typically-more-generous bound for the info array size.
20861         Initialize the info array lazily.  Move string inspection to
20862         the same area to help caching.  Avoid the need for a
20863         converted_to_string bitfield by using EQ.  Cache arg in a
20864         local and avoid some potential aliasing issues to help the
20865         compiler.  Info array is now 0-origin, not 1-origin.
20867 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
20869         Improve of file-local-name use in vc-git-checkin
20871         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
20872         when calling git commit.
20874 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
20876         Support a new CSS indentation style
20878         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
20879         immediately followed by a newline.
20881         * test/manual/indent/css-mode.css: Add test for the change above.
20883         * test/manual/indent/scss-mode.scss: Ditto.
20885 2017-06-03  Philipp Stephani  <phst@google.com>
20887         Fix a bug when using format field numbers
20889         Previously styled_format overwrite the argument vector.  This is no
20890         longer possible because there might be more than one specification per
20891         argument.  Use the existing auxiliary info array instead.
20893         * src/editfns.c (styled_format): Record arguments in the info
20894         structure instead of overwriting them.
20895         * test/src/editfns-tests.el (format-with-field): Add unit test.
20897 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20899         Document uniqueness limitation of ‘format’
20901         * doc/lispref/strings.texi (Formatting Strings):
20902         * src/editfns.c (Fformat):
20903         Document that field numbers should be unique within a format.
20905 2017-06-03  Glenn Morris  <rgm@gnu.org>
20907         Small rmailmm fix (bug#27203)
20909         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
20910         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
20912 2017-06-03  Glenn Morris  <rgm@gnu.org>
20914         * admin/authors.el (authors-aliases): Addition.
20916 2017-06-03  Glenn Morris  <rgm@gnu.org>
20918         Add watch for password back to inferior python comint filter
20920         It was removed along with other items for speed (bug#16875),
20921         but doesn't seem to have been causing an issue, and it's useful to
20922         have it there (bug#27154).
20923         * lisp/progmodes/python.el (inferior-python-mode):
20924         Add comint-watch-for-password-prompt to comint-output-filter-functions.
20926 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
20928         Use completing-read-default in tmm-prompt
20930         tmm uses completing-read, but customizes its behavior so much
20931         that any alternative completing-read-function will almost
20932         certainly break it.  For example, both ido-ubiquitous and ivy have
20933         special code to deactivate themselves for tmm.
20934         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
20935         completing-read.  (Bug#27193)
20937 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
20939         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
20941 2017-06-02  Glenn Morris  <rgm@gnu.org>
20943         Fix with-todo-test
20945         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
20946         HOME should be a directory, not a file.  Delete it when finished.
20948 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
20950         Update TUTORIAL.it
20952         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
20954 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20956         Fix cursor position in Dired buffers after dired-sort-toggle
20958         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
20959         even if the frame is marked as garbaged.  (Bug#27187)
20961 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20963         Update TUTORIAL.he
20965         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
20967 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
20969         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
20971 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20973         Limit format fields to more POSIX-like spec
20975         * doc/lispref/strings.texi (Formatting Strings):
20976         Don’t allow mixing numbered with unnumbered format specs.
20977         * src/editfns.c (styled_format): Don’t bother checking for field 0,
20978         since it doesn’t crash and the behavior is not specified.
20979         * test/src/editfns-tests.el (format-with-field): Adjust tests to
20980         match current doc.  Add more tests for out-of-range fields.
20982 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20984         Improve performance by avoiding strtoumax
20986         This made (string-to-number "10") 20% faster on my old desktop,
20987         an AMD Phenom II X4 910e running Fedora 25 x86-64.
20988         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
20989         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20990         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
20991         * m4/strtoumax.m4: Remove.
20992         * src/editfns.c (str2num): New function.
20993         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
20994         instead of uintmax_t.  Check for integer overflow.
20995         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
20996         Move to private scope and make them enums.
20997         (string_to_number): Compute integer value directly during
20998         first pass instead of revisiting it with strtoumax later.
21000 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21002         Minor improvements to format field numbers
21004         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
21005         No need for a special diagnostic for field numbers greater than
21006         PTRDIFF_MAX.  Reword diagnostic for field 0.
21007         * test/src/editfns-tests.el (format-with-field): Adjust to match.
21009 2017-06-02  Philipp Stephani  <phst@google.com>
21011         Implement field numbers in format strings
21013         A field number explicitly specifies the argument to be formatted.
21014         This is especially important for potential localization work, since
21015         grammars of various languages dictate different word orders.
21017         * src/editfns.c (Fformat): Update documentation.
21018         (styled_format): Implement field numbers.
21020         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
21022         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
21024         * test/src/editfns-tests.el (format-with-field): New unit test.
21026 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
21028         Limit scope of local overriding-terminal-local-map
21030         The function `binding' may call isearch-done, which globally sets
21031         overriding-terminal-local-map to nil (Bug#23007).
21032         * lisp/isearch.el (isearch-mouse-2): Don't bind
21033         overriding-terminal-local-map around the call to `binding'.
21035 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
21037         Correct and isolate the todo-mode test environment
21039         This avoids having to set todo-mode variables globally in the test
21040         file and prevents any exisiting user todo-mode files from influencing
21041         the tests.
21043         * test/lisp/calendar/todo-mode-tests.el:
21044         (with-todo-test): New macro.
21045         (todo-test-todo-quit01, todo-test-todo-quit02)
21046         (todo-test-item-highlighting): Use it.
21048 2017-06-01  Alan Third  <alan@idiocy.org>
21050         Fix build errors on macOS 10.6 (bug#27059)
21052         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
21054 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
21056         Improve testing of octal and hex display of raw bytes
21058         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
21059         (test-redisplay-5): Add a test with a large codepoint.
21061 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
21063         Add customizable to display raw bytes as hex
21065         * src/xdisp.c (get_next_display_element): Dispatch used format string
21066         for unprintables based on new display-raw-bytes-as-hex variable.
21067         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
21069         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
21071         * doc/emacs/display.texi: Document the new variable.
21072         * etc/NEWS: Mention display-raw-bytes-as-hex.
21074         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
21075         (test-redisplay-5): New tests.
21076         (test-redisplay): Call test-redisplay-5.
21078 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
21080         Revert "Add customizable to display raw bytes as hex"
21082         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
21084 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
21086         Add customizable to display raw bytes as hex
21088         * src/xdisp.c (get_next_display_element): Dispatch used format string
21089         for unprintables based on new display-raw-bytes-as-hex variable.
21090         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
21092         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
21094         * doc/emacs/display.texi: Document the new variable.
21095         * etc/NEWS: Mention display-raw-bytes-as-hex.
21097         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
21098         (test-redisplay-5): New tests.
21099         (test-redisplay): Call test-redisplay-5.
21101 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
21103         Fix linum under text-scaling when leuven-theme is used
21105         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
21106         inherit from 'default' and 'shadow', so that margins are enlarged
21107         as expected under text-scaling.
21109 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21111         Free cwd when no longer needed
21113         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
21115 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
21117         Fix memory leak of cwd string in emacsclient (Bug#26628)
21119         * lib-src/emacsclient.c (main): emacsclient retrieves the current
21120         working directory using get_current_dir_name which returns a newly
21121         allocated string.  Make sure this string is freed before exiting.
21123 2017-06-01  Glenn Morris  <rgm@gnu.org>
21125         Quieten compilation of some test files
21127         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
21128         * test/src/data-tests.el (binding-test-set-constant-t)
21129         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
21130         (binding-test-set-constant-nil): Silence compiler.
21131         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
21133 2017-06-01  Glenn Morris  <rgm@gnu.org>
21135         Use true names for invocation- and source-directory
21137         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
21138         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
21140 2017-06-01  Glenn Morris  <rgm@gnu.org>
21142         Avoid elisp-mode test failures when source dir has multiple names
21144         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
21145         Use the true name of the directory.
21147 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21149         Fix bug with "%%" in error format
21151         * src/doprnt.c (doprnt): Format "%%" correctly.
21152         Problem reported by Philipp Stephani in:
21153         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
21155 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21157         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
21159 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
21161         Revert mml-generate-mime-1 (bug#27141)
21163         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
21164         with slight modernizations (bug#27141).
21166 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
21168         Fix Bug#27108
21170         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
21171         in order to avoid Tramp password requests during Emacs
21172         startup.  (Bug#27108)
21174 2017-05-31  Glenn Morris  <rgm@gnu.org>
21176         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
21178 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
21180         Document current-line hscrolling in ELisp manual
21182         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
21183         new mode of auto-hscrolling only the current line.
21185 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
21187         Support lower bound on hscrolling when only current line scrolls
21189         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
21190         mode of auto-hscrolling only the current line.
21192         * src/xdisp.c (init_iterator): When hscrolling only the
21193         current line, apply the window's min_hscroll here, so that
21194         non-current lines will be hscrolled by that minimum.
21195         Suggested by Stephen Berman <stephen.berman@gmx.net>.
21196         (hscroll_window_tree): Account for window's min_hscroll when
21197         deciding whether to recompute the hscroll.
21198         (display_line): Subtract window's min_hscroll from x_incr, as that
21199         was already accounted for in init_iterator.  (Bug#27008)
21201 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
21203         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
21205         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
21206         (cl-print-object): When `print-circle' is nil, bind it to a list of
21207         objects that are currently printing to avoid printing the same object
21208         endlessly.
21209         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
21211 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
21213         Further simplify test/Makefile, optionally load elc tests
21215         * test/Makefile.in: Use make's error ignoring feature instead of
21216         suppressing test errors with shell.  Compile test files in the main
21217         make invocation instead of a recursive 'make' call.  Optionally load
21218         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
21219         Remove obsolete commentary.
21221 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
21223         Avoid inflooping in redisplay due to Spacemacs and linum-mode
21225         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
21226         retries when a frame becomes garbaged as result of redisplaying
21227         it.  (Bug#27115)
21229 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
21231         * src/editfns.c (decode-time): Fix docstring.
21233 2017-05-31  Glenn Morris  <rgm@gnu.org>
21235         * admin/update_autogen: Remove bzr support.
21237 2017-05-31  Glenn Morris  <rgm@gnu.org>
21239         Avoid subr test failure when source dir has multiple names
21241         * test/lisp/subr-tests.el (subr-tests--this-file):
21242         Use the true name of the file.  The following test does a string
21243         comparison of this value with that from method-files, which uses
21244         load-history, which contains true names.
21246 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
21248         Extract eldoc--supported-p
21250         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
21251         (turn-on-eldoc-mode, eldoc-mode): Use it.
21252         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
21254 2017-05-30  Glenn Morris  <rgm@gnu.org>
21256         Make "make check" less verbose by default
21258         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
21259         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
21260         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
21261         New, copied from lisp/Makefile.in.
21262         (%.elc, %.log): Simplify and quieten.
21264 2017-05-30  Alan Mackenzie  <acm@muc.de>
21266         Mode line "%q" construct: Just use one number when both would be the same.
21268         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
21270 2017-05-30  Alan Mackenzie  <acm@muc.de>
21272         Merge branch 'master' of /home/acm/emacs/emacs.git/master
21274 2017-05-30  Alan Mackenzie  <acm@muc.de>
21276         c-defun-name: Return fully qualified method names when wanted in C++, etc.
21278         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
21279         c-back-over-compound-identifier in place of c-backward-token-2 near the end
21280         of the function.
21282 2017-05-30  Glenn Morris  <rgm@gnu.org>
21284         Reduce scope of recent test/Makefile HOME change
21286         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
21288 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21290         Skip .#* temporaries when finding sources
21292         Without this patch, ‘make check’ can fail with the diagnostic
21293         ‘invalid syntax in conditional’ if there is an Emacs temporary
21294         file whose name starts with ‘.#’, because the ‘#’ is treated as
21295         the start of a Make comment.
21296         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
21297         * test/Makefile.in (ELFILES):
21298         Skip files starting with ‘.’, so that the .#* files do not cause
21299         trouble.  (We cannot easily skip just files starting with ‘.#’,
21300         since ‘#’ starts a Make comment!)
21302 2017-05-30  Alan Mackenzie  <acm@muc.de>
21304         Merge branch 'master' of /home/acm/emacs/emacs.git/master
21306 2017-05-30  Alan Mackenzie  <acm@muc.de>
21308         Fix the mouse help/key map on the "%p" part of the mode line.
21310         * lisp/bindings.el (mode-line-percent-position): give it a
21311         `risky-local-variable' property.
21312         (mode-line-position): correct the quoting on the mode-line-percent-position
21313         part of the variable, allowing the properties to be properly recognized.
21315 2017-05-30  Alan Mackenzie  <acm@muc.de>
21317         Fix the mouse help/key map on the "%p" part of the mode line.
21319         * lisp/bindings.el (mode-line-percent-position): give it a
21320         `risky-local-variable' property.
21321         (mode-line-position): correct the quoting on the mode-line-percent-position
21322         part of the variable, allowing the properties to be properly recognized.
21324 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21326         Merge from gnulib
21328         * build-aux/config.guess: Copy from gnulib.
21329         * lib/gnulib.mk.in: Regenerate.
21331 2017-05-30  Glenn Morris  <rgm@gnu.org>
21333         Stop make check interacting with HOME
21335         * test/Makefile.in (HOME): Export a non-existent value.
21337 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21339         Update .gitattributes to match sources better
21341         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
21342         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
21343         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
21344         Add config.guess and config.sub as shell files.
21346 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
21348         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
21350         * doc/emacs/cmdargs.texi (Initial Options):
21351         * doc/lispref/os.texi (Startup Summary):
21352         * etc/NEWS:
21353         * etc/emacs.service:
21354         * src/emacs.c (main):
21355         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
21356         '--bg-daemon'.
21358 2017-05-30  Glenn Morris  <rgm@gnu.org>
21360         todo-mode: don't assume an ordering of tests
21362         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
21363         (todo-test-item-highlighting): Avoid prompting for input file.
21365 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21367         Improve .gdbinit Lisp value pretty-printing
21369         * src/.gdbinit (to_string): Use an unsigned representation for
21370         Lisp values, as requested by Eli Zaretskii (Bug#27098).
21371         Also, use "make_number(N)" for Lisp integers.
21373 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
21375         Turn global-eldoc-mode into a globalized minor mode
21377         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
21378         Turn into globalized mode (bug#19853).
21379         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
21380         (eldoc-mode): Only show the message when called interactively.
21382 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
21384         Use regexp matching instead of checking exit status
21386         * lisp/progmodes/xref.el (xref-collect-matches):
21387         See if the output buffer contents look like Grep output
21388         instead of checking exit status (bug#23451).
21390 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
21392         Add initial tests for todo-mode.el
21394         *test/lisp/calendar/todo-mode-tests.el:
21395         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
21396         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
21398         * .gitattributes: Ignore trailing whitespace in todo-mode test
21399         data files, since it is part of the todo-mode file format.
21401 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
21403         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
21405         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
21406         replacing an anonymous function for the sake of `describe-variable'.
21407         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
21408         and remove boundp test of this variable, so its value is available on
21409         invoking `todo-toggle-item-highlighting'.
21411 2017-05-29  Alan Third  <alan@idiocy.org>
21413         Fix build error on macOS 10.6
21415         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
21416         CGPoint.
21418 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
21420         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
21422         * lisp/progmodes/python.el (python-indent--calculate-indentation):
21423         Increase indent by `python-indent-offset' after
21424         `:after-backslash-assignment-continuation'.
21426 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
21428         Add suggestion to docstring
21430         * lisp/subr.el (interactive-p): Mention commandp, as this is often
21431           what users are actually looking for.
21433 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
21435         Ensure button-get works in any buffer
21437         * lisp/button.el (button-get): Previously we assumed that button-get
21438           was called in the buffer containing the button.  In other buffers,
21439           button-get always returned nil.  Fix this by passing the relevant
21440           buffer from the marker.
21442 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
21444         Signal error if find-grep returns a nonzero status
21446         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
21447         if find-grep returns a nonzero status (bug#23451).  Remove the
21448         comment: even if some output is present, a non-zero status
21449         means something went wrong and it can't be relied upon.
21451 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
21453         Make sure exiting todo-mode buffer buries it (bug#27121)
21455         This failed due to commit ea3ae33b from 2013-05-16, which prevented
21456         quitting todo-mode buffer after visiting todo-archive buffer from
21457         making the archive buffer current again.  Avoid this now by simply
21458         killing the archive buffer, since there's no need to keep it a live
21459         buffer.  Consequently, quitting a todo-mode buffer can now use
21460         bury-buffer without an argument, which ensures that is will not
21461         becomes current on quitting the buffer that replaced it in the window.
21463         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
21464         buffer instead of burying it.  This now allows exiting the
21465         todo-mode buffer by bury-buffer without an argument, so do that.
21467 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
21469         Some tweaks, almost all for Tramp adb method
21471         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
21472         Use `make-tramp-file-name'.
21473         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
21474         (tramp-adb-maybe-open-connection): Set "prompt" property.
21475         (tramp-adb-wait-for-output): Use it.
21477         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
21478         (tramp-dump-connection-properties): Check also that there are
21479         properties to be saved.  Don't save "started" property of
21480         "ftp" method.
21482         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
21483         Use `make-tramp-file-name'.
21485         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
21486         Host could be empty.
21487         (tramp-file-name-port-or-default): New defun.
21488         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
21489         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
21490         (tramp-call-process, tramp-call-process-region):
21491         Use `make-tramp-file-name'.
21493         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
21494         Revert change from 2017-05-24.
21495         (tramp-test05-expand-file-name-relative): Let it also pass for
21496         "adb" method.
21498 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
21500         Fix Tramp for Android 7
21502         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
21503         Username part of prompt is empty on Android 7.
21504         (tramp-adb-ls-toolbox-regexp):
21505         Ignore addition links column on Android 7.
21506         (tramp-adb-get-ls-command):
21507         Dont use --color=none when using toybox (Android 7).  It's not
21508         possible to disable coloring explicitly for toybox ls.
21510 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
21512         Fix cl-indent for `loop' with :keywords (Bug#15543)
21514         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
21515         ":keywords".
21517 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21519         Depromiscuify inotify with IN_MASK_ADD
21521         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
21522         mask.  This simplifies the code and restores the ability to
21523         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
21524         in some cases (Bug#26973).
21525         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
21526         (Finotify_add_watch): Use IN_MASK_ADD instead.
21528 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21530         Restore inotify onlydir support
21532         There was no need to remove it in the 2017-03-26 inotify change,
21533         as it is like IN_DONT_FOLLOW and does not affect other watchers
21534         for the same file.
21535         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
21536         (syms_of_inotify): Bring back onlydir.
21538 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21540         Simplify computation of inotify mask
21542         * src/inotify.c (add_watch): Accept uint32_t imask instead
21543         of Lisp_Object aspect.  Caller changed.
21544         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
21545         simplify the code.
21547 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21549         Improve the documentation of filesets
21551         * doc/emacs/files.texi (Filesets): Fix the description of
21552         fileset-init's effect on the menu bar.  (Bug#27015)
21554 2017-05-27  Philipp Stephani  <phst@google.com>
21556         Don't attempt to recover from undefined behavior in some cases
21558         These functions can only be run in batch mode and exit Emacs on
21559         return, so nothing can be recovered.  Disable unsafe recover
21560         mechanisms so that we get real failures and good stack traces on
21561         fatal signals.
21563         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
21564         (batch-byte-recompile-directory):
21565         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
21566         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
21567         from undefined behavior.
21569 2017-05-27  Philipp Stephani  <phst@google.com>
21571         Avoid another compiler warning on macOS
21573         When configured with --without-ns, HAVE_NS is not defined on macOS,
21574         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
21575         by using the pre-defined __APPLE__ preprocessor macro.
21577         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
21579 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
21581         Fix ruler-mode text-scaling issues
21583         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
21584         for computing scaled text width.
21585         (ruler-mode-text-scaled-window-hscroll)
21586         (ruler-mode-text-scaled-window-width): Compute text scaled
21587         `window-width' value.
21588         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
21589         (ruler-mode-ruler): Change `window-hscroll' into
21590         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
21591         into `ruler-mode-text-scaled-window-width'.
21593 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
21595         Minor doc and doc-string fixes (Bug#27091)
21597         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
21599         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
21600         (Display Margins): Mention that `set-window-buffer' may override
21601         settings made by `set-window-fringes', `set-window-scroll-bars'
21602         and `set-window-margins'.
21603         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
21604         `set-window-buffer'.
21606 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21608         Avoid args-out-of-range errors on fringe clicks after "C-h k"
21610         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
21611         message is already shorter than NCHARS.  (Bug#27040)
21613 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21615         Fix GUD "Stop" display when running pdb
21617         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
21618         when GUD mode is 'pdb'.  (Bug#27024)
21620 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
21622         Support drag and drop of region by mouse (Bug#26725)
21624         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
21625         and drop region by mouse.
21626         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
21627         when start-event is on region.
21628         (mouse-drag-and-drop-region): New function, moves the region by
21629         (mouse-drag-and-drop-region): New defcustom.
21630         * etc/NEWS: Mention mouse-drag-and-drop-region.
21632 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
21634         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
21636 2017-05-27  Alan Third  <alan@idiocy.org>
21638         Check if instancetype supported in ObjC
21640         * configure.ac: Add check for instancetype.
21641         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
21643 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
21645         Mark keywordp as a safe, error-free function
21647         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
21648           side-effect-and-error-free-fns.
21650 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21652         * src/inotify.c: Add FIXME comments.
21654 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
21656         Fix Bug#26973
21658         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
21659         and CLOSE events on order do let other processes also reading
21660         from their descriptors.  (Bug#26973).
21662 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
21664         Remove Emacs 23 compat code from Tramp
21666         * doc/misc/tramp.texi (Remote processes): Don't mention
21667         Emacs 24 explicitly.
21668         (Frequently Asked Questions): Remove Emacs 23 from
21669         compatibility list.
21671         * lisp/net/tramp.el:
21672         * lisp/net/tramp-adb.el:
21673         * lisp/net/tramp-cache.el:
21674         * lisp/net/tramp-gvfs.el:
21675         * lisp/net/tramp-sh.el:
21676         * lisp/net/tramp-smb.el: Replace compat function calls.
21678         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
21679         (tramp-compat-condition-case-unless-debug)
21680         (tramp-compat-copy-file, tramp-compat-copy-directory)
21681         (tramp-compat-delete-file, tramp-compat-delete-directory)
21682         (tramp-compat-process-live-p): Remove them.
21684         * lisp/net/trampver.el: Make version check fit for Emacs 24.
21686 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
21688         Work for application/x-tar-gz and image/svg+xml
21690         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
21691         ;; of bug#27078 in the Emacs bug list using Gnus.
21693         * lisp/gnus/mm-archive.el (mm-archive-decoders):
21694         Add a decoder for application/x-tar-gz.
21695         (mm-dissect-archive): Error out if a decoder is not found.
21697         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
21699 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
21701         test-calc-23889: Skip test on 32-bit platforms
21703         This test fails on some 32-bit platforms as mentioned in
21704         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
21705         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
21706         the Lisp integer is not big enough.
21708 2017-05-25  Alan Third  <alan@idiocy.org>
21710         Fix NS tooltips showing in the wrong place (bug#27053)
21712         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
21713         last recorded position.
21715 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21717         lisp/net/soap-client.el: Bump version to 3.1.2
21719         * lisp/net/soap-client.el: Bump version to 3.1.2.
21721 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21723         Fix soap-inspect.el doc strings
21725         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
21726         string.
21727         (soap-inspect-xs-attribute-group): Likewise.
21729 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21731         Fix two soap-client.el byte compilation warnings
21733         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
21734         (soap-fetch-xml-from-url): Remove special declaration of
21735         url-http-response-status.
21736         (soap-invoke-internal): Likewise.
21738 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21740         lisp/net/soap-client.el: Require cl-lib version 0.6.1
21742         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
21744 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21745             Stefan Monnier  <monnier@iro.umontreal.ca>
21747         lisp/net/soap-client.el: Shorten some long lines
21749         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
21750         unnecessary progn.
21751         (soap-xs-add-union): Wrap long line.
21753 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
21754             Stefan Monnier  <monnier@iro.umontreal.ca>
21756         Remove cl dependency in soap-client.el and soap-inspect.el
21758         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
21759         with cl-case, destructuring-bind with cl-destructuring-bind and
21760         loop with cl-loop.
21762         * lisp/net/soap-client.el: Replace cl library with cl-lib,
21763         defstruct with cl-defstruct, assert with cl-assert, case with
21764         cl-case, ecase with cl-ecase, loop with cl-loop and
21765         destructuring-bind with cl-destructuring-bind.
21767 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
21769         Switch Tramp to cl-lib
21771         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
21773         * lisp/net/tramp-ftp.el: Don't require cl.
21775         * lisp/net/tramp-gvfs.el: Don't require cl.
21776         (tramp-gvfs-handler-mounted-unmounted)
21777         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
21779         * lisp/net/tramp-sh.el: Don't require cl.
21780         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
21781         (tramp-sh-gvfs-monitor-dir-process-filter)
21782         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
21784         * lisp/net/tramp-smb.el: Don't require cl.
21785         (tramp-smb-read-file-entry): Use `cl-*' macros.
21787         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
21788         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
21789         (tramp-parse-passwd, tramp-parse-etc-group)
21790         (tramp-parse-putty): Use `cl-*' macros.
21792 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21794         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
21796 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21798         Port ATTRIBUTE_MAY_ALIAS to recent icc
21800         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
21801         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
21802         “warning #2621: attribute "__may_alias__" does not apply here”
21803         for constructs like ‘struct sockaddr *sa = (whatever);
21804         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
21805         = (struct sockaddr_in *) sa;’.
21807 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21809         Merge from gnulib
21811         This incorporates:
21812         2017-05-25 port to recent icc
21813         * lib/intprops.h: Copy from gnulib.
21815 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21817         Fix Tramp for python.el
21819         * lisp/net/tramp.el (tramp-get-connection-process): Check,
21820         that VEC is a `tramp-file-name' structure.
21822 2017-05-24  Alan Third  <alan@idiocy.org>
21824         Raise version of macOS we define instancetype for (bug#27059)
21826         * src/nsterm.m: Increase supported version number.
21828 2017-05-24  Alan Third  <alan@idiocy.org>
21830         Define new types on macOS 10.6 (bug#27041)
21832         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
21833         correct NSUInteger instead of int.
21835 2017-05-24  Glenn Morris  <rgm@gnu.org>
21837         Don't autoload new dns-mode command
21839         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
21840         Remove autoload cookie.
21842 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21844         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
21846         (sxhash_vector): Make it work on pseudo vectors as well.
21847         (sxhash): Treat records like vectors.
21849 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21851         Adapt tramp-tests.el according to new defstruct
21853         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
21854         Fix test according to new defstruct.
21855         (tramp-test29-environment-variables-and-port-numbers):
21856         Expect it now as passed.  Cleanup at the end.
21858 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21860         Introduce a defstruct `tramp-file-name' as central data structure.
21862         This solves also Bug#27009.
21864         * lisp/net/tramp.el (tramp-current-domain)
21865         (tramp-current-port): New defvars.
21866         (tramp-file-name): New defstruct.
21867         (tramp-file-name-user-domain, tramp-file-name-host-port)
21868         (tramp-file-name-equal-p): New defuns.
21869         (tramp-file-name-p, tramp-file-name-method)
21870         (tramp-file-name-user, tramp-file-name-host)
21871         (tramp-file-name-localname, tramp-file-name-hop)
21872         (tramp-file-name-real-user, tramp-file-name-domain)
21873         (tramp-file-name-real-host, tramp-file-name-port):
21874         Remove defuns.  They are provided by the defstruct, or not
21875         needed anymore.
21876         (tramp-dissect-file-name, tramp-buffer-name)
21877         (tramp-make-tramp-file-name, tramp-get-buffer)
21878         (tramp-set-connection-local-variables)
21879         (tramp-debug-buffer-name, tramp-message)
21880         (tramp-error-with-buffer, with-parsed-tramp-file-name)
21881         (tramp-completion-dissect-file-name1)
21882         (tramp-handle-file-name-as-directory)
21883         (tramp-handle-file-name-directory)
21884         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
21885         (tramp-handle-find-backup-file-name)
21886         (tramp-handle-insert-file-contents, tramp-process-actions)
21887         (tramp-check-cached-permissions, tramp-local-host-p)
21888         (tramp-get-remote-tmpdir, tramp-call-process)
21889         (tramp-call-process-region, tramp-read-passwd)
21890         (tramp-clear-passwd):
21891         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
21892         (tramp-adb-handle-expand-file-name)
21893         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
21894         (tramp-adb-handle-process-file)
21895         (tramp-adb-maybe-open-connection):
21896         * lisp/net/tramp-cache.el (tramp-get-hash-table)
21897         (tramp-get-file-property, tramp-set-file-property)
21898         (tramp-flush-file-property, tramp-flush-directory-property)
21899         (tramp-get-connection-property)
21900         (tramp-set-connection-property, tramp-connection-property-p)
21901         (tramp-flush-connection-property, tramp-cache-print)
21902         (tramp-list-connections, tramp-dump-connection-properties)
21903         (tramp-parse-connection-properties):
21904         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
21905         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
21906         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
21907         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
21908         (tramp-gvfs-handler-mounted-unmounted)
21909         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
21910         (tramp-gvfs-get-remote-gid)
21911         (tramp-gvfs-maybe-open-connection):
21912         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
21913         (tramp-do-copy-or-rename-file-out-of-band)
21914         (tramp-sh-handle-expand-file-name)
21915         (tramp-sh-handle-start-file-process)
21916         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
21917         (tramp-maybe-open-connection)
21918         (tramp-make-copy-program-file-name, tramp-get-remote-path)
21919         (tramp-get-inline-coding):
21920         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
21921         (tramp-smb-handle-expand-file-name)
21922         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
21923         (tramp-smb-handle-set-file-acl)
21924         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
21926 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
21928         Fix and improve UI of scroll bar menu (bug#27047)
21930         In addition, since the Emacs manual writes "scroll bar", "tool
21931         bar" and "menu bar", use this convention in the Show/Hide menues
21932         and tooltips as well.
21934         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
21935         pressing a radio button in the menu actually show that it was
21936         pressed.  Replace the two radio buttons to turn the horizontal
21937         scroll bar on and off with a single check-box toggle and add a
21938         separator between this and the vertical scroll bar radio
21939         buttons.  Use conventional spelling.
21940         (menu-bar-horizontal-scroll-bar)
21941         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
21942         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
21943         (menu-bar-mode): Use conventional spelling.
21945 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
21947         Remove string-as-unibyte
21949         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
21950         (canlock-make-cancel-key): No need to use string-as-unibyte.
21952 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
21954         Fix concatenation of "^" with diff-file-junk-re
21956         This regexp contains "\\|", thus a concatenation
21957         of "^" with it just matches the beginning of line for the
21958         first alternative in diff-file-junk-re.
21959         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
21960         diff-file-junk-re wrapped in a shy group.
21962 2017-05-24  Glenn Morris  <rgm@gnu.org>
21964         Suppress intermittent test failure on hydra
21966         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21967         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
21969 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
21971         New dns-mode command for IPv6 address conversion
21973         This converts IPv6 addresses to a format suitable for
21974         reverse lookup zone files.  (Bug#26820)
21975         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
21976         Add dns-mode-ipv6-to-nibbles.
21977         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
21978         New functions.
21979         * test/lisp/dns-mode-tests.el: New file.
21981 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21983         Protect *Backtrace* from being killed (Bug#26650)
21985         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
21986         `kill-buffer-hook'.
21988 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21990         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
21992         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
21993         (lisp-mode-variables): Use it.
21995 2017-05-23  Philipp Stephani  <phst@google.com>
21997         vc-hg.el: Silence byte compiler warning
21999         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
22001 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22003         Don't warn about missing brances on macOS
22005         On macOS, removing -Wmissing-braces is not enough; the warning has to
22006         be disabled explicitly.
22008 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
22010         Don't treat ' as a string delimiter in RPM spec files
22012         ' is commonly used as an apostrophe in the prose sections of spec
22013         files, which was erroneously highlighted as strings. See for example
22014         http://kmymoney2.sourceforge.net/phb/rpm-example.html
22016         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
22017           punctuation in RPM spec files.
22019 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22021         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
22023         (common-lisp-indent-function-1): Remove unused var `last-point`.
22024         (lisp-indent-error-function): Move defvar before first use.
22026 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22028         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
22030         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
22032         * lisp/net/shr.el: Use cl-lib instead of cl.
22034 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22036         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
22038         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
22039         (binding-test-makunbound, data-tests-varalias-watchers)
22040         (data-tests-local-variable-watchers): Silence compiler warnings.
22042 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22044         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
22046 2017-05-23  Alan Third  <alan@idiocy.org>
22048         Fix GNUstep build
22050         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
22051         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
22052         GNUstep and old versions of macOS.
22053         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
22054         works in cocoa, not GNUstep.
22056 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
22058         Add test for Bug#27009 in tramp-tests.el
22060         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
22061         Check `tramp-file-name-real-host' for being a local host.
22063         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
22065         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
22066         Declare default host for mock method.
22067         (tramp-test29-environment-variables-and-port-numbers): New test.
22069 2017-05-23  Glenn Morris  <rgm@gnu.org>
22071         Don't advertise s_client in tls.el docs
22073         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
22074         Don't mention s_client in docs.
22076         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
22078 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
22080         Remove s_client usage from tls.el
22082         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
22083         Ref http://bugs.debian.org/766397
22084         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
22087         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
22089 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
22091         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
22093 2017-05-22  Sam Steingold  <sds@gnu.org>
22095         Fix "g" in hg&git push&pull buffers
22097         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
22098         `compilation-directory' and `compilation-arguments'.
22099         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
22101 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
22103         Fix current-line hscrolling in buffers with header-line
22105         * src/xdisp.c (display_line): When testing the glyph row's
22106         vertical position against the cursor position, account for header
22107         line, if any.  (Bug#27014)
22109 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
22111         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
22113         (rfc2047-decode-encoded-words): Use dolist.
22114         (rfc2047-decode-string): Avoid string-to-multibyte.
22115         (rfc2047-pad-base64): Use pcase.
22117 2017-05-21  Dima Kogan  <dima@secretsauce.net>
22119         Make ff-find-other-file symmetric for C++ (Bug#20192)
22121         `cc-other-file-alist' has a mapping of file extensions to switch
22122         between headers and sources, but the mappings weren't completely
22123         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
22124         to .cpp.
22126         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
22127         C++ extensions to make them symmetric with the C++ extensions that map
22128         to them.  This lets repeated invocations of `ff-find-other-file'
22129         toggle between all pairs of sources/headers.
22131 2017-05-21  Philipp Stephani  <phst@google.com>
22133         Fix definition of whitespace in JSON
22135         See
22136         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
22138         * lisp/json.el (json-skip-whitespace): Fix definition.
22139         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
22140         test.
22142 2017-05-21  Philipp Stephani  <phst@google.com>
22144         Improve module function terminology
22146         Module functions were previously called "function environments" when
22147         the functions created by module_make_functions were lambdas.  Now we
22148         can adapt the terminology and rename "function environments" to
22149         "module functions" everywhere.  This also removes the name clash
22150         between "function environments" and "module environments."
22152         * src/emacs-module.c (module_make_function): Adapt comment to reality;
22153         stop using "function environment" terminology.
22154         (funcall_module): Stop using "function environment" terminology.
22156 2017-05-21  Philipp Stephani  <phst@google.com>
22158         Avoid uninitialized read
22160         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
22162 2017-05-21  Philipp Stephani  <phst@google.com>
22164         Fix call of registerServicesMenuSendTypes
22166         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
22167         returnTypes; pass an empty array instead.
22169 2017-05-21  Philipp Stephani  <phst@google.com>
22171         Clean up code around 'ns-list-services'
22173         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
22174         branch NS_IMPL_COCOA cannot be defined.
22175         (interpret_services_menu): Define only if called to avoid compiler
22176         warnings about unused static functions.
22178 2017-05-21  Philipp Stephani  <phst@google.com>
22180         Remove unused automatic variables
22182         * src/nsterm.m (ns_read_socket):
22183         * src/macfont.m (macfont_open): Remove unused automatic variables.
22185 2017-05-21  Philipp Stephani  <phst@google.com>
22187         Nextstep: Replace deprecated enumerators
22189         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
22190         deprecated enumerator.
22192 2017-05-21  Philipp Stephani  <phst@google.com>
22194         Nextstep: remove some deprecated method calls
22196         * src/nsterm.m (mouseDown:):
22197         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
22198         deprecated method.  The return value is always nil.
22199         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
22201 2017-05-21  Philipp Stephani  <phst@google.com>
22203         Remove trailing semicolons in method definitions
22205         These semicolons are ignored and cause compiler warnings.
22207         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
22208         * src/nsterm.m (init, updateFrameSize:):
22209         (setFrame:): Remove trailing semicolon.
22211 2017-05-21  Philipp Stephani  <phst@google.com>
22213         Remove calls to deprecated setUsesScreenFonts
22215         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
22216         (mac_font_shape_1): Remove screen_font_p parameter.
22217         (mac_screen_font_shape): Remove screen_font_p argument.
22219 2017-05-21  Philipp Stephani  <phst@google.com>
22221         Make a function static that isn't used outside this file
22223         * src/kqueue.c (kqueue_directory_listing): Make static.
22225 2017-05-21  Philipp Stephani  <phst@google.com>
22227         Use NSCharacterCollection instead of CTCharacterCollection
22229         This should not cause behavior changes, but fixes a compiler warning
22230         due to implicit conversions between the enums.
22232         * src/macfont.m (macfont_cache, macfont_lookup_cache)
22233         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
22234         (macfont_variation_glyphs): Use NSCharacterCollection.
22236 2017-05-21  Philipp Stephani  <phst@google.com>
22238         Remove unused function print_regions
22240 2017-05-21  Philipp Stephani  <phst@google.com>
22242         Declare Nextstep unexec functions in lisp.h
22244         This removes compiler warnings about missing prototypes on macOS.
22246 2017-05-21  Philipp Stephani  <phst@google.com>
22248         Nextstep: Use instancetype explicit return type
22250         This removes compiler warnings on macOS and improves type safety.
22252         * src/nsterm.m (initFrameFromEmacs:):
22253         (menuDown:):
22254         (toolbarClicked:):
22255         (toggleToolbar:):
22256         (setMiniwindowImage:):
22257         (initFrame:window:):
22258         (condemn, reprieve, setPosition:portion:whole:):
22259         (repeatScroll:):
22260         * src/nsmenu.m (initWithTitle:):
22261         (initWithTitle:frame:):
22262         (initForView:withIdentifier:):
22263         (init, initWithContentRect:styleMask:backing:defer:):
22264         (initFromContents:isQuestion:):
22265         * src/nsimage.m (allocInitFromFile:):
22266         (initFromXBM:width:height:fg:bg:):
22267         (setXBMColor:):
22268         (initForXPMWithDepth:width:height:): Use instancetype as return
22269         type instead of implicit id.
22271 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
22273         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
22275 2017-05-21  Alan Mackenzie  <acm@muc.de>
22277         Enhance mode-line percentage offset facility, with "%o" and "%q"
22279         "%o" will display the percentage "travel" of the window through the buffer.
22280         "%q" will display a combination of the percentage offsets of the top and
22281         bottom of the window.  The new user option mode-line-percent-position will
22282         facilitate selecting a setting for this part of the mode line.
22284         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
22285         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
22287         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
22289         * doc/lispref/modes.texi (Mode Line Variables): Document
22290         mode-line-percent-position.
22291         (%-Constructs): Document %o and %q.
22293         * etc/NEWS: Add an entry for these new facilities.
22295 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22297         Work around macOS bug in create_process, too
22299         * src/process.c (create_process) [DARWIN_OS]:
22300         Reset SIGCHLD after vfork here, too.
22302 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22304         Work around macOS bug with vforked child
22306         * src/callproc.c (call_process) [DARWIN_OS]:
22307         Include workaround for apparent macOS bug.
22309 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22311         Pacify --enable-gcc-warnings without modules
22313         * src/print.c (print_vectorlike): New function, taken from
22314         part of print_object.  This one is indented properly, and
22315         pacifies --enable-gcc-warnings by using a default case
22316         instead of listing all the enum values, sometimes
22317         incompletely.
22318         (print_object): Use it.
22320 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22322         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
22324         It does not appear to be needed (Bug#24441).
22325         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
22326         * src/fileio.c (file_name_case_insensitive_p):
22327         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
22329 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22331         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
22333         * etc/PROBLEMS: Document this (Bug#24441).
22334         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
22335         with _PC_CASE_SENSITIVE, if it works, to
22336         DARWIN_OS_CASE_SENSITIVE_FIXME code.
22337         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
22338         which matches the Apple documentation more precisely.
22340 2017-05-21  Tom Tromey  <tom@tromey.com>
22342         Fix mhtml-mode fontification bug
22344         Bug#26922
22345         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
22346         sgml-syntax-propertize-inside if not in a submode.
22347         * test/manual/indent/html-multi-4.html: New file.
22349 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
22351         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
22353         * lisp/ido.el (ido-set-matches-1): Only check first character of
22354         item if it's non-empty.
22356 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
22358         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
22360 2017-05-21  Glenn Morris  <rgm@gnu.org>
22362         Prevent loading vc-bzr writing to ~/.bzr.log
22364         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
22366 2017-05-21  Glenn Morris  <rgm@gnu.org>
22368         Prevent running vc-tests writing to ~/.bzr.log
22370         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
22371         (vc-test--register, vc-test--working-revision)
22372         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
22374 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
22376         Don't end non-hook variable with "-hook" (Bug#26623)
22378         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
22379         follow-inside-post-command-hook, update uses.
22381 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
22383         Fix macOS mouse movement
22385         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
22386         function (Lisp).
22387         (set-mouse-absolute-pixel-position): Change it to call
22388         `ns-set-mouse-absolute-pixel-position' on macOS.
22389         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
22390         function.
22391         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
22392         screen's height as a base for calculating global coordinates.
22393         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
22394         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
22395         movement of mouse relative to frame.
22397 2017-05-21  Alan Third  <alan@idiocy.org>
22399         Show tooltip on correct screen (bug#26905)
22401         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
22402         tooltip and constrain it to that screen.
22404 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
22406         Don't save unrelated buffers before recompiling directory (Bug#25964)
22408         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
22409         buffers visiting lisp files under the directory being compiled.
22411 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22413         Minor fixes for arity ranges in emacs modules
22415         * src/emacs-module.c (module_make_function):
22416         Check that arities fit into fixnums, for func-arity’s benefit.
22417         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
22418         (module_function_arity): Allow arities greater than SHRT_MAX.
22420 2017-05-20  Philipp Stephani  <phst@google.com>
22422         Reimplement module functions
22424         Instead of a lambda, create a new type containing all data required to
22425         call the function, and support it in the evaluator.  Because this type
22426         now also needs to store the function documentation, it is too big for
22427         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
22428         that we don't have to add special support to the garbage collector.
22430         Since the new type is user-visible, give it a predicate.
22432         Now we can easily support 'help-function-args' and 'func-arity'; add
22433         unit tests for these.
22435         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
22436         (XMODULE_FUNCTION): New pseudovector type 'module function'.
22438         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
22439         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
22440         functions.
22441         (Ffunc_arity): Add support for detecting the arity of module
22442         functions.
22444         * src/emacs-module.c (module_make_function): Adapt to new structure.
22445         Return module function object directly instead of wrapping it in a
22446         lambda; remove FIXME.
22447         (funcall_module): New function to call module functions.  Replaces
22448         `internal--module-call' and is called directly from eval.c.
22449         (syms_of_module): Remove internal helper function, which is no longer
22450         needed.
22451         (module_function_arity): New helper function.
22453         * src/data.c (Ftype_of): Adapt to new implementation.
22454         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
22455         that module functions are first-class objects, they deserve a
22456         predicate.  Define it even if not compiled with --enable-modules so
22457         that Lisp code doesn't have to check for the function's existence.
22459         * src/doc.c (Fdocumentation): Support module functions.
22461         * src/print.c (print_object): Adapt to new implementation.
22463         * src/alloc.c (mark_object): Specialized garbage collector support is
22464         no longer needed.
22466         * lisp/help.el (help-function-arglist): Support module functions.
22467         While there, simplify the arity calculation by using `func-arity',
22468         which does the right thing for all kinds of functions.
22470         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
22471         the argument list.
22473         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
22474         new docstring.
22475         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
22476         is gone, the backtrace has changed and no longer leaks the
22477         implementation.
22478         (module--func-arity): New test for `func-arity'.
22479         (module--help-function-arglist): New test for `help-function-arglist'.
22481 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
22483         Avoid crashes in GC due to unescaped characters warning
22485         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
22486         Lisp objects from stack-based variables.  (Bug#26961)
22488 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
22490         New commands: find-library-other-window, find-library-other-frame
22492         * lisp/emacs-lisp/find-func.el (find-library-other-window)
22493         (find-library-other-frame): New commands to complement the
22494         existing 'find-library' command.  (Bug#26712)
22495         (read-library-name): New function to read a library name.
22496         * etc/NEWS: Mention 'find-library-other-window' and
22497         'find-library-other-frame'.
22499 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
22501         Fix automatic hscrolling of only the current line
22503         * src/xdisp.c (display_line): When hscrolling only the current
22504         line, increment iterator's first_visible_x and last_visible_x
22505         values to account for the hscroll.  This propagates the hscroll
22506         effect on the iterator geometry all the way down to the
22507         subroutines called by display_line, and avoids scrolling bugs
22508         under large hscroll values.  (Bug#26994)
22510 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22512         Add handlerlist assertion to module code
22514         * src/emacs-module.c (module_reset_handlerlist):
22515         Check handlerlist.  Suggested by Philipp Stephani in:
22516         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
22518 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22520         Port --enable-gcc-warnings to clang 3.9.1
22522         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
22523         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
22524         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
22526 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
22528         Limit integers printed as characters (Bug#16828)
22530         * lisp/simple.el (eval-expression-print-maximum-character): New
22531         variable.
22532         (eval-expression-print-format): Only display value as character if
22533         it's less than or equal to `eval-expression-print-maximum-character'.
22534         (eval-expression-get-print-arguments): Check
22535         eval-expression-print-maximum-character, allow negative arg to
22536         override it.
22537         (eval-expression):
22538         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
22539         (elisp--eval-last-sexp-print-value): Handle new variable.
22540         * doc/emacs/building.texi (Lisp Eval): Document new variable and
22541         behavior.
22542         * etc/NEWS: Announce it.
22543         * test/lisp/progmodes/elisp-mode-tests.el
22544         (eval-last-sexp-print-format-small-int)
22545         (eval-last-sexp-print-format-small-int-echo)
22546         (eval-last-sexp-print-format-large-int)
22547         (eval-last-sexp-print-format-large-int-echo):
22548         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
22549         (eval-expression-print-format-small-int-echo)
22550         (eval-expression-print-format-large-int)
22551         (eval-expression-print-format-large-int-echo): New tests.
22553 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
22555         Refactor lisp eval result printing
22557         * lisp/simple.el (eval-expression-print-format): Don't check
22558         `standard-output' or `current-prefix-arg'.
22559         (eval-expression-get-print-arguments): New function, centralizes
22560         decision about how to print results of `eval-expression' and
22561         `eval-last-sexp'.
22562         (eval-expression):
22563         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
22564         Use it.
22566 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22568         Check that signed right shift is arithmetic
22570         * src/data.c (ash_lsh_impl): Verify that signed right shift is
22571         arithmetic; if we run across a compiler that uses a logical shift
22572         we’ll need to complicate the code before removing this
22573         compile-time check.  Help the compiler do common subexpression
22574         elimination better.
22576 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22578         Minor .gitignore fixes
22580         * .gitignore: modules/mod-test/Makefile was renamed to
22581         test/data/emacs-module/Makefile.
22582         Omit [0-9]*.core, subsumed by *.core.
22583         test/indent/*.new was renamed to test/manual/indent/*.new.
22584         Add *.swp, for Vim.
22586 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22588         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
22590 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22592         Describe problems with Microsoft Intellipoint
22594         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
22595         mouse-2 events.  For the details, see
22596         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
22598 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
22600         Fix turning off whitespace-mode
22602         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
22603         the original buffer-display-table is saved and restored when
22604         global-whitespace-mode is active.  (Bug#26892)
22606         * test/lisp/whitespace-tests.el
22607         (whitespace-tests-whitespace-mode-on): New function.
22608         (whitespace-tests-display-tables): New test.
22610 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22612         Minor tweaks in tramp-tests.el
22614         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
22615         (tramp-test05-expand-file-name-relative): Use it.
22616         (tramp-test38-unload): Run only in batch mode.
22618 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22620         Fix a problem with OpenSSH 7 in Tramp
22622         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
22623         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
22625 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22627         Improve documentation of 'split-string'
22629         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
22630         make it more readable.  (Bug#26925)
22632 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
22634         Fix typos in doc strings
22636         * lisp/mail/rfc2231.el (rfc2231-encode-string):
22637         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
22638         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
22639         strings.  (Bug#26103)
22641 2017-05-19  Philipp Stephani  <phst@google.com>
22643         Fix module tests on some systems
22645         If dladdr(3) isn't available or didn't work, the printed
22646         representation of a module function will not include the file name,
22647         but only the address.  Make the tests pass in that case.
22649         * test/src/emacs-module-tests.el (module-function-object): Fix match for
22650         module function printed representation
22652 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22654         Add an optional arguments to string-trim
22656         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
22657         (string-trim): Add optional args that serve as defaults per the
22658         original behavior.  (Bug#26908)
22660 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
22662         Fix typo in last change to auto-hscroll-mode
22664         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
22666 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22668         Support remote editing in emacsclient via Tramp
22670         * lib-src/emacsclient.c (main, decode_options)
22671         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
22672         specifies how emacs should use tramp to find remote files.
22674         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
22675         the various knobs to tune server.el for TCP opereation.
22676         (emacsclient Options): Reference "TCP Emacs server" from description of
22677         --server-file.  Document the new '--tramp' / '-T' options.
22678         * doc/emacs/emacs.texi (Top): Update the top-level menu.
22680         * etc/NEWS: Mention the new option.
22682 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22684         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
22686 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22688         Attempt to work around macOS vfork bug
22690         Problem reported by YAMAMOTO Mitsuharu in:
22691         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
22692         This is related to the fix for Bug#26397.
22693         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
22694         Report internal error if wait_for_termination fails.
22695         * src/sysdep.c (get_child_status): Return -1 if waitpid is
22696         buggy, instead of aborting.
22697         (wait_for_termination): Return bool success value.
22698         All callers changed.
22700 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22702         Adjust defcustom form for 'auto-hscroll-mode'
22704         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
22705         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
22707 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22709         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
22711         * src/fileio.c (file_name_case_insensitive_p):
22712         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
22713         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
22714         Problem reported by Philipp Stephani in:
22715         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22717 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22719         Port --enable-gcc-warnings to clang 3.9.1
22721         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
22722         Problem reported by Philipp Stephani in:
22723         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22725 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22727         Clean up compiler warning in emacs-module.c
22729         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
22730         instead of leaving it unused, to pacify picky compilers.
22731         (module_reset_handlerlist): Now takes a dummy pointer to a struct
22732         handler *, instead of a dummy pointer to an int.  All uses changed.
22734 2017-05-19  Philipp Stephani  <phst@google.com>
22736         Clean up some compiler warnings
22738         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
22739         Remove unused locals.
22741 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22743         Support hscrolling only the current line
22745         * src/xdisp.c (hscrolling_current_line_p): New function.
22746         (init_iterator): If auto-hscrolling just the current line, don't
22747         increment the iterator's first_visible_x and last_visible_x
22748         variables.
22749         (hscroll_window_tree): Recompute window's hscroll when moving
22750         vertically to another screen line.
22751         (redisplay_window): If we are hscrolling only the current line,
22752         disable the optimizations that rely on the current matrix being
22753         up-to-date.
22754         (display_line): Accept an additional argument CURSOR_VPOS, the
22755         vertical position of the current screen line which might need
22756         hscrolling; all callers changed.  Compute first_visible_x and
22757         last_visible_x specially when auto-hscrolling current line, by
22758         repeating the calculation that is done in init_iterator in other
22759         modes.
22760         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
22761         accept a 3rd value 'current-line, to turn on the mode where
22762         only the current line is hscrolled.
22764         * etc/NEWS: Mention the new auto-hscroll-mode value.
22766 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22768         Fix last change in line-move-finish
22770         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
22771         regression in C-n and C-p when lines are truncated, introduced by the
22772         change in 2017-05-10.
22774 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
22776         Expand docstring for CSS mode
22778         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
22779         Expand docstrings.
22781 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22783         Use the expression angle units while simplifying it
22785         Don't use the angle mode, use the angle units included
22786         in the expression instead (Bug#23889).
22787         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
22788         (math-simplify): Use it.
22789         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
22790         Don't use calc-angle-mode if math-simplifying-units is non-nil.
22791         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
22792         (math-to-radians-2, math-from-radians-2): Don't convert angle
22793         to radians if math-simplifying-units is non-nil.
22794         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
22796 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22798         Revert "Ignore angle mode while simplifying units"
22800         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
22801         This commit causes Bug#25652.
22803 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22805         Avoid undefined behavior in struct sockaddr
22807         Problem noted by Philipp Stephani in:
22808         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
22809         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
22810         New macros.
22811         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
22812         (connect_network_socket, network_interface_info)
22813         (server_accept_connection): Use it when aliasing non-char objects.
22815 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
22817         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
22819         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
22820         Add autoload cookie.
22821         (smerge--refine-forward): Rename from smerge-refine-forward.
22822         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
22823         Assume that its `beg` arg is a marker.
22824         (smerge--refine-highlight-change): Rename from
22825         smerge-refine-highlight-change.  Remove `buf` arg.
22826         (smerge-refine-subst): Redefine as an obsolete alias.
22828 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22830         Work around AddressSanitizer bug with vfork
22832         Problem reported by Jim Meyering in:
22833         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
22834         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
22835         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
22836         vforked child messes up the parent’s shadow memory.  This is too
22837         bad, as we’d rather have AddressSanitizer catch memory-access bugs
22838         related to vfork.
22840 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22842         Catch IPv4/IPv6 issues at compile time
22844         * src/process.c (connect_network_socket): Use verify,
22845         not eassert, so that any problems are caught at compile-time.
22846         Avoid dodgy cast by using a local var of the correct type.
22848 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22850         Pacify --enable-gcc-warnings --with-x-toolkit=no
22852         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
22853         Avoid unused local.
22855 2017-05-17  Glenn Morris  <rgm@gnu.org>
22857         * admin/update_autogen (commit): Pull before push.
22859 2017-05-17  Glenn Morris  <rgm@gnu.org>
22861         autoload-rubric no longer provides a feature by default
22863         * lisp/emacs-lisp/autoload.el (autoload-rubric):
22864         Stop providing a feature unless explicitly requested.
22865         (autoload-find-generated-file): Update autoload-rubric call.
22867 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
22869         Remove redundant code in connect_network_socket
22871         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
22872         Remove redundant type-casting and variables.  Don't call
22873         'getsockname' to find the port for AF_LOCAL sockets.
22874         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
22875         and IPv6 structures are at the same offset and have the same size.
22877 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22879         Fix minor timezone memory leak
22881         * src/editfns.c (wall_clock_tz): Remove; unused.
22883 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22885         Do not discard AddressSanitizer stderr
22887         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
22888         Do not close stderr.
22890 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22892         Simplify procname code to avoid GCC bug
22894         * src/process.c (server_accept_connection): Simplify and avoid
22895         multiple calls and struct literals in the last case of a switch.
22896         The old code ran afoul of GCC bug 80659, which caused an internal
22897         compiler error.  Problem reported by Jim Meyering in:
22898         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
22899         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
22901 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22903         Pacify GCC 7 with --enable-gcc-warnings
22905         * src/regex.c (regex_compile): Swap labels, so that the
22906         FALLTHROUGH immediately precedes the case label.
22908 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22910         Merge with gnulib, pacifying GCC 7
22912         This incorporates:
22913         2017-05-16 manywarnings: update for GCC 7
22914         2017-05-15 sys_select: Avoid "was expanded before it was required"
22915         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
22916         -Wformat-overflow=2 options, due to too many false alarms.
22917         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
22918         Copy from gnulib.
22919         * m4/gnulib-comp.m4: Regenerate.
22920         * src/coding.c (decode_coding_iso_2022):
22921         Fix bug uncovered by -Wimplicit-fallthrough.
22922         * src/conf_post.h (FALLTHROUGH): New macro.
22923         Use it to mark all switch cases that fall through.
22924         * src/editfns.c (styled_format): Use !, not ~, on bool.
22925         * src/gtkutil.c (xg_check_special_colors):
22926         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
22927         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
22928         this bug was actually caught by Clang.
22929         * src/search.c (boyer_moore):
22930         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
22931         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
22932         Tell GCC that glyph->u.glyphless.ch must be a character.
22934 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22936         Make autoloading Tramp more robust
22938         * lisp/net/tramp.el (tramp-file-name-for-operation):
22939         Use `default-directory' where appropriate.
22940         (tramp-file-name-handler): Do not autoload.
22941         (tramp-autoload-file-name-handler): Reintroduce function.
22942         (tramp-register-autoload-file-name-handlers): Use it.
22944 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22946         Extend tramp-tests.el
22948         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
22949         Remove declaration, not needed anymore.
22950         (tramp-test05-expand-file-name-relative): New test.
22951         (tramp-test10-write-region): Extend test.
22953 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22955         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
22957 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22959         Make `indent-line-to' respect field boundaries (Bug#26891)
22961         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
22962         of `backward-to-indentation'.
22964 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22966         Make sure indent-sexp stops at end of sexp (Bug#26878)
22968         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
22969         indenting.
22970         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
22971         test.
22973 2017-05-16  Glenn Morris  <rgm@gnu.org>
22975         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
22977         * test/lisp/epg-tests.el (with-epg-tests):
22978         Also set GNUPGHOME in the environment of child processes.
22979         This avoids problems if gpg does not pass --homedir to spawned agent.
22981 2017-05-16  Glenn Morris  <rgm@gnu.org>
22983         Add oldxmenu to system-configuration-features
22985         * configure.ac (HAVE_OLDXMENU): New.
22986         (emacs_config_features): Add oldxmenu.
22988 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
22990         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
22992 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
22994         Remove unneeded stuff from nt/inc/sys/time.h
22996         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
22997         (timercmp, timerclear): Don't define.  Instead, include the system
22998         header sys/time.h, and add only the interval timers stuff.  This
22999         avoids compiler warnings about 'gettimeofday's prototype, and also
23000         avoids redefinition of macros from system headers.
23002 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
23004         Fix address violation found by AddressSanitizer
23006         * src/process.c (connect_network_socket):
23007         Use struct sockaddr_storage, not struct sockaddr_in, to store info
23008         about a socket address.  Problem reported by Philipp Stephani in:
23009         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
23010         This fix is based on a patch by Philipp in:
23011         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
23013 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
23015         Make edebug-step-in work on generic methods (Bug#22294)
23017         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
23018         New function to implement the edebug-form-spec property of
23019         the symbol cl-generic-method-args.
23020         (edebug-instrument-function): If the function is a generic
23021         function, find and instrument all of its methods. Return a list
23022         instead of a single symbol.
23023         (edebug-instrument-callee): Now returns a list. Update docstring.
23024         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
23025         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
23026         cl-generic-method-args in its Edebug spec.
23027         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
23028         cl-generic-method-args in its Edebug spec.
23029         * lisp/subr.el (method-files): New function.
23030         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
23031         (subr-tests--method-files--nonexistent-methods): New tests.
23033 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23035         Merge from gnulib
23037         This incorporates:
23038         2017-05-14 same-inode: Adapt for windows-stat-inodes
23039         2017-05-14 windows-stat-inodes: New module
23040         2017-05-14 stat-time: Adapt for windows-stat-timespec
23041         * lib/gnulib.mk.in: Regenerate.
23042         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
23043         Copy from gnulib.
23045 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
23047         Remove gettimeofday from w32 sources
23049         * lib-src/ntlib.c (gettimeofday):
23050         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
23051         function 'gettimeofday' and all of its supporting code.
23053 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
23055         Fix the MS-Windows build
23057         * nt/inc/sys/time.h (gettimeofday):
23058         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
23060 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
23062         More accurate documentation of the ':box' face attribute
23064         * doc/lispref/display.texi (Face Attributes): Fix the description
23065         of negative width of the ':box' attribute.  (Bug#26920)
23067 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23069         Merge from gnulib
23071         This incorporates:
23072         2017-05-13 largefile: Simplify
23073         2017-05-13 largefile: Improve and document
23074         2017-05-13 truncate: New module
23075         2017-05-13 windows-stat-timespec: New module
23076         2017-05-13 windows-stat-override: New module
23077         2017-05-11 getopt-posix: port to mingw
23078         2017-05-11 gettimeofday: Increase precision on mingw
23079         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
23080         2017-05-10 Implement a way to opt out from MSVC support
23081         2017-05-09 tzset: Expand comment about TZ problem on native Windows
23082         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
23083         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
23084         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
23085         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
23086         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
23087         * m4/unistd_h.m4: Copy from gnulib.
23088         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23090 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
23092         Merge branch 'fix/bug-21072'
23094 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
23096         * .gitlab-ci.yml: Add setup for GitLab CI builds.
23098 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
23100         New minor mode 'pixel-scroll-mode'
23102         * lisp/pixel-scroll.el: New file.
23104         * etc/NEWS: Mention pixel-scroll-mode.
23106 2017-05-13  Philipp  <phst@google.com>
23108         Make `old-style-backquotes' variable internal
23110         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
23111         (syms_of_lread): Rename `old-style-backquotes' to
23112         `lread--old-style-backquotes', and clarify that it's for internal
23113         use only.
23114         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
23115         variable.
23116         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
23117         unit test.
23118         * test/lisp/emacs-lisp/bytecomp-tests.el
23119         (bytecomp-tests--old-style-backquotes): Add unit test.
23121 2017-05-13  Philipp Stephani  <phst@google.com>
23123         Improve unescaped character literal warnings
23125         * src/lread.c (load_warn_unescaped_character_literals)
23126         (syms_of_lread):
23127         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
23128         formatting of unescaped character literal warnings.
23130         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
23131         test/lisp/emacs-lisp/bytecomp-tests.el
23132         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
23134 2017-05-12  Alan Mackenzie  <acm@muc.de>
23136         Fontify C++ for loop variable as variable, even when followed by parentheses
23138         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
23139         getting fontified as a function, due to insufficient checking of the tokens
23140         between it and "()".
23142         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
23143         lang-consts/vars.
23145         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
23146         declarator's identifier, check for a ":" token inside a for's parentheses, and
23147         abort the search for "(" if this is found.
23149 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
23151         Make Tramp backward compatible
23153         * lisp/net/tramp-cmds.el (tramp-change-syntax):
23154         Set tramp-autoload cookie.
23156         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
23157         startup, if necessary.
23159         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
23160         (tramp-register-autoload-file-name-handlers): Do not mark
23161         `operations' for `tramp-file-name-handler'.
23162         (tramp-register-file-name-handlers): Remove also
23163         `tramp-autoload-file-name-handler' for backward compatibility.
23164         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
23166         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
23168 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
23170         Modify `beginning-of-defun-comments'
23172         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
23173         in the middle of a multiline comment.
23175 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
23177         Fix elisp-tests-with-temp-buffer compilation
23179         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
23180         Don't refer to the =!NAME= as "markers" since they produce variables
23181         with just plain positions, not marker objects.  Explicitly specify
23182         that CONTENTS is evaluated at compile time.  Don't re-evaluate
23183         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
23184         to BODY not using =!NAME= variables.
23185         (elisp-test-point-position-regex): Rename from
23186         `elisp-test-point-marker-regex'.
23187         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
23189 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
23191         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
23193 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
23195         Fix Bug#21072 and rework `mark-defun'
23197         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
23198           New variable
23199         (mark-defun-no-arg-region-inactive)
23200         (mark-defun-no-arg-region-active)
23201         (mark-defun-arg-region-active)
23202         (mark-defun-pos-arg-region-inactive)
23203         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
23204         the new `mark-defun'.
23206         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
23207           New function.
23208         (beginning-of-defun-comments): New function.
23209         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
23210         to accept a numerical prefix argument.
23212 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
23214         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
23216 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
23218         Improve doc strings in net-utils.el
23220         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
23221         (route, traceroute, nslookup, ftp, smbclient)
23222         (smbclient-list-shares, finger, whois)
23223         (network-connection-to-service, network-service-connection)
23224         (network-connection-reconnect): Improve doc strings.
23226 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
23228         Extend DNS lookup commands to allow specifying the name server
23230         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
23231         'net-utils-machine-at-point' obviating this autoloaded
23232         function (Bug#25426).
23233         (dig-program-options): New customization variable.
23234         (nslookup-host, dns-lookup-host, run-dig): Can now specify
23235         optional name server argument interactively (by prefix arg) and
23236         non-interactively.
23238         * etc/NEWS: Mention the extension of DNS lookup commands.
23240 2017-05-12  Glenn Morris  <rgm@gnu.org>
23242         Don't hard-code loaddefs files in lisp/Makefile
23244         * lisp/Makefile.in (loaddefs): New variable.
23245         (AUTOGENEL): Use $loaddefs, and include directory.
23246         (bootstrap-clean): Update for AUTOGENEL change.
23248 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
23250         Kill modified buffers silently when quitting (bug#26862)
23252         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
23253         sure that latest drafts are saved, and kill modified buffers silently.
23255 2017-05-10  Perry E. Metzger  <perry@piermont.com>
23257         Implement 1-based column numbering in mode line
23259         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
23261         * lisp/bindings.el (column-number-indicator-zero-based): New
23262         defcustom.
23263         (mode-line-position): Use %C when
23264         column-number-indicator-zero-based is nil.
23266         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
23267         * src/buffer.c (syms_of_buffer) <mode-line-format>:
23268         * doc/lispref/modes.texi (%-Constructs):
23269         * doc/lispref/frames.texi (Frame Titles): Document the %C
23270         construct.
23272         * doc/emacs/display.texi (Optional Mode Line): Document
23273         'column-number-indicator-zero-based'.
23275         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
23276         %C construct.
23278 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
23280         Ensure cursor's foreground color is in sync with 'default' face
23282         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
23283         foreground color is different from the background of the glyph
23284         string's face.  (Bug#26851)
23286 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
23288         Fix vertical cursor motion when columns are of unequal size
23290         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
23291         vertical-motion to move to the goal column, as the goal column
23292         should in that case be interpreted in units of frame's canonical
23293         character width.  (Bug#26852)
23295 2017-05-10  Glenn Morris  <rgm@gnu.org>
23297         Fix finding test .el files
23299         * test/Makefile.in (ELFILES): Exclude the data/ directory.
23300         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
23302 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
23304         Tweak a recent test
23306         This test fails in my local machine because the data files
23307         are compiled, and the test doesn't expect that.
23308         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
23309         ending with '.elc' when the data files are compiled.
23311 2017-05-10  Glenn Morris  <rgm@gnu.org>
23313         Put license information in each generated uni-*.el
23315         * admin/unidata/unidata-gen.el (unidata-gen-file):
23316         Get Copyright line from copyright.html.
23317         Put information in file header, not separate README.
23318         (unidata-gen-charprop): Mention the source location.
23319         * lisp/international/README: Remove file.
23321 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
23323         Fix lisp-indent-region and indent-sexp (Bug#26619)
23325         The new lisp-indent-region introduced in 2017-04-22 "Add new
23326         `lisp-indent-region' that doesn't reparse the code." is broken because
23327         it doesn't save the calculated indent amounts for already seen sexp
23328         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
23329         code.  Furthermore, only preserve position 2 of the running parse
23330         when the depth doesn't change.
23331         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
23332         corresponds with the start point when calling parse-partial-sexp.
23333         (lisp-indent-state): New struct.
23334         (lisp-indent-calc-next): New function, extracted from indent-sexp.
23335         (indent-sexp, lisp-indent-region): Use it.
23336         (lisp-indent-line): Take indentation, instead of parse state.
23337         * test/lisp/emacs-lisp/lisp-mode-tests.el
23338         (lisp-mode-tests--correctly-indented-sexp): New constant.
23339         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
23340         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
23341         tests.
23343 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
23345         Simplify url-encode-url and add a test
23347         * lisp/url/url-util.el (url-encode-url): Simplify.
23348         url-generic-parse-url copes with multibyte strings just fine
23349         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
23351         * test/lisp/url/url-parse-tests.el
23352         (url-generic-parse-url/multibyte-host-and-path): New test.
23354 2017-05-10  Glenn Morris  <rgm@gnu.org>
23356         More informative error when required feature missing
23358         * src/fns.c (Frequire): Include file name in missing feature error.
23359         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
23361 2017-05-10  Glenn Morris  <rgm@gnu.org>
23363         Put re-loaded file back at start of load-history (bug#26837)
23365         * src/lread.c (readevalloop): Fix the "whole buffer" check to
23366         operate in the correct buffer.
23367         (Feval_buffer): Move point back to the start after checking
23368         for lexical binding.
23369         * test/src/lread-tests.el (lread-test-bug26837): New test.
23370         * test/data/somelib.el, test/data/somelib2.el: New test data files.
23372 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
23374         Improve documentation of 'gnutls-verify-error'
23376         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
23377         doc string.  (Bug#26845)
23379 2017-05-09  Glenn Morris  <rgm@gnu.org>
23381         Don't duplicate autoload code in package.el
23383         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
23384         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
23385         (package-autoload-ensure-default-file): Use autoload-rubric.
23387 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
23389         * test/lisp/net/tramp-tests.el: Keep additional test.
23391 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
23393         Add elisp-tests-with-temp-buffer, a new testing macro
23395         * test/lisp/emacs-lisp/lisp-tests.el
23396         (elisp-test-point-marker-regex) New variable.
23397         (elisp-tests-with-temp-buffer): New macro to help test functions
23398         moving the point and/or mark.
23400 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
23402         Revert "Output number of characters added to file (Bug#354)"
23404         The extra message text turned out to be quite annoying in practice,
23405         and is generally more trouble than it's worth.  Also revert several
23406         related changes.
23408         Partially revert "Handle `write-region' messages in Tramp properly"
23409         Revert "New var write-region-verbose, default nil"
23410         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
23411         Revert "Minor tuneup of write-region change"
23412         Revert "Adjust write-region so file name is at the beginning again"
23413         Revert "Fix handling of non-integer START param to write-region"
23414         Revert "Output number of characters added to file (Bug#354)"
23416         * doc/emacs/files.texi (Misc File Ops):
23417         * etc/NEWS:
23418         * lisp/epa-file.el (epa-file-write-region):
23419         * lisp/gnus/mm-util.el (mm-append-to-file):
23420         * lisp/jka-compr.el (jka-compr-write-region):
23421         * lisp/net/ange-ftp.el (ange-ftp-write-region):
23422         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
23423         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
23424         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
23425         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
23426         * lisp/net/tramp.el (tramp-handle-write-region-message):
23427         * src/fileio.c (write_region, syms_of_fileio):
23428         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
23429         extra characters from file writing messages.
23431 2017-05-09  Noah Friedman  <friedman@splode.com>
23433         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
23434         because $ptr is modified by ygetptr and we use $ptr immediately at the
23435         beginning.
23437 2017-05-08  Ken Brown  <kbrown@cornell.edu>
23439         Skip a test from filenotify-tests.el on Cygwin
23441         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
23442         Skip the last part of the test on Cygwin; it fails due to timing
23443         issues.
23444         (file-notify--test-read-event):  Remove `sit-for' that was added
23445         for Cygwin.
23447 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23449         Merge from gnulib
23451         This incorporates:
23452         2017-05-08 intprops: don’t depend on ‘verify’
23453         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
23454         2017-05-07 utimens: Improve error code on native Windows
23455         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
23457 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
23459         Fix various verilog-mode.el issues.
23461         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
23462         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
23463         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
23464         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
23465         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
23466         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
23467         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
23468         msg2143. Reported by Galen Seitz.
23469         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
23470         compile-command is globally set, bug1119.  Reported by Galen Seitz.
23472 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
23474         Handle `write-region' messages in Tramp properly
23476         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
23477         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
23478         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
23479         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
23480         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
23482         * lisp/net/tramp.el (tramp-password-prompt-regexp)
23483         (tramp-completion-mode-p):
23484         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
23485         (tramp-append-tramp-buffers):
23486         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
23487         Use `bound-and-true-p'.
23489         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
23490         Don't check for `boundp' anymore.
23492         * test/lisp/net/tramp-tests.el (ert-x): Require it.
23493         (tramp--test-messages): New defvar.
23494         (tramp-test10-write-region): Extend test.
23496 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23498         Fix glyph string generation for multi-font compositions (Bug#26742)
23500         * src/xdisp.c (glyph_string_containing_background_width): New function.
23501         (draw_glyphs): Use it to get correct background width.
23502         (compute_overhangs_and_x): Don't change x in the middle of composite
23503         characters.
23505 2017-05-07  Philipp Stephani  <phst@google.com>
23507         Fix all unescaped character literals
23509 2017-05-07  Alan Mackenzie  <acm@muc.de>
23511         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
23513         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
23514         e.g., between the two characters of an opening comment "/*", and additionally
23515         there were an odd number of quote marks (apostrophes) in the comment.  This
23516         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
23517         buffer position 615001.
23519         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
23520         pps-extended-state to mean that there are at least 11 elements in the parser
23521         state.
23523         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
23524         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
23525         types which indicate potentially being inside two-char constructs.
23526         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
23527         functions.
23529 2017-05-07  Glenn Morris  <rgm@gnu.org>
23531         Silence an mh-compat compiler warning
23533         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
23535 2017-05-07  Glenn Morris  <rgm@gnu.org>
23537         Evaluate mh-require when compiling
23539         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
23540         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
23541         Evaluate mh-require when compiling, as require is automatically.
23542         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
23544 2017-05-07  Glenn Morris  <rgm@gnu.org>
23546         Remove obsolete method of changing byte-compile-dest-file
23548         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
23549         Define unconditionally.
23551 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23553         New var write-region-verbose, default nil
23555         By popular demand, write-region char counts are now off by default
23556         (Bug#26796).
23557         * src/fileio.c (write-region-verbose): New Lisp var.
23558         (write_region): Output char count only if the var is non-nil.
23559         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
23561 2017-05-07  Glenn Morris  <rgm@gnu.org>
23563         Write autoloads file atomically
23565         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
23566         New function, to save buffer atomically.
23567         (autoload-save-buffers, update-directory-autoloads):
23568         Use autoload--save-buffer.
23569         * lisp/Makefile.in ($(lisp)/loaddefs.el):
23570         No longer write to a temp file by hand.
23572 2017-05-07  Glenn Morris  <rgm@gnu.org>
23574         Write autoloads file once only
23576         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
23577         Simplify.  Don't bother about ensuring the output file exists.
23578         (autoload-generated-file): Add doc.
23579         (autoload-ensure-writable): Update doc.
23580         (autoload-ensure-file-writeable): Handle non-existing file.
23581         (autoload-ensure-default-file): Remove function.
23583 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23585         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
23587         * src/.gdbinit (Lisp_Object_Printer.to_string):
23588         Explicitly convert integer val to 'int', so that
23589         older GDBs do not complain about the conversion.
23590         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
23591         Give the struct a tag, so that older GDB pretty-printers have a
23592         tag to hang their hat on.
23594 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23596         Pretty-print const Lisp_Objects in .gdbinit
23598         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
23599         Compare unqualified type to Lisp_Object, to do the right thing
23600         when the expression has type ‘Lisp_Object const’.
23601         Problem reported by Eli Zaretskii in:
23602         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
23604 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23606         Pacify GCC setjmp/longjmp warning
23608         * src/eval.c (internal_lisp_condition_case): Do not modify local
23609         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
23610         cases mistakenly diagnoses VAR possibly being modified between a
23611         setjmp and a longjmp.
23613 2017-05-06  Philipp  <phst@google.com>
23615         Fix bootstrap build of files.el
23617         * lisp/files.el (file-name-non-special): Don't use cl-letf.
23619 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23621         Fix last change for MS-Windows
23623         * test/src/emacs-module-tests.el (module-function-object): Port to
23624         MS-Windows.
23626 2017-05-06  Philipp Stephani  <phst@google.com>
23628         Introduce new misc type for module function
23630         This resolves a couple of FIXMEs in emacs-module.c.
23632         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
23634         * src/alloc.c (make_module_function): New function.
23635         (mark_object): GC support.
23637         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
23639         * src/print.c (print_object): Print support for new type.
23641         * src/emacs-module.c (module_make_function, Finternal_module_call):
23642         Use new module function type, remove FIXMEs.
23643         (module_format_fun_env): Adapt and give it external linkage.
23645         * test/src/emacs-module-tests.el (module-function-object): Add unit
23646         test.
23648 2017-05-06  Philipp Stephani  <phst@google.com>
23650         Fix quoted files for 'verify-visited-file-modtime'
23652         Fixes Bug#25951.
23654         * lisp/files.el (file-name-non-special): Set the file name for the
23655         correct buffer.
23657         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
23658         Add unit test.
23659         (files-tests--with-advice, files-tests--with-temp-file): New helper
23660         macros.
23662 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23664         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
23666 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23668         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
23670         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
23671         ENABLE_CHECKING is defined.
23672         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
23673         instead of being defined.
23675 2017-05-06  Tom Tromey  <tom@tromey.com>
23677         Fix erc-join with channel password
23679         Bug#25349
23680         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
23681         server names.
23682         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
23683         Likewise.
23684         (erc-server-join-channel): Move to erc.el.
23685         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
23686         (erc-cmd-JOIN): Use erc-server-join-channel.
23688 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
23690         Ensure the created temp file in a test is new
23692         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
23693         to create the temp file.
23695 2017-05-06  Glenn Morris  <rgm@gnu.org>
23697         Decruftify dns-mode.el a little bit
23699         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
23700         New constant.
23701         (dns-mode-control-entity, dns-mode-bad-control-entity)
23702         (dns-mode-type, dns-mode-class): New faces.
23703         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
23704         (dns-mode-type-face, dns-mode-class): Make these variables use the
23705         new faces, and mark as obsolete.
23706         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
23708 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23710         Pretty-print Lisp_Object values in GDB
23712         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
23713         GDB displays them as "XIL(0xXXX)" rather than displaying them
23714         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
23715         otherwise.
23717 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
23719         Tweak dns-mode font-lock
23721         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
23722         Highlight $TTL as a control entity.  (Bug#26780)
23724 2017-05-05  Glenn Morris  <rgm@gnu.org>
23726         Fontify the doc-string in some CL forms as such
23728         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
23729         Add the doc-string-elt property.  (Bug#26778)
23731 2017-05-05  Glenn Morris  <rgm@gnu.org>
23733         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
23735 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23737         cl-defmethod: Make the edebug spec more technically correct
23739         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
23740         edebug spec part for qualifiers as [&rest atom], per
23741         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
23743 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
23745         Fix MH-E not to load cl at runtime (Bug#25552)
23747         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
23748         compile time, whether the target is bound.
23749         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
23750         mh-acros at compile time.
23751         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
23752         <npostavs@users.sourceforge.net>
23754 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
23756         Multiline support in NS "Open Selected File" service.
23758         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
23759         original call in a (split-string) to create as many calls as there
23760         are lines.
23761         (ns-spi-service-call): Call `ns-open-file-service' instead of
23762         `dnd-open-file'.
23764 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
23766         Require cl-lib at runtime in vc-hg
23768         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
23770 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
23772         Inherit incompatible/obsolete package faces from error
23774         Don't use the same face for installed packages as for incompatible
23775         or obsolete ones.
23776         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
23778 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
23780         Set process property `adjust-window-size-function' to `ignore' in Tramp
23782         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
23783         (tramp-adb-maybe-open-connection):
23784         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
23785         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
23786         (tramp-maybe-open-connection):
23787         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
23788         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
23789         (tramp-smb-maybe-open-connection): Set process property
23790         `adjust-window-size-function' to `ignore'.
23792 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
23794         * lisp/emacs-lisp/seq.el: Bump seq version.
23796 2017-05-04  Damien Cassou  <damien@cassou.me>
23798         Add seq-set-equal-p to test for set equality
23800         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
23801           two lists as if they were sets.
23803         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
23804           for seq-set-equal-p.
23806 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23808         Spelling fixes
23810         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
23811         Rename from nndiary-last-occurence.
23812         (nndiary-next-occurrence):
23813         Rename from nndiary-next-occurence.  All uses changed.
23815 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23817         Merge from pkg-config
23819         * m4/pkg.m4: Copy from pkg-config 0.29.1.
23821 2017-05-04  Tom Tromey  <tom@tromey.com>
23823         Add color highlighting to css-mode
23825         Bug#25525
23826         * lisp/textmodes/css-mode.el (css--color-map): New constant.
23827         (css-value-class-alist): Use css--color-map.
23828         (css--number-regexp, css--percent-regexp)
23829         (css--number-or-percent-regexp, css--angle-regexp): New constants.
23830         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
23831         functions.
23832         (css--colors-regexp): New constant.
23833         (css--hex-color, css--named-color, css--compute-color)
23834         (css--contrasty-color, css--fontify-colors)
23835         (css--fontify-region): New functions.
23836         (css-mode): Set font-lock-fontify-region-function.
23837         (css-mode-syntax-table): Set syntax on more characters.
23838         (css-fontify-colors): New defcustom.
23839         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
23840         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
23841         Update.
23842         (css-test-rgb-parser, css-test-hsl-parser)
23843         (css-test-named-color): New tests.
23844         * etc/NEWS: Add entry.
23846 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
23848         Fix Bug#26763
23850         * lisp/files.el (delete-directory): Call file name handler
23851         with `trash' argument.
23853         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
23854         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
23855         Add TRASH arg.  Implement it.  (Bug#26763)
23856         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
23858         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
23859         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
23860         Add _TRASH arg.
23862 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23864         Use ptrdiff_t, not int, for stack sizes
23866         * src/thread.c (invoke_thread_function):
23867         * src/xterm.c (x_cr_export_frames):
23868         Don’t assume SPECPDL_INDEX fits in ‘int’.
23870 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23872         Check list object type if --enable-gcc-warnings
23874         * configure.ac (--enable-check-lisp-object-type):
23875         Default to "yes" if --enable-gcc-warnings is not "no".
23876         * etc/NEWS: Mention this.
23877         * src/eval.c (internal_lisp_condition_case): Fix some glitches
23878         with 'volatile' uncovered by the above: in particular, 'clauses'
23879         should be a pointer to volatile storage on the stack, and need not
23880         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
23881         Don’t bother gathering binding count if VAR is nil.  Use
23882         more-specific local names to try to clarify what’s going on.
23884 2017-05-02  Glenn Morris  <rgm@gnu.org>
23886         Tweak auth-source-pass.el to avoid run-time subr-x
23888         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
23889         Avoid needing subr-x at run-time.
23891 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
23893         Constrain non-child frames to screen area in OS X
23895         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
23896         frames in OS X, if they would otherwise go offscreen.
23898         (Bug#25818)
23900 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
23902         Fix error in completion for separate Tramp syntax
23904         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
23905         Tweak regexp.
23907         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
23908         Run method and host name completion for all syntaxes.
23910 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23912         Avoid compilation warnings
23914         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
23915         * src/w32term.c (x_draw_glyph_string):
23916         * src/w32fns.c (compute_tip_xy):
23917         * src/w32font.c (w32font_text_extents):
23918         * src/w32menu.c (set_frame_menubar):
23919         * src/search.c (Freplace_match): Avoid compiler warnings in
23920         optimized builds.
23922 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23924         Merge from gnulib
23926         This incorporates:
23927         2017-05-02 utimens: port to Emacs + MS-Windows
23928         * lib/utimens.c: Copy from gnulib.
23930 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
23932         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
23934         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
23935         to make Edebug generate a new symbol for each method (Bug#24753) and
23936         to support a string following :extra (Bug#23995).
23937         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
23938         make Edebug generate a new symbol for each method (Bug#24753).
23940 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23942         Temporary fix for the MS_Windows build
23944         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
23945         to be consistent with Gnulib's utimens.c.  This is because utimens.c
23946         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
23947         previous definition here conflicted with that.
23949 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23951         Port format-time-string to MS-Windows better
23953         * test/src/editfns-tests.el (format-time-string-with-zone):
23954         Port test cases to MS-Windows.
23956 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23958         Merge from gnulib
23960         This incorporates:
23961         2017-05-01 New module 'localtime-buffer'
23962         2017-04-30 utimens: Add support for native Windows
23963         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
23964         * configure.ac (tzset): No need for Emacs itself to check now.
23965         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
23966         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
23967         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23968         * lib/localtime-buffer.c, lib/localtime-buffer.h:
23969         * m4/localtime-buffer.m4: New files, copied from gnulib.
23970         * src/editfns.c (init_editfns): Assume tzset is callable.
23972 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23974         Speed up project-find-regexp for simple regexps
23976         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
23977         New function.
23978         (xref--collect-matches): Use it.  Don't try to enable the
23979         appropriate major mode and file-local variables if the regexp
23980         does not depend on the buffer's syntax (bug#26710).
23981         (xref--collect-matches-1): Don't syntax-propertize in that
23982         case either.
23984 2017-05-01  Philipp Stephani  <phst@google.com>
23986         Warn about missing backslashes during load
23988         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
23989         (syms_of_lread): Warn if unescaped character literals are
23990         found (Bug#20152).
23991         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
23992         unescaped character literals during byte compilation.
23993         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
23994         unit test.
23995         (lread-tests--with-temp-file, lread-tests--last-message): Helper
23996         functions for unit test.
23997         * test/lisp/emacs-lisp/bytecomp-tests.el
23998         (bytecomp-tests--unescaped-char-literals): New unit test.
23999         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
24000         Helper macro for unit test.
24002 2017-05-01  Ken Brown  <kbrown@cornell.edu>
24004         * configure.ac: Suggest Mailutils on Cygwin.
24006 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24008         Don’t stress-test time zones near the Epoch
24010         * test/src/editfns-tests.el (format-time-string-with-zone)
24011         (format-time-string-with-outlandish-zone): Don’t format
24012         timestamps near the Epoch, as this runs into bugs on MS-Windows,
24013         and we don’t want to worry about those bugs.
24015 2017-05-01  Glenn Morris  <rgm@gnu.org>
24017         Tweak vc-tests.el for bzr
24019         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
24020         Handle test environments where HOME does not exist.
24022 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24024         vc-git-state: Return `ignored' as appropriate with newer Git
24026         * lisp/vc/vc-git.el
24027         (vc-git--program-version): New variable.
24028         (vc-git--program-version): New function.
24029         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
24031 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24033         vc-git-state: Bring back CentOS 6 compatibility
24035         * lisp/vc/vc-git.el (vc-git-state):
24036         Bring back CentOS 6 compatibility (bug#19343).
24038 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
24040         Rewrite w32fns.c's `x_set_menu_bar_lines'
24042         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
24043         regardless of whether menu bar is added or removed.  Clear
24044         under internal border iff a W32 window exists.  Store either 0
24045         or 1 as new parameter value.
24046         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
24047         FRAME_X_WINDOW.
24049 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
24051         Fix filenotify-tests.el for cygwin
24053         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
24054         Add an additional `sit-for'.
24055         (file-notify-test02-rm-watch): Add an additional
24056         `file-notify--test-read-event' call.
24058 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
24060         Speed up vc-git-status and make it more precise
24062         * lisp/vc/vc-git.el (vc-git-state)
24063         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
24064         'git status', so that 'vc-git-state' can now return 'ignored',
24065         'conflict', or 'unregistered' when appropriate.  Discussed in
24066         bug#26066.  Fixes bug#19343.
24068 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24070         Fix Git revision navigation in currently removed directories
24072         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
24073         default-directory because FILE's parent directory might not exist
24074         anymore (bug#26345).
24076 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24078         Merge from gnulib
24080         This incorporates:
24081         2017-04-30 strftime-fixes: New module
24082         2017-04-30 mktime: Work around TZ problem on native Windows
24083         2017-04-30 ctime, localtime: New modules
24084         2017-04-30 gettimeofday: Provide higher resolution on native Windows
24085         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
24086         2017-04-29 Make use of module 'utime-h'
24087         2017-04-30 Fix a few typos
24088         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
24089         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
24090         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
24091         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
24092         Copy from gnulib.
24093         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24095 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
24097         Don't lose key bindings on mis-spelled text in flyspell-mode
24099         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
24100         explicitly.
24101         (make-flyspell-overlay): If the mis-spelled text already has a
24102         'keymap' property, make that keymap the parent of
24103         flyspell-mouse-map, so as not to lose the parent's bindings.
24104         (Bug#26672)
24106 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
24108         Fix `delete-frame' behavior including Bug#26682
24110         * src/frame.c (other_frames): Accept two arguments now.  Don't
24111         care about minibuffer window.  Don't care about visibility when
24112         called from delete_frame with FORCE true (Bug#26682).
24113         (delete_frame, Fmake_frame_invisible): Adjust other_frames
24114         calls.
24115         * src/w32term.c (w32_read_socket): Don't add a move frame event
24116         for an invisible frame.
24117         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
24118         attempting to delete a surrogate minibuffer frame.
24120 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24122         Merge from gnulib
24124         This avoids incorporating the following, which I suspect are
24125         more trouble for Emacs than they’re worth:
24126         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
24127         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
24128         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24129         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
24131 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24133         Fix buffer overflow in make-docfile
24135         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
24136         overflow when reading an identifier.  Use a static buffer for NAME
24137         rather than a small dynamically-allocated buffer.
24139 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24141         Merge from gnulib
24143         This incorporates:
24144         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24145         * lib/getopt-pfx-ext.h: Copy from gnulib.
24146         * lib/gnulib.mk.in: Regenerate.
24148 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
24150         Fix dependency error during bootstrap
24152         * lisp/files.el: Require pcase and easy-mmode at compile time.
24154 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
24156         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
24158 2017-04-29  Philipp Stephani  <phst@google.com>
24160         Reimplement auto-saving to visited files
24162         This reacts to confusing behavior of 'auto-save-visited-file-name',
24163         cf. Bug#25478.
24165         * lisp/files.el (auto-save-visited-interval): New customization option.
24166         (auto-save-visited-mode): New global minor mode.
24167         (auto-save-visited-file-name): Make obsolete.
24168         (auto-save--timer): New internal helper variable.
24170         * doc/emacs/files.texi (Auto Save Files): Document
24171         'auto-save-visited-mode' instead of obsolete
24172         'auto-save-visited-file-name'.
24173         (Auto Save Control): Document customization option
24174         'auto-save-visited-interval'.
24176 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24178         Allow bypassing of some checks when merging
24180         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
24182 2017-04-29  Philipp Stephani  <phst@google.com>
24184         Integrate module test with normal test suite
24186         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
24187         configured.
24188         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
24189         correctly even if Emacs changes the current directory.
24190         ($(srcdir)/src/emacs-module-tests.log)
24191         ($(test_module)): Proper dependency tracking for test module.
24193         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
24194         Remove 'check' target and EMACS variable, which are no longer
24195         necessary.
24196         (SO): Change to include period.
24198         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
24199         environment variable to reliably find test data.
24201         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
24202         substitutions.
24204 2017-04-28  Glenn Morris  <rgm@gnu.org>
24206         Broaden comint-password-prompt-regexp
24208         * lisp/comint.el (comint-password-prompt-regexp):
24209         Broaden the regexp, for non-English locales.  (Bug#26698)
24211 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
24213         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
24215 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
24217         Don't pass the value of point to 'push-mark', as that's the default.
24219         * lisp/textmodes/bib-mode.el (mark-bib):
24220         * lisp/simple.el (mark-whole-buffer, yank):
24221         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
24222         * lisp/progmodes/xscheme.el (xscheme-yank):
24223         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
24224         * lisp/progmodes/perl-mode.el (perl-mark-function):
24225         * lisp/progmodes/pascal.el (pascal-mark-defun):
24226         * lisp/progmodes/meta-mode.el (meta-mark-defun):
24227         * lisp/progmodes/icon.el (mark-icon-function):
24228         * lisp/progmodes/cc-cmds.el (c-mark-function):
24229         * lisp/obsolete/vip.el (ex-goto):
24230         * lisp/obsolete/vi.el (vi-put-before):
24231         * lisp/mouse.el (mouse-yank-primary):
24232         * lisp/menu-bar.el (menu-bar-select-yank):
24233         * lisp/mail/sendmail.el (mail-yank-original):
24234         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
24235         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
24236         (viper-mark-end-of-buffer):
24237         * lisp/cedet/semantic/senator.el (senator-mark-defun):
24238         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
24239         `(point)' from calls to `push-mark'.  (Bug#25565)
24241 2017-04-28  Glenn Morris  <rgm@gnu.org>
24243         Merge from origin/emacs-25
24245         784602b1050 (origin/emacs-25) ; Add release notice
24246         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
24247         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
24248         2b0d1118199 ; CONTRIBUTE: Remove stray header.
24249         f2ab09ec60d Fix a typo in indexing the user manual
24250         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
24251         a6d50401b4b Document 'line-pixel-height'
24252         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
24253         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
24254         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
24255         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
24256         84938d79698 default-directory: Remark that it must be a directory name
24257         3f0d047d2eb Delete confuse statement in manual
24258         ee1bd94dd0c Improve packaging documentation
24259         fb18bff91f0 Expand manual section on quitting windows
24260         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
24261         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
24262         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
24263         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
24264         e0e9db4c84a ; Spelling fix
24266         # Conflicts:
24267         #       README
24268         #       etc/AUTHORS
24269         #       etc/HISTORY
24270         #       lisp/ldefs-boot.el
24272 2017-04-28  Glenn Morris  <rgm@gnu.org>
24274         * doc/misc/auth.texi: Commas don't work in node names.
24276         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
24278 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
24280         Test format-time-string with zone arg
24282         * test/src/editfns-tests.el (format-time-string-with-zone)
24283         (format-time-string-with-outlandish-zone): New tests.
24285 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
24287         Merge from gnulib
24289         This incorporates:
24290         2017-04-24 time_rz: fix heap buffer overflow vulnerability
24291         2017-04-23 stat-time: Update comments.
24292         2017-04-22 ftoastr: cite a newer paper
24293         2017-04-21 gettext-h: Avoid -Wundef warning.
24294         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
24295         * m4/getopt.m4: Copy from gnulib.
24296         * m4/gnulib-comp.m4: Regenerate.
24298 2017-04-27  Damien Cassou  <damien@cassou.me>
24300         auth-source-pass: Add documentation; fix tests and indentation.
24302         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
24303           instead of @enumerate.
24304         * lisp/auth-source-pass.el: Fix indentation.
24305           (auth-source-pass--remove-directory-name): Remove.
24306         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
24308 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
24310         auth-source-pass: Enable finding entries by "host/username"
24312         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
24313         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
24315 2017-04-27  Damien Cassou  <damien@cassou.me>
24317         Integrate auth-source with password-store
24319         * lisp/auth-source-pass.el: auth-source backend for password-store.
24320         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
24321           behavior.
24323 2017-04-27  Damien Cassou  <damien@cassou.me>
24325         * lisp/auth-source.el: Document parser functions.
24327 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
24329         auth-source: factor out parsers and add tests
24331         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
24332         * test/lisp/auth-source-tests.el: Add tests.
24334 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
24336         Fix doc and customization type of `window-combination-limit' (Bug#26673)
24338         * src/window.c (Vwindow_combination_limit): Fix doc-string.
24339         * lisp/cus-start.el (window-combination-limit): Fix
24340         customization type.
24341         * doc/lispref/windows.texi (Recombining Windows): Fix
24342         documentation of `window-combination-limit'.
24344 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
24346         Drop face from hi-lock--unused-faces only when used
24348         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
24349         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
24350         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
24352 2017-04-26  Alan Third  <alan@idiocy.org>
24354         Fix macOS version check (bug#26664)
24356         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
24357         macOS versions 10.12+.
24359 2017-04-26  Glenn Morris  <rgm@gnu.org>
24361         Make charprop.el provide a feature
24363         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
24364         Provide a feature.
24365         * lisp/loadup.el: Use the charprop feature.
24367 2017-04-26  Glenn Morris  <rgm@gnu.org>
24369         * lisp/loadup.el: Get charprop.el into etc/DOC again.
24371 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24373         * lisp/ido.el (ido-everywhere): Use add-function.
24375 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
24377         Try to fix latest fix of w32_mouse_position
24379         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
24380         latest fix and try to make the affected code more rigorous.
24382 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
24384         Avoid segfaults when 'find-font' is invoked for a TTY frame
24386         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
24387         text-mode frame.  (Bug#26646)
24389 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
24391         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
24393         New defun.
24395 2017-04-26  Glenn Morris  <rgm@gnu.org>
24397         * src/Makefile.in (leimdir): Remove variable, no longer used.
24399 2017-04-26  Glenn Morris  <rgm@gnu.org>
24401         Generate leim-list via lisp/Makefile, not src/Makefile
24403         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
24404         (emacs$(EXEEXT)): Don't depend on leim-list.
24405         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
24407 2017-04-25  Alan Third  <alan@idiocy.org>
24409         Fix define for GNUstep builds
24411         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
24412         doesn't see the code.
24414 2017-04-25  Glenn Morris  <rgm@gnu.org>
24416         Suppress intermittent test failure on hydra
24418         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
24419         (eieio-test-method-order-list-6): Skip on hydra.
24421 2017-04-25  Alan Third  <alan@idiocy.org>
24423         Fix some NS frame handling issues
24425         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
24426         defines intended to make things tidier.
24427         (x_set_undecorated): Use the new defines.
24428         (windowWillResize): Don't use new macOS 12+ only feature.
24429         (initFrameFromEmacs): Use the new defines, and disable automatic
24430         window tabbing feature in macOS 12.
24431         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
24432         x_set_z_group): Add NSTRACE notices.
24434 2017-04-25  Glenn Morris  <rgm@gnu.org>
24436         Avoid parallel race condition
24438         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
24440 2017-04-25  Glenn Morris  <rgm@gnu.org>
24442         Generate each unicode lisp file independently
24444         This is better for parallel builds, eg it eliminates race
24445         conditions from having one process write multiple files.
24446         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
24447         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
24448         (all): Explicitly list the output lisp files.
24449         (PHONY_EXTRAS): Remove.
24450         (${unidir}/charprop.el): Change rule to just be for this file.
24451         (${unifiles}): New rule to write each unicode lisp file.
24452         (extraclean): Simplify.
24453         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
24454         Quieten in batch mode.
24455         (unidata-gen-files): Remove, no longer used.
24456         * lisp/loadup.el: Update command-line parser.
24458 2017-04-25  Glenn Morris  <rgm@gnu.org>
24460         Further refactoring in unidata-gen.el
24462         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
24463         New function, split from unidata-gen-files.
24464         (unidata-gen-files): Use unidata-gen-charprop.
24466 2017-04-25  Glenn Morris  <rgm@gnu.org>
24468         Allow unidata-gen-file to work independently
24470         * admin/unidata/unidata-gen.el (unidata-gen-file):
24471         Make it work as a stand-alone function in batch mode.
24472         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
24474 2017-04-25  Glenn Morris  <rgm@gnu.org>
24476         Preparatory refactoring in unidata-gen.el
24478         * admin/unidata/unidata-gen.el (unidata-gen-file):
24479         New function, split from unidata-gen-files.
24480         (unidata-gen-files): Use unidata-gen-file.
24482 2017-04-25  Glenn Morris  <rgm@gnu.org>
24484         Write each generated character property lisp file only once
24486         * admin/unidata/unidata-gen.el (unidata-file-alist):
24487         Rename from unidata-prop-alist.  All users changed.
24488         Use file name rather than property name as the key.
24489         (unidata-prop-prop): New function.
24490         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
24491         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
24492         Change to parse the argument rather than unidata-prop-alist.
24493         (unidata-gen-table-character, unidata-gen-table)
24494         (unidata-gen-table-symbol, unidata-gen-table-integer)
24495         (unidata-gen-table-numeric, unidata-gen-table-word-list)
24496         (unidata-gen-table-name, unidata-gen-table-decomposition)
24497         (unidata-gen-table-special-casing): Pass index as an argument.
24498         (unidata-check): Adapt to unidata-file-alist.
24499         Pass index to generator functions.
24500         (unidata-gen-files): Adapt to unidata-file-alist.
24501         Write each output file once only.  Overwrite rather than delete.
24503 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
24505         Fix requesting sparse articles in gnus
24507         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
24508         sparse article number from the list, not its id.
24510 2017-04-25  Glenn Morris  <rgm@gnu.org>
24512         Don't advertise s_client in tls.el docs
24514         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
24515         Don't mention s_client in docs.
24517 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
24519         Remove s_client usage from tls.el
24521         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
24522         Ref http://bugs.debian.org/766397
24523         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
24525 2017-04-25  Glenn Morris  <rgm@gnu.org>
24527         Further robustify cedet bootstrap to loaddefs not yet built
24529         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
24530         Avoid void-function error when bootstrapping and semantic/loaddefs.el
24531         does not yet exist.
24533 2017-04-24  Alan Third  <alan@idiocy.org>
24535         Fix XBM color rendering in NS port (bug#22060)
24537         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
24539 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
24541         Add support for IRCv3 message tags.
24543         * lisp/erc/erc-backend.el:
24544           erc-response: Add `tags' element.
24545           Add (erc-parse-tags).
24546           (erc-parse-server-response): Use (erc-parse-tags) to parse message
24547           tags (if any), and store them in `erc-resopnse' struct.
24549         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
24550           properties of the corresponding message line.
24552 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
24554         Add image sizing tests for an image that's narrow
24556         Needlessly refactor tests for clarity
24558 2017-04-23  Philipp Stephani  <phst@google.com>
24560         Add missing remappings for Ido mode
24562         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
24564         * lisp/ido.el (ido-mode): Remap missing commands.
24565         (ido-file-internal, ido-visit-buffer): Add support for new
24566         methods.
24567         (ido-display-buffer-other-frame)
24568         (ido-find-alternate-file-other-window, ido-dired-other-window)
24569         (ido-dired-other-frame): New commands.
24571         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
24572         test for the bindings.
24574 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
24576         Let w32_mouse_position pick a child window only if it has a child frame
24578         * src/w32term.c (w32_mouse_position): When using a frame found
24579         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
24580         maybe).
24582 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
24584         Don't require bytecomp for running ert tests
24586         "Fix ert-tests when running compiled" 2016-12-06 accidentally
24587         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
24588         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
24589         on bytecomp was masked by loading other libraries until recently.
24591         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
24592         `byte-compile-macro-environment' if it's bound.
24593         * test/src/eval-tests.el: Add defvar for dynamic variable
24594         `byte-compile-debug'.
24596 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24598         Eliminate unneeded warp-to-article in gnus article referral
24600         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
24601         (gnus-summary-refer-article): Remove gnus-warp-to article call.
24603 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24605         Allow limiting gnus summary buffers to a thread
24607         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
24608         an optional argument to allow limiting the summary buffer to just the
24609         thread-related articles.
24610         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
24611         to control whether thread-referral adds the thread to the summary
24612         buffer or limits to just the thread.
24613         (gnus-summary-refer-thread): Use the new variable.
24615 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24617         Correct gnus-newsgroup-limits in gnus when including thread
24619         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
24620         only add one list of thread-related articles to gnus-newsgroup-limits
24621         rather than two.
24623 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24625         Improve gnus thread matching of similar subjects
24627         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
24628         Use the more liberal gnus-general-simplify-subject regexp to
24629         find thread articles with similar subjects.
24631 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24633         Add new `lisp-indent-region' that doesn't reparse the code.
24635         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
24636         to get initial state, so they will no longer indent string literal
24637         contents.
24639         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
24640         `syntax-ppss', but with a more dependable item 2.
24641         (lisp-indent-region): New function, like `indent-region-line-by-line'
24642         but additionally keep a running parse state to avoid reparsing the
24643         code repeatedly.  Use `lisp-ppss' to get initial state.
24644         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
24645         `calculate-lisp-indent', use `lisp-ppss' if not given.
24646         (lisp-mode-variables): Set `indent-region-function' to
24647         `lisp-indent-region'.
24649 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24651         Remove ignored argument from lisp-indent-line
24653         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
24654         argument, the behavior has long since been handled in
24655         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
24656         variables and use `indent-line-to'.
24658 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24660         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
24662 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24664         Don't reparse the sexp in indent-sexp (Bug#25122)
24666         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
24667         PARSE-START be a parse state that can be reused.
24668         (indent-sexp): Pass the running parse state to calculate-lisp-indent
24669         instead of the sexp beginning position.  Saving the
24670         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
24671         needed.  Don't bother stopping if we don't descend below init-depth,
24672         since we now alway scan the whole buffer (via syntax-ppss) anyway.
24673         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
24674         line to test case.
24676 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24678         Add cond test cases for singleton clauses.
24680         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
24681           the default clause is a single non-nil expression.
24683 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24685         b-c--cond-jump-table-info: Use correct body for singleton clauses
24687         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
24688         When a clause's body consists of a single constant expression, use
24689         that expression as the body to be compiled. This fixes switch bytecode
24690         evaluating to nil to such clauses.
24692 2017-04-22  Philipp Stephani  <phst@google.com>
24694         ffap: Don't switch window unless needed
24696         When using ffap-other-window, don't change the window configuration
24697         unless a new buffer has actually been created (Bug#25352).
24699         * lisp/ffap.el (ffap-other-frame): Don't change the window
24700         configuration if no new buffer has been created.
24701         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
24702         test.
24704 2017-04-22  Alan Mackenzie  <acm@muc.de>
24706         Fix fontification of C++ declaration with type FOO::FOO.
24708         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
24709         cfd-top-level properly.
24710         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
24711         before deciding it is a constructor.
24713         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
24714         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
24715         (simple bug fix).
24717 2017-04-22  Philipp Stephani  <phst@google.com>
24719         Fix usage of FRAME_Z_GROUP
24721         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
24722         Lisp object, cf. Bug#26597.
24724 2017-04-22  Alan Third  <alan@idiocy.org>
24726         Fix GNUstep build
24728         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
24729         compatibility.
24730         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
24732 2017-04-21  Alan Third  <alan@idiocy.org>
24734         Add no-accept-focus and frame-list-z-order to NS port
24736         * lisp/frame.el (frame-list-z-order): Add NS.
24737         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
24738         (Fx_create_frame): Handle no-accept-focus parameter.
24739         (ns_window_is_ancestor):
24740         (Fns_frame_list_z_order): New functions.
24741         * src/nsterm.m (x_set_no_accept_focus): New function.
24742         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
24743         non-fullscreen windows.
24744         (EmacsWindow:canBecomeKeyWindow): New function.
24746 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24748         Improve prefix handling for dash.el
24750         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
24751         Don't drop dash's "-<letter>" prefixes.
24753 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24755         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
24757         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
24758         and use a different fix for bug#26068.
24759         (cl--symbol-macro-key): New function.
24760         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
24761         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
24762         Failure is not expected any more.
24764 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
24766         Avoid infinite loop in redisplay when header-line-format is invalid
24768         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
24769         string has an invalid %-construct in it and is displayed as part
24770         of mode-line or header-line.  (Bug#26586)
24772 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24774         Add tests to check image scaling functionality
24776         This is in preparation to doing further work in this area to avoid
24777         regressions.
24779         * test/data/image/blank-200x100.png: New file for testing
24780         image scaling.
24782         * test/manual/image-size-tests.el: New file.
24784 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24786         Allow svg-image to take all create-image PROPS
24788         * lisp/svg.el (svg-image): Allow passing in PROPS when
24789         creating an image for convenience.
24791 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
24793         Treat non-erroring lisp call as successful eshell command (Bug#26161)
24795         This lets a compound command like 'cd .. && echo ok' print 'ok',
24796         similar to how most other shells behave.
24798         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
24799         last exit code was zero, rather than first checking whether the last
24800         command returned nil.
24801         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
24803 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
24805         Fix reading of tab settings in whitespace-mode
24807         lisp/whitespace.el (whitespace-indent-tabs-mode)
24808         whitespace-tab-width): Remove these variables. The underlying
24809         variables `indent-tabs-mode' and `tab-width' are already buffer-local
24810         when needed, and whitespace-mode never changes them.
24811         (whitespace-ensure-local-variables): Remove this function, which only
24812         existed to set the above variables.
24813         (whitespace-cleanup-region, whitespace-regexp)
24814         (whitespace-indentation-regexp, whitespace-report-region)
24815         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
24816         use `indent-tabs-mode' and `tab-width' directly, and not call
24817         `whitespace-ensure-local-variables'.
24819 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24821         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
24823         by simplifying ascii-test.
24825 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
24827         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
24829         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
24830           FORM if the bytecode uses the byte-switch instruction. It is
24831           impossible to guess the correct stack depth while inlining such
24832           bytecode, resulting in faulty code.
24834 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
24836         Set Emacs version to 25.2 and update AUTHORS file
24838         * README: Set Emacs version to 25.2.
24839         * etc/HISTORY: Add release log.
24840         * lisp/ldefs-boot.el:
24841         * etc/AUTHORS:
24842         * ChangeLog.2: Update.
24844 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
24846         Don't register "def" as an autoload prefix (Bug#26412)
24848         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
24849         accept "def" as a prefix.
24851 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24853         Use substring completion for Info menus and index
24855         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
24856         (Info-menu): Simplify now that we use the `default' arg of completing-read.
24857         * lisp/minibuffer.el (completion-category-defaults): Use substring
24858         completion for `info-menu`.
24860 2017-04-19  Glenn Morris  <rgm@gnu.org>
24862         Remove some explicit runtime loads of pcase
24864         Pcase is macros, so these should have used eval-when-compile.
24865         Anyway, pcase entry points are autoloaded, so the compiler handles it.
24866         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
24867         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
24868         * lisp/progmodes/xref.el: No need to require pcase.
24870 2017-04-19  Glenn Morris  <rgm@gnu.org>
24872         Stop cl-lib loading pcase at runtime
24874         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
24875         * lisp/emacs-lisp/autoload.el (make-autoload):
24876         Treat pcase-defmacro like defmacro.
24878 2017-04-19  Alan Third  <alan@idiocy.org>
24880         Note frame documentation exceptions for NS builds
24882         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
24883         NS differences.
24885 2017-04-19  Alan Third  <alan@idiocy.org>
24887         Fix bug introduced by my last commit
24889         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
24891 2017-04-19  Alan Third  <alan@idiocy.org>
24893         Add new frame functionality to NS port
24895         * lisp/frame.el (frame-restack): Call ns-frame-restack.
24896         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
24897         MOVE_FRAME_EVENT handling.
24898         * src/frame.h:
24899         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
24900         definitions.
24901         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
24902         x_set_undecorated (Cocoa only) to handler struct.
24903         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
24904         frame parameter.
24905         (Fns_frame_restack): New function.
24906         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
24907         FRAME_TOOLBAR_HEIGHT is no longer a variable.
24908         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
24909         Add #defines to find the screen position of the parent frame.
24910         (NS_TOP_POS): Remove defun.
24911         (EmacsView): Remove redundant toolbar variables and add createToolbar
24912         method.
24913         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
24914         values instead of storing them in a variable.
24915         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
24916         position into account when positioning frames.
24917         (initFrameFromEmacs): Remove toolbar creation code and handle new
24918         frame parameters.
24919         (x_set_window_size): Remove toolbar height calculation.
24920         (x_set_z_group):
24921         (x_set_parent_frame):
24922         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
24923         (x_destroy_window): Detach parent if child closes.
24924         (updateFrameSize): Change NSTRACE message to reflect new reality and
24925         no longer reset frame size.
24926         (windowWillResize): Don’t change NS window name when the titlebar
24927         is invisible.
24928         (createToolbar): Move toolbar creation code into it’s own method.
24929         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
24930         are no longer variables.
24931         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
24933 2017-04-19  Glenn Morris  <rgm@gnu.org>
24935         Tweak bytecomp's loading of cl-extra
24937         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
24938         post-bootstrap emacs where cl-loaddefs does exist.
24940 2017-04-19  Glenn Morris  <rgm@gnu.org>
24942         Avoid unnecessary loading of subr-x at run-time
24944         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
24945         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
24946         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
24947         No need to load subr-x at run-time.
24948         * lisp/gnus/nnheader.el: No need to load subr-x.
24950 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
24952         Use iteration in math-factorial-iter
24954         * lisp/calc/calc-comb.el (math-factorial-iter):
24955         Use iteration instead of recursion to avoid max-specpdl-size problem.
24957 2017-04-18  Glenn Morris  <rgm@gnu.org>
24959         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
24961 2017-04-18  Glenn Morris  <rgm@gnu.org>
24963         Avoid ert test failures
24965         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
24966         Avoid errors related to undefined byte-compile-macro-environment.
24967         Somehow masked until very recently because loading seq (eg)
24968         loads bytecomp.  http://hydra.nixos.org/build/51730765
24970 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
24972         Fix a typo in indexing the user manual
24974         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
24976 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
24978         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
24980         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
24981         Rename from find-library--from-load-path.  Check for `load-history'
24982         entries with nil FILE-NAMEs.  Simplify by not double
24983         checking for suffixes and making use of `locate-file'.
24985 2017-04-18  Alan Third  <alan@idiocy.org>
24986             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24988         Use vfork if possible on Darwin (bug#26397)
24991         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
24992         (vfork): Don't define.
24993         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
24994         set, otherwise vfork.
24995         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
24996         the controlling terminal instead of setsid.
24998 2017-04-18  Fran Litterio  <flitterio@gmail.com>
25000         Small erc-kill-channel fix (bug#23700)
25002         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
25004 2017-04-18  Glenn Morris  <rgm@gnu.org>
25006         ediff: use user-error rather than debug-ignored-errors
25008         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
25009         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
25010         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
25011         (ediff-check-version):
25012         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
25013         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
25014         (ediff-append-custom-diff, ediff-meta-show-patch)
25015         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
25016         (ediff-get-meta-info, ediff-patch-file-form-meta):
25017         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
25018         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
25019         (ediff--check-ancestor-exists, ediff-toggle-read-only)
25020         (ediff-toggle-wide-display, ediff-toggle-multiframe)
25021         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
25022         (ediff-next-difference, ediff-previous-difference)
25023         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
25024         (ediff-save-buffer):
25025         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
25026         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
25027         (ediff-directories-internal, ediff-directory-revisions-internal)
25028         (ediff-regions-wordwise, ediff-regions-linewise)
25029         (ediff-load-version-control): Use user-error.
25030         (debug-ignored-errors): No longer modify.
25032 2017-04-18  Glenn Morris  <rgm@gnu.org>
25034         mh-e: use user-error rather than debug-ignored-errors
25036         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
25037         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
25038         (debug-ignored-errors): No longer modify.
25040 2017-04-18  Glenn Morris  <rgm@gnu.org>
25042         ispell.el: use user-error rather than debug-ignored-errors
25044         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
25045         (debug-ignored-errors): No longer modify.
25047 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25049         * src/xterm.c (x_fill_rectangle): Now static.
25051 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25053         Tighten recently-added UTF-8 check
25055         * src/coding.c (encode_coding_utf_8): Now extern.
25056         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
25057         Check for UTF-8, not just for multibyte.
25059 2017-04-17  David Engster  <deng@randomsample.de>
25061         xml: Properly handle symbol-qnames for attribute parsing
25063         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
25064           xml-ns argument (reverts aea67018) (Bug#26533).
25065           (xml-maybe-do-ns): Properly handle default namespace by not
25066           interning new symbol when 'special' flag is set.
25068         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
25069           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
25071 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25073         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
25075 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
25077         Fix assertion violations when displaying thread-related error
25079         * src/process.c (Faccept_process_output): Don't assume a thread's
25080         name is always a string.
25082 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
25084         dired ‘M’ should not complain about ‘.’ and ‘..’
25086         * lisp/dired-aux.el (dired-do-redisplay):
25087         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
25089 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
25091         Remove unused coding enums
25093         * src/coding.h (enum coding_system_type, enum end_of_line_type):
25094         Remove; unused.
25096 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
25098         Work around bug with unibyte Linux consoles
25100         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
25101         the terminal's coding system is unibyte (Bug#26396).
25103 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
25105         Fix org-agenda's command for calendar-lunar-phases
25107         Function org-agenda-phases-of-moon tries to call a non-existing
25108         function calendar-phases-of-moon. The correct function is
25109         calendar-lunar-phases.
25111 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
25113         Tuning for `separate' Tramp syntax
25115         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
25116         (tramp-completion-file-name-regexp-separate): Simplify.
25118         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
25119         Extend test.
25121 2017-04-16  Alan Mackenzie  <acm@muc.de>
25123         Fix bug #26529: C-h k errors with a lambda function bound to a key.
25125         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
25126         `function' is a symbol before trying to get property `reader-construct' from
25127         it.
25129 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
25131         Fix highlighting of short selectors in CSS mode
25133         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
25134         selectors where the part before a colon is only one character long,
25135         such as `a:hover'.
25137 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
25139         Fix redisplay performance problems with some fonts
25141         * src/font.c (font_list_entities): Revert part of the changes
25142         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
25143         zero_vector in the font-cache is an important indication that
25144         cannot be removed.  (Bug#21028)
25146 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
25148         Add assertion to STRING_SET_CHARS
25150         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
25151         to prevent incorrect usage.  For details, see this discussion:
25152         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
25154 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
25156         Avoid compilation warnings on MS-Windows
25158         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
25159         parentheses around assignment.
25160         * src/w32fns.c (w32_createwindow): Remove unused variable
25161         dwStyle.  Use "|=" where appropriate.
25163 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25165         Merge from gnulib
25167         This incorporates:
25168         2017-04-14 intprops: try to avoid tickling similar bugs
25169         2017-04-14 intprops: port to Oracle Studio 12.3 x86
25170         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
25172 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
25174         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
25176         * lisp/window.el (with-displayed-buffer-window): When a
25177         'window-height' action alist entry specifies a function, call
25178         `temp-buffer-window-show' with a '(window-height . t)' dummy
25179         entry so `window--try-to-split-window' will bind
25180         `window-combination-limit' to t and that function does not
25181         resize any other window but the one we split this one off
25182         (Bug#25055, Bug#25179).
25183         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
25184         we steal space only from windows in the same combination.
25185         Stealing space from other windows would not allow us to return
25186         that space later when this window is deleted (Bug#25055,
25187         Bug#25179).
25189 2017-04-15  Glenn Morris  <rgm@gnu.org>
25191         Avoid userlock queries hanging forever in batch mode
25193         * lisp/userlock.el (ask-user-about-lock)
25194         (ask-user-about-supersession-threat): Abort in batch mode.
25196 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
25198         Fix segfault when calling frame_ancestor_p (Bug#26493)
25200         * src/xterm.c (handle_one_xevent): Check that hf was not reset
25201         before calling frame_ancestor_p (Bug#26493).
25203 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
25205         A few additional copy-edits in documentation of frames
25207         * doc/lispref/frames.texi (Frame Layout)
25208         (Implied Frame Resizing): Windows -> MS-Windows.
25209         (Deleting Frames): Fix typo.
25211 2017-04-14  Glenn Morris  <rgm@gnu.org>
25213         Use user-error for some ert.el errors
25215         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
25216         (ert-results-find-test-at-point-other-window, ert-describe-test):
25217         Use user-error.
25219 2017-04-14  Glenn Morris  <rgm@gnu.org>
25221         Use user-error for customize's "invalid face" error
25223         * lisp/cus-edit.el (customize-face): Use user-error.
25224         (debug-ignored-errors): No more need to add "Invalid face".
25226 2017-04-14  Glenn Morris  <rgm@gnu.org>
25228         Remove duplicate lisp-eval-defun definition
25230         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
25231         Autoload rather than defining a stub.
25233 2017-04-14  Glenn Morris  <rgm@gnu.org>
25235         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
25237 2017-04-14  Glenn Morris  <rgm@gnu.org>
25239         Create generated lisp files before main loaddefs.el
25241         This should improve reproducibility of lisp/loaddefs.el.
25242         * lisp/Makefile.in (gen-lisp): New phony target.
25243         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
25244         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
25245         * lisp/cedet/semantic.el (semantic-mode):
25246         * lisp/cedet/semantic/fw.el (top-level):
25247         * lisp/emacs-lisp/eieio-core.el (top-level):
25248         Robustify to generated input files maybe not yet existing.
25250 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25252         Fix minor quoting issues in Makefile.in
25254         * Makefile.in (install-arch-dep, uninstall):
25255         Quote EMACS and EMACS_NAME more consistently.
25257 2017-04-13  Glenn Morris  <rgm@gnu.org>
25259         * Makefile.in (install-etc): Use existing Makefile variables.
25261 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
25263         Minor copyedits of recent changes in documentation
25265         * doc/lispref/frames.texi (Frame Layout, Frame Position)
25266         (Frame Size, Frame Interaction Parameters, Input Focus)
25267         (Raising and Lowering, Child Frames): Improve wording and indexing.
25268         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
25270 2017-04-13  Glenn Morris  <rgm@gnu.org>
25272         Small src/Makefile simplification
25274         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
25275         ($(lispsource)/term/ns-win.elc): Combine rules.
25277 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
25279         Add grid layout module to CSS property list
25281         * lisp/textmodes/css-mode.el (css-property-alist)
25282         (css-value-class-alist): Add new properties and value classes from CSS
25283         Grid Layout Module.
25285 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
25287         Describe recent frame and window changes in manuals
25289         * doc/emacs/emacs.texi (Top):
25290         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
25291         "outer border" (for the X border which can be set from within
25292         Emacs) and "external border" (for the border which is added by
25293         the window manager).
25294         * doc/lispref/display.texi (Tooltips): Clarify slightly.
25295         * doc/lispref/elisp.texi (Top): Update node and section names.
25296         * doc/lispref/frames.texi (Frames): Describe difference between
25297         top-level and child frames.
25298         (Frame Layout): Describe outer border.  Add more details about
25299         how Emacs obtains the outer size and position of a frame and
25300         about menu bar/tool bar wrapping.  Add references to new frame
25301         parameters.
25302         (Size and Position): Remove subsection.
25303         (Frame Position): New subsection excerpted from the earlier Size
25304         and Position subsection.  Clarify positioning concepts and
25305         some of their shortcomings.  Describe `move-frame-functions'.
25306         (Frame Size): New subsection excerpted from the earlier Size
25307         and Position subsection.  Describe how to track frame size
25308         changes and the new function `frame-size-changed-p'.
25309         (Position Parameters): Describe child frame positioning.  Warn
25310         about negative offsets.  Describe 'z-group' parameter.
25311         (Size Parameters): Describe 'text-pixels' specification
25312         facility and new 'min-width' and 'min-height' parameters.
25313         (Layout Parameters): Clarify description of 'tool-bar-lines' and
25314         'menu-bar-lines' parameters.
25315         (Frame Interaction Parameters): New subsubsection describing
25316         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
25317         'no-other-frame' parameters.
25318         (Management Parameters): Describe 'skip-taskbar',
25319         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
25320         'override-redirect' parameters.
25321         (Deleting Frames): Describe handling of 'delete-before'
25322         parameter and child frames for `delete-frame' and
25323         `delete-other-frames'.
25324         (Finding All Frames): Describe `frame-list-z-order' and handling
25325         of 'no-other-frame' parameter by `next-frame'.
25326         (Minibuffers and Frames): Minor clarifications.
25327         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
25328         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
25329         (Visibility of Frames): Describe mapping and how the visibility
25330         of a parent frame affects that of its child frames.
25331         (Raising and Lowering): Describe restacking of frames and
25332         z-groups.
25333         (Child Frames): New section.
25334         * doc/lispref/windows.texi (Selecting Windows): Describe
25335         additional semantics of NORECORD argument of `select-window' and
25336         how `buffer-list-update-hook' can emulate a "select window
25337         hook".
25338         (Mouse Window Auto-selection): New section.
25340 2017-04-13  Damien Cassou  <damien@cassou.me>
25342         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
25344         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
25345           pairs.
25346         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
25348 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
25350         Avoid unnecessary regeneration of the entire loaddefs.el
25352         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
25353         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
25354         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
25355         loaddefs.tmp before running 'batch-update-autoloads' on it, to
25356         avoid slow regeneration of the full contents.  (Bug#26459)
25357         Use 'move-if-change' instead of 'mv', to avoid producing a new
25358         Emacs binary when not necessary.
25360 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
25362         Handle indentation of nested ternary operators in JS
25364         * lisp/progmodes/js.el (js--looking-at-operator-p):
25365         Handle nested ternary operators.
25367 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
25369         Don't call 'kill-this-buffer' outside of menus
25371         * lisp/simple.el (kill-current-buffer): New function.
25372         (completion-list-mode-map): Use it instead of kill-this-buffer.
25373         * lisp/type-break.el (type-break-mode):
25374         * lisp/term/ns-win.el (global-map):
25375         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
25376         (gdb-disassembly-mode-map, gdb-frames-mode-map)
25377         (gdb-locals-mode-map, gdb-registers-mode-map):
25378         * lisp/org/org-mhe.el (org-mhe-follow-link):
25379         * lisp/net/secrets.el (secrets-mode-map):
25380         * lisp/net/eudc.el (eudc-mode-map):
25381         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
25382         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
25384 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
25386         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
25388 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
25390         New internal-border face and args for select-window and x-focus-frame
25392         Add `internal-border' face and handle it whenever clearing the
25393         internal border.  If NORECORD equals the symbol
25394         'mark-for-redisplay', `select-window' will not record the window
25395         but still mark it for redisplay.  The new argument NOACTIVATE
25396         for `x-focus-frame' tries to not activate FRAME when set.
25398         * lisp/faces.el (internal-border): New face.
25399         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
25400         `mark-for-redisplay'.
25401         * lisp/scroll-bar.el (scroll-bar-drag)
25402         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
25403         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
25404         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
25405         with `mark-for-redisplay'.
25406         * lisp/window.el (handle-select-window): When
25407         `focus-follows-mouse' is not 'auto-raise' try to not activate
25408         FRAME.
25409         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
25410         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
25411         * src/frame.h (x_focus_frame): Update extern declaration.
25412         * src/gtkutil.c (xg_clear_under_internal_border): Remove
25413         function.
25414         (xg_frame_resized, xg_frame_set_char_size): Call
25415         x_clear_under_internal_border.
25416         (xg_tool_bar_callback): Adapt x_focus_frame call.
25417         * src/gtkutil.h (xg_clear_under_internal_border): Remove
25418         declaration.
25419         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
25420         * src/w32fns.c (x_clear_under_internal_border): Fill border
25421         with internal-border background if specified.
25422         * src/w32term.h (x_clear_under_internal_border): Add extern
25423         declaration.
25424         * src/w32term.c (x_after_update_window_line): Fill border
25425         with internal-border background if specified.
25426         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
25427         (x_scroll_bar_clear, w32_read_socket): Call
25428         x_clear_under_internal_border.
25429         (x_focus_frame): New argument NOACTIVATE.
25430         * src/window.c (select_window): Mark WINDOW for redisplay when
25431         NORECORD equals 'mark-for-redisplay'.
25432         (Fselect_window): Update doc-string.
25433         (syms_of_window): Define Qmark_for_redisplay.
25434         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
25435         (redisplay_internal): Call x_clear_under_internal_border.
25436         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
25437         and `internal-border' faces.
25438         (realize_basic_faces): Realize `internal-border' face.
25439         (syms_of_xfaces): Define Qinternal_border.
25440         * src/xfns.c (x_set_internal_border_width): Remove call for
25441         xg_clear_under_internal_border.
25442         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
25443         activate frame.
25444         * src/xterm.c (x_fill_rectangle): No more static.
25445         (x_clear_under_internal_border, x_after_update_window_line):
25446         Fill border with internal-border background if specified.
25447         (xt_horizontal_action_hook): Rewrite.
25448         (handle_one_xevent): Call x_clear_under_internal_border.
25449         * src/xterm.h (x_fill_rectangle): Add extern declaration.
25451 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25453         Port recent frame changes to --enable-gcc-warnings
25455         * src/frame.c (next_frame, prev_frame):
25456         Remove now-redundant assertions.
25457         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
25459 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
25461         Scroll right and left using wheel-right and wheel-left.
25463         These changes also make use of touchpad and trackpad (Bug#26347).
25465         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
25466         scrolling using the mouse wheel.
25468         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
25469         (mwheel-tilt-scroll-p, mwheel-flip-direction)
25470         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
25471         defcustoms.
25472         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
25473         events that calls wheel-left/right.
25475         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
25477 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
25479         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
25481 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
25483         Add new frame parameters and associated functions
25485         Add new frame parameters `undecorated', `override-redirect',
25486         `parent-frame', `skip-taskbar', `no-focus-on-map',
25487         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
25488         `mouse-wheel-frame', `min-width', `min-height'.  Add new
25489         functions `frame-restack' and `frame-list-z-order'.
25491         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
25492         type.
25493         * lisp/frame.el (handle-delete-frame): Handle child and
25494         `delete-before' frames.
25495         (other-frame): Stop looking for other frame after one round.
25496         (frame-list-z-order, frame-restack): New functions.
25497         (delete-other-frames): Handle child frames.
25498         * lisp/frameset.el (frameset-persistent-filter-alist)
25499         (frameset--record-relationships): Handle `delete-before',
25500         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
25501         latter from `frameset--record-minibuffer-relationships'.
25502         (frameset--restore-frame): Handle ‘parent-frame’ parameter
25503         specially.
25504         (frameset-restore): Handle `delete-before', `parent-frame' and
25505         `mouse-wheel-frame' parameters.
25506         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
25507         parameter.
25508         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
25509         (mouse-autoselect-window-select, handle-select-window): Major
25510         rewrite.  Try to not ignore errors.  Handle auto-selection of
25511         child frames and different values of `focus-follows-mouse'.
25512         * src/frame.c (frame_windows_min_size): Handle new `min-width'
25513         and `min-height' frame parameters.
25514         (make_frame): Initialize new frame structure members.
25515         (do_switch_frame): Don't reset internal_last_event_frame for
25516         descendant frames.
25517         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
25518         functions.
25519         (candidate_frame): Don't return `no-other-frame' frame.
25520         (other_frames): New function replacing other_visible_frames.
25521         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
25522         (Fmake_frame_invisible): Call other_frames.
25523         (store_frame_param): Check `delete-before' and `parent-frame'
25524         parameters for circular dependencies.
25525         (frame_parms, syms_of_frame): Add entries for and define new
25526         frame parameters.
25527         (focus_follows_mouse): New meaningful value `auto-raise'.
25528         * src/frame.h (z_group): New enumeration type.
25529         (frame): New slots parent_frame, undecorated, override_redirect,
25530         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
25531         (fset_parent_frame): New inlined function.
25532         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
25533         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
25534         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
25535         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
25536         (FRAME_Z_GROUP_BELOW): New macros.
25537         (frame_ancestor_p): Add declaration.
25538         * src/gtkutil.c (xg_create_frame_widgets): Handle
25539         `undecorated' and `override-redirect' frame parameters.
25540         (x_wm_set_size_hint): None for child frames.
25541         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
25542         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
25543         (xg_set_override_redirect): New functions.
25544         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
25545         Don't let scrollbars obscure child frames.
25546         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
25547         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
25548         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
25549         declarations.
25550         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
25551         frame parameters.
25552         (Fx_create_frame): Install `min-width' and `min-height' frame
25553         parameters.
25554         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
25555         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
25556         (x_real_positions): Handle child frames.
25557         (x_set_menu_bar_lines): Don't for child frames.
25558         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
25559         (x_set_no_focus_on_map, x_set_no_accept_focus)
25560         (x_set_z_group): New functions.
25561         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
25562         scroll bars over child frames.
25563         (w32_createwindow): Handle new frame parameters and child frames.
25564         (w32_wnd_proc): Let mouse clicks into a child frame activate
25565         the frame.  Try to handle the `no-accept-focus' parameter.  Do
25566         SetFocus when our window is brought to top or becomes the
25567         foreground window.
25568         (w32_window): Don't initialize menu bar for child frames.
25569         (Fx_create_frame): Handle new frame parameters.
25570         (x_create_tip_frame): Set explicit_parent slot.
25571         (w32_dialog_in_progress): New function.
25572         (Fx_file_dialog): Handle `z-group-above' frames.
25573         (w32_frame_list_z_order, Fw32_frame_list_z_order)
25574         (w32_frame_restack, Fw32_frame_restack): New functions.
25575         (w32_frame_parm_handlers): Add entries for new frame
25576         parameters.
25577         * src/w32font.c (Fx_select_font): Handle `z-group-above'
25578         frames during font selection dialogue.
25579         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
25580         event from F's w32 window.
25581         (w32_mouse_position): Handle child frames.
25582         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
25583         Don't draw scroll bars over child frames.
25584         (w32_read_socket): Always erase background of child frames.
25585         When generating SELECT_WINDOW_EVENTs handle new value of
25586         `focus-follows-mouse' and handle `no-accept-focus' parameter.
25587         Handle `mouse-wheel-frame' parameter.
25588         (x_calc_absolute_position, x_set_offset, x_set_window_size):
25589         Handle child frames.
25590         (x_make_frame_visible): Handle child frames specially.  Handle
25591         `no-focus-on-map' parameter.
25592         * src/w32term.h (w32_dialog_in_progress): Add external
25593         declaration.
25594         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
25595         for child frames.
25596         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
25597         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
25598         non-Motif, non-GTK case.
25599         (x_real_pos_and_offsets): Handle child frames.
25600         (x_set_undecorated, x_set_parent_frame)
25601         (x_set_no_focus_on_map, x_set_no_accept_focus)
25602         (x_set_override_redirect): New functions.
25603         (x_set_menu_bar_lines): Not for child frames.
25604         (x_window): Handle `undecorated' and `override_redirect' cases.
25605         (Fx_create_frame): Handle new frame parameters.
25606         (frame_geometry): Handle child frames and outer border.
25607         (x_frame_list_z_order, Fx_frame_list_z_order)
25608         (x_frame_restack, Fx_frame_restack): New functions.
25609         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
25610         (x_frame_parm_handlers): Add entries for new frame parameters.
25611         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
25612         frames.
25613         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
25614         for child frames.
25615         (XTmouse_position): Handle child frames.
25616         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
25617         bars obscure child frames.
25618         (handle_one_xevent): Handle child frame positions.  If necessary
25619         set `skip-taskbar' and reassign proper `z-group' when we are
25620         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
25621         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
25622         Let mouse clicks into a child frame activate the frame.
25623         (x_calc_absolute_position, x_set_offset): Handle child frames
25624         specially.
25625         (x_set_skip_taskbar, x_set_z_group): New functions.
25626         (x_make_frame_visible): Handle child frames.
25627         (ATOM_REFS_INIT): Add entries for
25628         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
25629         Xatom_net_wm_state_below.
25630         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
25631         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
25632         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
25634 2017-04-11  Glenn Morris  <rgm@gnu.org>
25636         Update a package test for hydra
25638         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
25639         Also bind package-gnupghome-dir, see eg
25640         http://hydra.nixos.org/build/51462182 .
25642 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25644         Frame movement, focus and hook related changes
25646         New hook `move-frame-functions'.  Run `focus-in-hook'
25647         after switching to frame that gets focus.  Don't run
25648         XMoveWindow for GTK.
25650         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
25651         functions.
25653         * src/frame.c (do_switch_frame): Simplify code.
25654         (Fhandle_switch_frame): Switch frame before running
25655         `handle-focus-in'.
25656         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
25657         (Vmove_frame_functions): New hook variable.
25658         * src/keyboard.c (kbd_buffer_get_event): Handle
25659         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
25660         (head_table): Add Qmove_frame entry.
25661         (syms_of_keyboard): Add Qmove_frame.
25662         (keys_of_keyboard): Define key for `move-frame'.
25663         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
25664         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
25665         * src/window.c (run_window_size_change_functions): Record size of
25666         FRAME's minibuffer window too.
25667         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
25668         (x_set_offset): For GTK call gtk_widget_move instead of
25669         XMoveWindow.
25671 2017-04-11  Werner LEMBERG  <wl@gnu.org>
25673         Avoid abort in ftfont.c due to faulty fonts
25675         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
25676         hinting, before aborting.  (Bug#25945)
25678 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
25680         Document 'line-pixel-height'
25682         * doc/lispref/display.texi (Size of Displayed Text): Document
25683         line-pixel-height.  Suggested by Tak Kunihiro
25684         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
25686 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
25688         Introduce customizable variable 'package-gnupghome-dir'
25690         * lisp/emacs-lisp/package.el (package-import-keyring)
25691         (package--check-signature-content, package-check-signature):
25692         Use new variable package-gnupghome-dir to control which GnuPG
25693         homedir to use.
25694         * doc/emacs/package.texi: Mention package-gnupghome-dir.
25695         * etc/NEWS: Mention package-gnupghome-dir.
25697 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25699         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
25701         This activates a change that was installed a few weeks ago but whose
25702         ChangeLog was inadvertently dropped during its commit.  The proper
25703         ChangeLog is included below as part of the present commit.
25705         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
25706         is set avoid calling x_gtk_parse_geometry (Bug#25851).
25707         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
25708         PPosition, USPosition and USSize flags if requested.
25709         * src/xterm.c (x_set_offset): With GTK when
25710         x_gtk_use_window_move is set, leave it entirely to
25711         gtk_window_move to position the window and skip any
25712         post-adjustments (Bug#25851 and Bug#25943).
25713         (x_gtk_use_window_move): New variable.
25715 2017-04-10  Alan Mackenzie  <acm@muc.de>
25717         Fix a loop in C Mode caused by inadequate analysis of comments.
25719         After M-;, and the insertion of the opening "/*", the CC Mode after-change
25720         function got confused, since the new comment opener matched the end of a
25721         subsequent comment, but moving back over that comment did not come back to the
25722         starting point.  Fix this.
25724         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
25725         point is left if no end-of-macro is found before it.
25726         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
25727         non-nil except where we have an unclosed block comment at the end of a macro.
25728         This enables us to populate the cache more fully, at the cost of some run
25729         time.
25731 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
25733         Add PVSIZE function to return the size of a pseudovector.
25735         * src/lisp.h (PVSIZE): New function.
25737         * src/chartab.c (copy_char_table):
25738         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
25739         * src/doc.c (Fdocumentation, store_function_docstring):
25740         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
25741         * src/fns.c (Flength, Fcopy_sequence):
25742         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
25743         * src/lread.c (substitute_object_recurse):
25744         * src/print.c (print_object):
25745           Use it.
25747 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
25749         Add Tramp tests
25751         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
25753         * test/lisp/net/tramp-tests.el
25754         (tramp-test01-file-name-syntax-simplified)
25755         (tramp-test01-file-name-syntax-separate)
25756         (tramp-test02-file-name-dissect-simplified)
25757         (tramp-test02-file-name-dissect-separate): New tests.
25759 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
25761         Make sure that `shell' makes BUFFER current
25763         * lisp/shell.el (shell): Restrict scope of recently added
25764         `with-current-buffer' to make sure that BUFFER is current when
25765         `shell' returns.
25767 2017-04-10  Jim Blandy  <jimb@red-bean.com>
25769         Default to PCRE syntax when reading .hgignore
25771         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
25772         Default to the PCRE syntax (bug#26249).
25774 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
25776         Document Tramp changes
25778         * doc/misc/tramp.texi (Change file name syntax): New node.
25780         * etc/NEWS: Mention `tramp-change-syntax'.
25782         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
25783         External packages uses it.
25784         (tramp-syntax): Set also `tramp-file-name-regexp'.
25786 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25788         Merge from gnulib (Bug#26398)
25790         This incorporates:
25791         2017-04-08 getopt: prefer - to _ in new file names
25792         2017-04-08 getopt: port recent getopt changes to macOS
25793         * .gitignore: Add lib/getopt-cdefs.h.
25794         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25795         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25796         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25797         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25798         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25799         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
25800         Copy from Gnulib.
25801         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25803 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
25805         Write updated loaddefs to a temporary file and rename into place.
25807         In a parallel build, byte compilation can be running at the same times
25808         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
25809         loaddefs.el is read at startup and must always be in a usable state.
25811         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
25812         loaddefs.el.new and then rename it to loaddefs.el.
25814 2017-04-09  Glenn Morris  <rgm@gnu.org>
25816         In the manual, mention pops and imaps
25818         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
25819         Mention pops and imaps protocols.
25821 2017-04-09  Glenn Morris  <rgm@gnu.org>
25823         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
25825 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
25827         Fix rmail handling of movemail protocols (bug#18278)
25829         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
25830         (rmail-parse-url): Return protocol in second list element.
25831         Only use passwords with remote mailboxes.
25832         (rmail-insert-inbox-text): Handle non-simple local
25833         mailboxes (maildir, MH, etc.).
25835 2017-04-09  Glenn Morris  <rgm@gnu.org>
25837         Fix typos in manual re movemail local mailboxes
25839         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
25840         Fix examples of local mailbox urls.
25842 2017-04-08  Glenn Morris  <rgm@gnu.org>
25844         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
25846 2017-04-08  Glenn Morris  <rgm@gnu.org>
25848         Remove references to OS/2 in code, doc, and comments
25850         * lisp/gnus/nnheader.el (nnheader-read-timeout)
25851         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
25852         * lisp/emulation/viper-util.el (viper-color-defined-p):
25853         * lisp/net/pop3.el (pop3-read-timeout):
25854         * lisp/net/imap.el (imap-read-timeout):
25855         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
25856         * lisp/emulation/viper-ex.el (viper-glob-function):
25857         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
25858         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
25859         * doc/emacs/msdos-xtra.texi (MS-DOS):
25860         * doc/misc/gnus.texi (Various Various):
25861         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
25863 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
25865         Tune Tramp syntax
25867         * lisp/net/tramp-cmds.el (tramp-change-syntax):
25868         Use `tramp-syntax-values'.
25870         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
25872         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
25873         (tramp-syntax-values): New defun.
25874         (tramp-prefix-format, tramp-method-regexp)
25875         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
25876         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
25877         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
25878         and changed values.
25879         (tramp-completion-file-name-regexp-default): Rename from
25880         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
25881         (tramp-completion-file-name-regexp-simplified): Rename from
25882         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
25883         (tramp-initial-completion-file-name-regexp):
25884         Use `tramp-completion-file-name-regexp-default'.
25885         (tramp-run-real-handler): Do not autoload any longer.
25887 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25889         Replace more nested ifs with cond
25891         This is a continuation of d526047 "Replace more nested ifs with cond".
25892         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
25893         when and cond where appropriate.
25895 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25897         Adjust the edebug spec of if-let*
25899         This was fixed in Bug#24748, but now looking more closely, using gate in
25900         the spec seems correct.  See (info "(elisp) Backtracking").
25901         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
25903 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25905         Replace some uses of cl-member-if with apply
25907         From the mhtml-mode series.  Some of the uses of cl-lib are not
25908         necessary.
25909         * lisp/align.el: Don't require cl-lib.
25910         (align-region): Use apply instead of cl-member-if.
25911         * lisp/emulation/viper.el: Don't require cl-lib.
25912         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
25913         cl-member-if.
25915 2017-04-08  Philipp Stephani  <phst@google.com>
25917         Validate SPEC of `dolist', cf. Bug#25477.
25919         * lisp/subr.el (dolist): Test type and length of SPEC.
25920         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
25921         Add unit test.
25923 2017-04-08  Philipp Stephani  <phst@google.com>
25925         Add unit test for Bug#26378
25927         * test/lisp/vc/ediff-diff-tests.el
25928         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
25930 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
25932         Fix circular read syntax for records.
25934         * src/lread.c (substitute_object_recurse): Work with records.
25936         * test/src/lread-tests.el (lread-record-1): New test.
25938 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25940         Deprecate copy-record in favor of copy-sequence
25942         Since copy-sequence seems to be needed anyway for records, have it
25943         work on records, and remove copy-record as being superfluous.
25944         * doc/lispref/records.texi (Records, Record Functions):
25945         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
25946         * lisp/emacs-lisp/eieio.el (make-instance, clone):
25947         * test/src/alloc-tests.el (record-3):
25948         Use copy-sequence, not copy-record, to copy records.
25949         * doc/lispref/sequences.texi (Sequence Functions)
25950         (Array Functions): Document that aref and copy-sequence
25951         work on records.
25952         * etc/NEWS: Omit copy-record.
25953         * src/alloc.c (Fcopy_record): Remove.
25954         * src/data.c (Faref): Document that arg can be a record.
25955         * src/fns.c (Fcopy_sequence): Copy records, too.
25957 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25959         Fix dependency checking in src/Makefile.in
25961         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
25962         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
25963         Otherwise, some dependencies will be missed.
25965 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25967         Minor tuneup of write-region change
25969         * src/fileio.c (write_region): Use SCHARS, not Flength,
25970         on a value known to be a string.
25972 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25974         Adjust write-region so file name is at the beginning again
25976         * lisp/epa-file.el (epa-file-write-region):
25977         * lisp/gnus/mm-util.el (mm-append-to-file):
25978         * lisp/jka-compr.el (jka-compr-write-region):
25979         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25980         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25981         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25982         * src/fileio.c (write_region): Put file name at the beginning and move
25983         number of characters to the end of the message.
25985 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
25987         Check that file argument is a string
25989         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
25990           passed to `file-local-copy' is a string (Bug#26378).  Also fix
25991           the existing comment for this function, and convert it to its
25992           doc-string.
25994 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25996         Fix handling of non-integer START param to write-region
25998         The previous patch for Bug#354 incorrectly assumed that START would
25999         always be an integer.
26001         * lisp/epa-file.el (epa-file-write-region):
26002         * lisp/jka-compr.el (jka-compr-write-region):
26003         * lisp/net/ange-ftp.el (ange-ftp-write-region):
26004         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
26005         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
26006         * src/fileio.c (write_region): Handle nil and string values of START.
26008 2017-04-07  Glenn Morris  <rgm@gnu.org>
26010         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
26012 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
26014         Add Tramp versions to `customize-package-emacs-version-alist'
26016         * lisp/net/trampver.el (customize-package-emacs-version-alist):
26017         Add Tramp versions to `customize-package-emacs-version-alist'.
26019 2017-04-07  Tom Tromey  <tom@tromey.com>
26021         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
26023 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
26025         * doc/lispref/records.texi (Record Functions): fix typo.
26027 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26029         More casefiddle minor fixes
26031         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
26032         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
26033         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
26035 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
26037         Output number of characters added to file (Bug#354)
26039         * src/fileio.c (write_region):
26040         * lisp/epa-file.el (epa-file-write-region):
26041         * lisp/jka-compr.el (jka-compr-write-region):
26042         * lisp/net/ange-ftp.el (ange-ftp-write-region):
26043         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
26044         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
26045         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
26046         characters written in addition to file name.
26047         * doc/lispref/files.texi: Added documentation to write-region and
26048         append-to-file describing their output.
26050 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
26052         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
26054         The recent changes to src/casefiddle.c cause build failure as seen
26055         below:
26057             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
26058                 --batch --load loadup bootstrap
26059             [Thread debugging using libthread_db enabled]
26060             Using host libthread_db library "/usr/lib/libthread_db.so.1".
26061             Loading loadup.el (source)...
26062             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
26063                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
26064                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
26065                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
26066                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
26067                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
26068             Loading emacs-lisp/byte-run (source)...
26069             Loading emacs-lisp/backquote (source)...
26070             Loading subr (source)...
26071             Loading version (source)...
26072             Loading widget (source)...
26073             Loading custom (source)...
26074             Loading emacs-lisp/map-ynp (source)...
26075             Loading international/mule (source)...
26076             Loading international/mule-conf (source)...
26078             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
26080             Breakpoint 1, terminate_due_to_signal at emacs.c:363
26081             363   signal (sig, SIG_DFL);
26082             (gdb) bt
26083             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
26084             #1  0x000000000060ec33 in die at alloc.c:7352
26085             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
26086             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
26087             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
26088             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
26089             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
26090             #7  0x00000000006325ac in eval_sub at eval.c:2219
26091             #8  0x0000000000632368 in eval_sub at eval.c:2184
26092             #9  0x000000000063446c in apply_lambda at eval.c:2875
26093             #10 0x00000000006329af in eval_sub at eval.c:2294
26094             #11 0x000000000062d462 in Fprogn at eval.c:449
26095             #12 0x000000000062d4cf in prog_ignore at eval.c:461
26096             #13 0x000000000062f19c in Fwhile at eval.c:982
26097             #14 0x00000000006321f4 in eval_sub at eval.c:2172
26098             #15 0x000000000062d462 in Fprogn at eval.c:449
26099             #16 0x000000000062f0c4 in Flet at eval.c:963
26100             #17 0x00000000006321f4 in eval_sub at eval.c:2172
26101             #18 0x0000000000632963 in eval_sub at eval.c:2290
26102             #19 0x000000000062d462 in Fprogn at eval.c:449
26103             #20 0x000000000062f0c4 in Flet at eval.c:963
26104             #21 0x00000000006321f4 in eval_sub at eval.c:2172
26105             #22 0x0000000000668caa in readevalloop at lread.c:1927
26106             #23 0x0000000000667253 in Fload at lread.c:1332
26107             #24 0x0000000000632683 in eval_sub at eval.c:2233
26108             #25 0x0000000000668caa in readevalloop at lread.c:1927
26109             #26 0x0000000000667253 in Fload at lread.c:1332
26110             #27 0x0000000000632683 in eval_sub at eval.c:2233
26111             #28 0x0000000000631be5 in Feval at eval.c:2041
26112             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
26113             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
26114             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
26115             #32 0x000000000062f51e in internal_catch at eval.c:1091
26116             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
26117             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
26118             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
26119             #36 0x000000000057b55b in main at emacs.c:1687
26121             Lisp Backtrace:
26122             "capitalize" (0xffffcf70)
26123             "format" (0xffffd130)
26124             "define-charset" (0xffffd370)
26125             "while" (0xffffd560)
26126             "let" (0xffffd7c0)
26127             "dolist" (0xffffd910)
26128             "let" (0xffffdb70)
26129             "load" (0xffffdfe0)
26130             "load" (0xffffe4a0)
26132         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
26133         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
26134         Qspecial_titlecase.
26135         (prepare_casing_context): Use aforementioned symbols.
26137 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26139         Merge from gnulib
26141         This merges some getopt fixes from Zack Weinberg, and affects only
26142         non-GNUish platforms.  It incorporates:
26143         2017-04-06 getopt-gnu: omit some duplicate code
26144         2017-04-06 getopt-posix: use angle-bracket include
26145         2017-04-06 getopt: annotate files with relationship to glibc
26146         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
26147         2017-04-06 getopt: better handling of ambiguous options
26148         2017-04-06 getopt: refactor long-option handling
26149         2017-04-06 getopt: tidy up _getopt_initialize a bit
26150         2017-04-06 getopt: merge from glibc: repetition reduction
26151         2017-04-06 getopt: clean up error reporting
26152         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
26153         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
26154         2017-04-06 getopt: harmonize comments with glibc
26155         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
26156         2017-04-06 getopt: tabify, in preparation for merge with glibc
26157         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
26158         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
26159         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
26160         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
26161         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
26162         Copy from gnulib.
26163         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
26164         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
26165         New files, taken from gnulib.
26166         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
26167         Regenerate.
26169 2017-04-07  Hong Xu  <hong@topbug.net>
26171         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
26172         doc (Bug#25193).
26174 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
26176         Mention that processes start in default-directory (Bug#18515)
26178         * doc/lispref/processes.texi (Synchronous Processes):
26179         (Asynchronous Processes):
26180         * lisp/subr.el (start-process):
26181         * src/callproc.c (call-process): Mention that the subprocess starts in
26182         `default-directory' when local, suggest `start-file-process' and
26183         `process-file' otherwise.
26185 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
26187         * src/xdisp.c (vmessage, message): Clarify commentary.
26189 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26191         Minor casefiddle.c cleanups
26193         * src/casefiddle.c: Redo recent changes to match GNU style,
26194         and prefer C99-style decls within blocks.
26195         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
26196         we are merely using the Unicode name, and make it a constant
26197         rather than a macro.  All uses changed.
26198         (SMALL_SIGMA): Remove; unused.
26199         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
26200         and make it a constant rather than a macro.  All uses changed.
26201         (do_casify_multibyte_string): Use ‘verify’ rather than an
26202         unportable static_assertion local.
26204 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26206         * lisp/international/README: Update to match current list.
26208 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
26210         Fix 'make clean' in lib subdirectory
26212         * lib/Makefile.in (clean): Remove *-t files.
26213         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
26214         This removes files like lib/getopt.h that should be removed
26215         even if this configuration did not need to build them.
26216         (maintainer-clean): Remove TAGS here, not in distclean,
26217         to be consistent with ../src/Makefile.in.
26219 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
26221         Add new Tramp syntax
26223         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
26225         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
26226         Add :set function.
26227         (tramp-prefix-port-format): Simplify.
26228         (tramp-file-name-regexp-separate): Remove.
26229         (tramp-initial-file-name-regexp)
26230         (tramp-completion-file-name-regexp-old-style)
26231         (tramp-initial-completion-file-name-regexp): New defconst.
26232         (tramp-prefix-format, tramp-prefix-regexp)
26233         (tramp-method-regexp, tramp-postfix-method-format)
26234         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
26235         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
26236         (tramp-postfix-ipv6-regexp)
26237         (tramp-postfix-host-format, tramp-postfix-host-regexp)
26238         (tramp-remote-file-name-spec-regexp)
26239         (tramp-file-name-structure, tramp-file-name-regexp)
26240         (tramp-completion-file-name-regexp)
26241         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
26242         (tramp-tramp-file-p, tramp-find-method)
26243         (tramp-dissect-file-name, tramp-make-tramp-file-name)
26244         (tramp-completion-make-tramp-file-name)
26245         (tramp-rfn-eshadow-update-overlay)
26246         (tramp-register-autoload-file-name-handlers)
26247         (tramp-register-file-name-handlers)
26248         (tramp-unload-file-name-handlers)
26249         (tramp-completion-handle-file-name-all-completions)
26250         (tramp-completion-dissect-file-name, tramp-clear-passwd):
26251         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
26252         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
26253         (tramp-compute-multi-hops): Use them.
26255 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26257         Implement special sigma casing rule  (bug#24603)
26259         In Greek, a sigma character has two lower case forms which depend on
26260         their position in the word.  Implement logic determining it.
26262         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
26263         assume inword is true when flag is CASE_UP and false when flag is
26264         CASE_DOWN.  For final sigma detection we need this information tracked
26265         reliably;.
26266         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
26267         Unicode code point of different forms of sigma letter.
26268         (case_character): Implement support for final sigma casing.
26269         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
26270         changes to case_character.
26272         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
26273         cases for final sigma.
26275 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26277         Support casing characters which map into multiple code points  (bug#24603)
26279         Implement unconditional special casing rules defined in Unicode standard.
26281         Among other things, they deal with cases when a single code point is
26282         replaced by multiple ones because single character does not exist (e.g.
26283         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
26284         into SS).
26286         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
26287         standard distribution.
26288         * admin/unidata/README: Mention SpecialCasing.txt.
26290         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
26291         unidata-gen-table-special-casing--do-load): New functions generating
26292         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
26293         character Unicode properties built from the SpecialCasing.txt Unicode
26294         data file.
26296         * src/casefiddle.c (struct casing_str_buf): New structure for
26297         representing short strings used to handle one-to-many character
26298         mappings.
26300         (case_character_imlp): New function which can handle one-to-many
26301         character mappings.
26302         (case_character, case_single_character): Wrappers for the above
26303         functions.  The former may map one character to multiple (or no)
26304         code points while the latter does what the former used to do (i.e.
26305         handles one-to-one mappings only).
26307         (do_casify_natnum, do_casify_unibyte_string,
26308         do_casify_unibyte_region): Use case_single_character.
26309         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
26310         features of case_character.
26311         * (do_casify_region): Updated to reflact do_casify_multibyte_string
26312         changes.
26314         (casify_word): Handle situation when one character-length of a word
26315         can change affecting where end of the word is.
26317         (upcase, capitalize, upcase-initials): Update documentation to mention
26318         limitations when working on characters.
26320         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
26321         Add test cases for the newly introduced character properties.
26322         (casefiddle-tests-casing): Update test cases which are now passing.
26324         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
26325         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
26326         and ‘downcase’.
26327         (char-fold--test-match-exactly): Use the new functions.  This is needed
26328         because otherwise fi and similar characters are turned into their multi-
26329         -character representation.
26331         * doc/lispref/strings.texi: Describe issue with casing characters versus
26332         strings.
26333         * doc/lispref/nonascii.texi: Describe the new character properties.
26335 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26337         Split up casify_region function  (bug#24603)
26339         No functional changes at this time but splitting casify_region into
26340         a function dealing with multibyte and another dealing with unibyte
26341         buffers will make future code changes slightly easier.
26343         * src/casefiddle.c (casify_region): Move most of the code into two
26344         new functions:
26345         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
26347 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26349         Add support for title-casing letters  (bug#24603)
26351         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
26352         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
26353         property table if capitalization has been requested.
26354         (case_character): Make use of the titlecase_char_table to title-case
26355         initial characters when capitalising.
26357         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
26358         casefiddle-tests-casing): Update test cases which are now passing.
26360 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26362         Introduce case_character function
26364         Move single-character casing logic into a separate function so that
26365         it is collected in a single place.  This will make future changes to
26366         the logic easier.  This commit introduces no functionality changes.
26368         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
26369         structure for saving casing context and function to initialize it.
26370         (case_character): New function which cases character base on provided
26371         context.
26372         (do_casify_integer, do_casify_multibyte_string,
26373         do_casify_unibyte_string, casify_object, casify_region): Convert to
26374         use casing_context and case_character.
26376 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
26378         Split casify_object into multiple functions
26380         casify_object had three major cases to cover and those were mostly
26381         independent of each other.  Move those branches to separate function
26382         so it’s easier to comprehend each individual case.
26384         While at it, use somewhat more descriptive ch and cased variable names
26385         rather than c and c1.
26387         This commit introduces no functional changes.
26389         * src/casefiddle.c (casify_object): Split into…
26390         (do_casify_integer, do_casify_multibyte_string,
26391         do_casify_unibyte_string): …new functions.
26393 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
26395         Update documentation for type semantics of records.
26397         * doc/lispref/objects.texi (Record Type): improve description of what
26398         `type-of' returns for records.
26399         (Type Descriptors): new section.
26400         * doc/lispref/elisp.texi: reference it.
26401         * doc/lispref/records.texi (Records): reference it.  Document
26402         behavior when type slot is a record.
26404         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
26406 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26408         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
26410 2017-04-06  Tom Tromey  <tom@tromey.com>
26412         require cl-lib to fix fallout from mhtml series
26414         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
26415         lisp/emulation/viper.el: Require cl-lib.
26417 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
26419         In CANNOT_DUMP builds, allow editing of files named "dump".
26421         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
26422         calling dump-emacs only if dump-emacs is defined; otherwise, don't
26423         treat those command-line argument specially.
26425 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
26427         In CANNOT_DUMP builds, don't prepare for unexec.
26429         Having a command-line argument of "dump" or "bootstrap" would trigger
26430         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
26431         we should get signal handlers installed regardless of whatever funny
26432         file names we decide to edit.
26434         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
26435         alterations to initialization that prepares the process for unexec.
26437 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
26439         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
26441         During a bootstrap, loading rmail.el invokes movemail to determine its
26442         flavor, but call-process doesn't work if exec-path is nil.
26444         * lisp/loadup.el: Only clear exec-path if dumping.
26446 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
26448         Fix CANNOT_DUMP build on Darwin/macOS.
26450         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
26451         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
26452         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
26454 2017-04-05  Tom Tromey  <tom@tromey.com>
26456         add two more mhtml tests
26458         * test/manual/indent/html-multi-2.html: New file.
26459         * test/manual/indent/html-multi-3.html: New file.
26461 2017-04-05  Tom Tromey  <tom@tromey.com>
26463         enable mhtml-mode by default
26465         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
26466         html-mode.
26467         (magic-fallback-mode-alist): Likewise.
26468         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
26470 2017-04-05  Tom Tromey  <tom@tromey.com>
26472         add mhtml-mode.el
26474         * etc/NEWS: Update.
26475         * lisp/textmodes/mhtml-mode.el: New file.
26476         * test/manual/indent/html-multi.html: New file.
26477         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
26478         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
26480 2017-04-05  Tom Tromey  <tom@tromey.com>
26482         change sgml-mode to help multi-html mode
26484         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
26485         defconst.
26486         (sgml-syntax-propertize): Use it.
26487         (sgml--find-<>-backward): New function.
26488         (sgml-parse-tag-backward): Use it.
26490 2017-04-05  Tom Tromey  <tom@tromey.com>
26492         make js.el respect prog-first-column
26494         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
26496 2017-04-05  Tom Tromey  <tom@tromey.com>
26498         make smie.el respect prog-first-column
26500         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
26502 2017-04-05  Tom Tromey  <tom@tromey.com>
26504         change viper to use derived-mode-p
26506         * lisp/subr.el (provided-mode-derived-p): New function.
26507         (derived-mode-p): Use it.
26508         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
26509         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
26510         (set-viper-state-in-major-mode): Use derived-mode-p.
26512 2017-04-05  Tom Tromey  <tom@tromey.com>
26514         change align to use derived-mode-p
26516         * lisp/align.el (align-region): Use derived-mode-p.
26518 2017-04-05  Tom Tromey  <tom@tromey.com>
26520         change org to use derived-mode-p
26522         * lisp/org/org-list.el (org-list-insert-radio-list): Use
26523         derived-mode-p.
26524         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
26525         derived-mode-p.
26527 2017-04-05  Tom Tromey  <tom@tromey.com>
26529         change semantic to use derived-mode-p
26531         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
26533 2017-04-05  Tom Tromey  <tom@tromey.com>
26535         change calc to use derived-mode-p
26537         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
26538         (calc-embedded-make-info): Use derived-mode-p.
26540 2017-04-05  Tom Tromey  <tom@tromey.com>
26542         change auto-insert to use derived-mode-p
26544         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
26546 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
26548         * lisp/info.el (Info-search): Fix typo in April 1 change.
26550 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
26552         Minor cleanups related to type-of
26554         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
26555         * src/data.c (syms_of_data):
26556         * src/frame.c (syms_of_frame): Put all the primitive type names
26557         together, under the "Types that type-of returns" comment.
26559 2017-04-05  Glenn Morris  <rgm@gnu.org>
26561         * doc/lispref/package.texi (Package Archives): Mention https.
26563 2017-04-05  Glenn Morris  <rgm@gnu.org>
26565         Advertise https for homepage of gnu.org packages
26567         * lisp/emacs-lisp/package.el (describe-package-1):
26568         Use https, if supported, for the homepage of packages on gnu.org.
26570 2017-04-05  Glenn Morris  <rgm@gnu.org>
26572         Default to https for elpa.gnu.org if gnutls available
26574         * lisp/emacs-lisp/package.el (package-archives):
26575         Default to https for elpa.gnu.org if gnutls is available.  Ref:
26576         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
26578 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
26580         Minor simplifications and doc for records
26582         * doc/lispref/records.texi (Records): Mention size limit.
26583         * etc/NEWS: Mention records.
26584         * src/alloc.c (allocate_pseudovector, allocate_record):
26585         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
26586         (allocate_record): Check arg range here, not in callers, as this
26587         simplifies the code.  Use allocate_vectorlike instead of
26588         allocate_vector, to avoid duplicate runtime tests.
26589         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
26590         the doc string, as it is not visible to the user.
26591         (Fmake_record, record, Fcopy_record):
26592         Prefer make_lisp_ptr to XSETVECTOR.
26593         (record): Broaden memcpy to copy the type, too.
26595 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
26597         Fix recent changes in record data type
26599         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
26600         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
26602 2017-04-04  Philipp Stephani  <phst@google.com>
26604         Make subprocess functions resolve the default directory
26606         `call-process' doesn't respect file name handlers in
26607         `default-directory', so `file-name-non-special' has to resolve them
26608         for `process-file', `start-file-process', and
26609         `shell-command' (Bug#25949).
26611         * lisp/files.el (file-name-non-special): Also resolve default
26612         directory for 'process-file', 'start-file-process', and
26613         'shell-command'.
26614         * test/lisp/files-tests.el
26615         (files-tests--file-name-non-special--subprocess): Add unit test.
26617 2017-04-04  Philipp Stephani  <phst@google.com>
26619         Make ediff handle remote and quoted file names
26621         Quoted file names need to be unquoted before passed to
26622         subprocesses (Bug#25950).
26624         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
26625         file names.
26626         * test/lisp/vc/ediff-diff-tests.el
26627         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
26629 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26631         Backward compatibility with pre-existing struct instances.
26633         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
26634         (cl-old-struct-compat-mode): New minor mode.
26636         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
26637         cl-struct-define to signal use of record objects.
26639         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
26640         cl-struct-define): Enable legacy defstruct compatibility.
26642         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
26643         old-struct): New tests.
26645         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
26646         `old-struct-compat'.
26648 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26650         Make the URL library use records.
26652         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
26653         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
26654         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
26656         * lisp/url/url-http.el (url-http): Check for type `url' instead of
26657         `vector'.
26659 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26661         Make EIEIO use records.
26663         * lisp/emacs-lisp/eieio-compat.el
26664         (eieio--generic-static-object-generalizer): Adjust to new tags.
26666         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
26667         directly as tag.
26668         (eieio--object-class): Adjust to new tag representation.
26669         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
26670         (eieio-defclass-internal): Use `make-record'.
26671         (eieio--generic-generalizer): Adjust generalizer code accordingly.
26673         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
26675         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
26676         Add `recordp'.
26678         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
26680 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26682         Make cl-defstruct use records.
26684         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
26685         (cl--describe-class-slots): Use the new `type-of'.
26687         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
26688         (cl--generic-struct-specializers): Adjust to new tag.
26690         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
26691         Use the type symbol as the tag.  Use copy-record to copy structs.
26692         (cl--defstruct-predicate): New function.
26693         (cl--pcase-mutually-exclusive-p): Use it.
26694         (cl-struct-sequence-type): Can now return `record'.
26696         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
26697         code to new format.
26698         (cl--struct-register-child): Work with records.
26699         (cl-struct-define): Don't touch the tag's symbol-value and
26700         symbol-function slots when we use the type as tag.
26702         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
26704         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
26705         New test.
26707         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
26709 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26711         Add record objects with user-defined types.
26713         * src/alloc.c (allocate_record): New function.
26714         (Fmake_record, Frecord, Fcopy_record): New functions.
26715         (syms_of_alloc): defsubr them.
26716         (purecopy): Work with records.
26718         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
26719         name if record's type holds class.
26720         (Frecordp): New function.
26721         (syms_of_data): defsubr it.  Define `Qrecordp'.
26722         (Faref, Faset): Work with records.
26724         * src/fns.c (Flength): Work with records.
26726         * src/lisp.h (prec_type): Add PVEC_RECORD.
26727         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
26729         * src/lread.c (read1): Add syntax for records.
26731         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
26732         (print_object): Add syntax for records.
26734         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
26735         New test.
26737         * test/src/alloc-tests.el (record-1, record-2, record-3):
26738         New tests.
26740         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
26741         doc/lispref/records.texi: Add documentation for records.
26743 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
26745         Fix a test in python-test.el
26747         Fix a test that breaks the test suite when it is run within a
26748         virtual environment.
26749         See following link for details:
26750         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
26751         * test/lisp/progmodes/python-tests.el
26752         (python-shell-calculate-process-environment-7): Bind
26753         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
26754         bind it to '/env'.
26756 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
26758         Throw a `search-failed' derived error in Info search
26760         The original fix for Bug#6106 switched from signaling `search-failed'
26761         to `user-error'.  However, this breaks incremental searching over
26762         multiple nodes because the isearch code doesn't expect a `user-error'.
26764         * src/search.c (syms_of_search): New error, `user-search-failed',
26765         with `user-error' and `search-failed' as parents.
26766         * doc/lispref/errors.texi (Standard Errors): Document it.
26767         * etc/NEWS: Announce it.
26768         * lisp/info.el (Info-search): Use it instead of `user-error' so that
26769         isearch will handle failed searches correctly.
26771 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
26773         Add Tramp test
26775         * doc/misc/tramp.texi (Remote processes): Fix typo.
26777         * lisp/shell.el (shell): Fix typo.
26779         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
26781         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
26782         New test.
26783         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
26784         (tramp-test31-vc-registered)
26785         (tramp-test32-make-auto-save-file-name)
26786         (tramp-test33-make-nearby-temp-file)
26787         (tramp-test34-special-characters)
26788         (tramp-test34-special-characters-with-stat)
26789         (tramp-test34-special-characters-with-perl)
26790         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
26791         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
26792         (tramp-test35-utf8-with-ls)
26793         (tramp-test36-asynchronous-requests)
26794         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
26796 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
26798         * lisp/ses.el: Silence byte-compiler warnings.
26800         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
26801         byte-compiler warnings.
26803 2017-04-02  Glenn Morris  <rgm@gnu.org>
26805         Belated fixes for admin.el's M-x make-manuals-dist
26807         * admin/admin.el (make-manuals-dist-output-variables): Additions.
26808         (make-manuals-dist--1): Also copy docstyle.texi.
26810 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
26812         Fix bugs in simplified test dependencies
26814         Problem reported by Glenn Morris in:
26815         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
26816         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
26817         (TESTS): Omit unnecessary patsubst.
26818         (test_template): Redo dependency heuristic, hopefully
26819         correctly this time.  It's the .log file that depends,
26820         not the phony test target.  Declare the phonies to be PHONY.
26821         Resurrect the exception for the *-tests subdirectory.
26822         Adjust to the fact that leading "./" is omitted now.
26824 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
26826         Fix typo in docstring
26828         * lisp/help.el: Fix typo.
26830 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
26832         Apply connecion-local variables for shells
26834         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
26835         variables.  Don't mention Emacs 23 anymore.
26836         (Frequently Asked Questions): Precise Emacs and MS Windows version.
26838         * lisp/files-x.el (connection-local-normalize-criteria):
26839         Suppress nil properties.
26840         (connection-local-set-profiles, with-connection-local-profiles):
26841         Adapt docstring.
26843         * lisp/shell.el (shell): Apply connecion-local variables.
26845 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
26847         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
26849         This prevents variables in signatures such as `sub add ($a, $b)' from
26850         being treated as punctuation.
26851         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
26852         Strictly match only prototype characters as punctuation.  (Bug#26037)
26854 2017-04-01  Tom Tromey  <tom@tromey.com>
26856         fix two js-mode syntax propertization bugs
26858         Bug#26070:
26859         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
26860         zero-or-one to regular expression.
26861         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
26862         literal up to END.
26863         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
26864         (js-mode-propertize-bug-2): New tests.
26866 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
26868         Simplify test dependency generation
26870         Generate default dependencies by using GNU extensions to ‘make’
26871         rather than via a hacky auxiliary program and script.
26872         * .gitignore: Remove test/make-test-deps.mk.
26873         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
26874         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
26875         (test_template): Infer dependency directly instead of via
26876         make-test-deps.mk.
26877         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
26878         (clean): No need to clean make-test-deps.mk.
26879         (make-test-deps.mk): Remove rule.
26880         * test/make-test-deps.emacs-lisp: Remove.
26882 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
26884         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
26886         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
26887         test suite.
26888         (cl-lib-symbol-macrolet-2): New test.
26890 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26892         Use only posix options in a ediff-ptch test
26894         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26895         Use just "-b" patch option.  Don't assume a particular suffix for
26896         the backup files.
26898 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
26900         Initial implementation of HTTP Digest qop for url
26902         This also refactors digest authentication functions in url-auth.el.
26904         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
26905         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
26906         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
26907         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
26908         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
26909         to simplify code and aid in unit testing.
26910         (url-digest-auth-build-response): Hook up new functionality, or fall
26911         back to previous.
26912         (url-digest-auth-make-request-digest-qop):
26913         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
26914         (url-digest-auth-name-value-string): Add new helper functions.
26915         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
26916         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
26917         (url-auth-test-digest-request-digest): Add a few tests as now more
26918         features are testable via intermediate functions.
26919         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
26920         the new implementation.  Parts of these were accidentally already
26921         merged in the past.
26923 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26925         Tweak ediff-ptch test in previous commit a bit more
26927         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26928         Apply patches without requiring a shell.  Add some comments.
26930 2017-03-31  Glenn Morris  <rgm@gnu.org>
26932         Tweak an ediff-ptch test
26934         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26935         Add skip conditions.  Avoid going through shell where not needed.
26937 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
26939         * lisp/net/tramp-smb.el (tramp-smb-errors):
26941         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
26943 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
26945         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
26947 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26949         dired-mark-suffix: New command
26951         Now dired-mark-extension prepends '.' to extension when not present.
26952         Add command dired-mark-suffix to preserve the previous
26953         behavior (Bug#25942).
26954         * lisp/dired-x.el (dired-mark-suffix): New command;
26955         mark files ending in a given suffix.
26956         (dired--mark-suffix-interactive-spec): New defun.
26957         (dired-mark-extension, dired-mark-suffix): Use it.
26958         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
26959         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
26961 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26963         default-directory: Remark that it must be a directory name
26965         * src/buffer.c (default-directory): Update docstring (Bug#26272).
26967 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26969         Delete confuse statement in manual
26971         * doc/misc/cl.texi (For Clauses): Delete confuse statement
26972         and its example (Bug#23550).
26974 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
26976         Use find -delete if available
26978         This shortens the ‘make’ output and should avoid some
26979         repetitive scanning of directories during a build.
26980         * configure.ac (FIND_DELETE): New var.
26981         * lisp/Makefile.in (compile-always, bootstrap-clean):
26982         * test/Makefile.in (clean, bootstrap-clean): Use it.
26983         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
26985 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
26987         Remove gnus-boundp
26989         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
26990         bound-and-true-p.
26991         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
26993 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
26995         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
26997         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
26998         end of line after deleting horizontal whitespace.
27000 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
27002         * src/inotify.c (add_watch): Add comment.
27004 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
27006         Minor filenotify.el fixes
27008         * lisp/filenotify.el: Require subr-x.
27009         (file-notify-callback): Use equal, not eq.
27011 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
27013         Improve packaging documentation
27015         * doc/lispref/package.texi (Packaging Basics):
27016         * doc/lispref/tips.texi (Library Headers): Clarify some header
27017         formats, relation between file headers and package
27018         attributes (Bug#13281).
27020 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
27022         Fix a small incompatibility in ibuffer
27024         Translate nil values from column functions to the empty string, so that
27025         subsequent calls to string-width don't signal an error (Bug#26317).
27026         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
27027         nil, treat it like the empty string.
27029 2017-03-30  Alan Mackenzie  <acm@muc.de>
27031         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
27033         Also implement the "asymmetric space" rule for fontifying otherwise
27034         ambiguous
27035         declarations/expressions.
27037         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
27038         c-new-BEG or c-new-END when there is no need.
27039         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
27040         space" rule.
27042         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
27043         extracted from c-font-lock-declarations.  Add to this function processing to
27044         make `context' 'decl for lines contained within parens when these are also
27045         declarations.
27046         (c-font-lock-declarations): Call the newly extracted function above in place
27047         of inline code.
27049         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
27050         c-literal-start.
27052         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
27054         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
27055         "asymmetric fontification" rule, including the variable
27056         c-asymmetric-fontification-flag.
27058 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27060         Some inotify cleanup
27062         This catches some problems with integer overflow and races
27063         that I noticed in inotify.c after reviewing the changes
27064         installed to fix Bug#26126.
27065         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
27066         * src/inotify.c (aspect_to_inotifymask):
27067         Check for cycles and for improper lists.
27068         (make_lispy_mask, lispy_mask_match_p): Remove.
27069         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
27070         (inotifyevent_to_event, add_watch):
27071         Don’t assume watch descriptors and cookies fit in fixnums.
27072         (add_watch): Use assoc_no_quit, not Fassoc.
27073         Avoid integer overflow in (very!) long-running processes where
27074         the Emacs watch ID could overflow.  Avoid some duplicate code.
27075         (find_descriptor): New function.
27076         (remove_descriptor): First arg is now the returned value from
27077         find_descriptor, rather than the descriptor.  This way, the
27078         value can be removed without calling Fdelete, which might quit.
27079         Wait until the end (when watch_list is consistent) before signaling
27080         any errors.
27081         (remove_watch, inotify_callback):
27082         Use find_descriptor to avoid the need for Fdelete.
27083         (inotify_callback): Use simpler tests for ioctl failure.
27084         Free temporary buffer if signaled, and put it on the stack if small.
27085         Use ssize_t to index through read results, to avoid a cast.
27086         (valid_watch_descriptor): New function, with a tighter check.
27087         (Finotify_rm_watch, Finotify_valid_p): Use it.
27088         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
27089         of Fassoc.  Do not assume the first assoc succeeds.
27090         * test/src/inotify-tests.el (inotify-valid-p-simple):
27091         Add inotify-valid-p tests, some of which dump core without
27092         the fixes noted above.
27094 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
27096         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
27098 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
27100         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
27102 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27104         Fix assoc_no_quit so that it does not quit
27106         The problem was that it called Fequal, which can quit.
27107         * src/fns.c (enum equal_kind):
27108         New enum, to be used in place of a boolean.
27109         (equal_no_quit): New function.
27110         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
27111         (assoc_no_quit): Use it to avoid quitting, the main point here.
27112         (internal_equal): Generalize bool to enum equal_kind arg, so that
27113         there are now 3 possibilities instead of 2.  Do not signal an
27114         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
27115         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
27116         changed.
27118 2017-03-29  Alan Mackenzie  <acm@muc.de>
27120         Amend gitmerge to recognize the injunction "don't merge".
27122         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
27123         well as "do not".
27125 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
27127         Add one more CSS pseudo-class
27129         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
27130         `focus-within'.
27132 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
27134         Update list of CSS pseudo-classes
27136         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
27137         pseudo-classes.
27139 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
27141         Adjust some search failure errors in info.el
27143         * lisp/info.el (Info-select-node): The search for beginning of node is
27144         an internal detail, and is not normally expected to fail, so it should
27145         not be a user error.
27146         (Info-complete-menu-item): Failing to find a menu indicates the user
27147         searched for a menu when there isn't one, so change to `use-error'.
27149 2017-03-28  Alan Mackenzie  <acm@muc.de>
27151         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
27153 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
27155         Don’t mishandle (format "%i" -1.0)
27157         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
27159 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
27161         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
27163 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
27165         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
27167 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
27169         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
27171         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
27172         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
27173         with (user-error "Search failed: "...).
27175 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
27177         Fix obsolete ‘test/automated’ references
27179         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
27180         (bootstrap-clean, maintainer-clean):
27181         Clean ‘test’, not ‘test/automated’.  Test for existence of
27182         subdirectory only for ‘test’, not for directories that should
27183         always exist.
27184         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
27185         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
27186         * lisp/man.el (Man-parse-man-k):
27187         * lisp/url/url-domsuf.el, make-dist:
27188         * test/file-organization.org:
27189         Fix obsolete references to test/automated.
27191 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
27193         shr-image-fetched: Work for narrowed Gnus article
27195         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
27197         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
27199 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
27201         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
27203 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
27205         Expand manual section on quitting windows
27207         * doc/lispref/windows.texi (Quitting Windows): Provide more
27208           information about the elements of the quit-restore window parameter,
27209           and how they affect the behavior of quit-restore-window.
27211 2017-03-26  Philipp Stephani  <phst@google.com>
27213         Add check for expected backtrace in module calls.
27215         * test/manual/cedet/tests/test.el
27216         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
27217         expected backtrace.
27219 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
27221         Fix redisplay glitches due to recent change in redisplay_internal
27223         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
27224         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
27225         for the problems caused by the original fix.
27227 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
27229         Fix Bug#26258
27231         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
27232         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
27233         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
27234         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
27235         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
27237         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
27238         (tramp-register-autoload-file-name-handlers)
27239         (tramp-register-file-name-handlers): Do not handle
27240         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
27241         the handlers are responsible for.
27242         (tramp-register-foreign-file-name-handler): New defun.
27244 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
27246         Fix docstring of dabbrev-abbrev-char-regexp
27248         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
27249         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
27250         previous character doesn't match, we search backwards for one that
27251         does, not throw an error.  Replace Lisp example with C based one to
27252         make it clear that "symbol" means a sequence of word and symbol
27253         constituent characters, not a Lisp symbol (Bug#358).
27255 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
27257         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
27259 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
27261         Minor fixes for inotify.c and filenotify.el
27263         * lisp/filenotify.el (file-notify--watch-absolute-filename):
27264         Add docstring.
27265         (file-notify-callback): Simplify.
27267         * src/inotify.c (Finotify_add_watch): Adapt docstring.
27269 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
27271         Fix issues regarding inotify file-notification
27273         Remove special code handling the inotify back-end.
27274         * lisp/filenotify.el (file-notify--watch): New struct
27275         representing a file-watch.
27276         (file-notify-descriptors): Use the new struct as hash-value.
27277         (file-notify-handle-event): Check that event is a cons.
27278         (file-notify--rm-descriptor, file-notify--event-watched-file)
27279         (file-notify--event-file-name, file-notify--event-file1-name)
27280         (file-notify-callback, file-notify-add-watch)
27281         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
27282         Remove special code handling inotify descriptors.  Remove code
27283         handling multiple clients per descriptor.
27284         (file-notify--descriptor): Remove unused function.
27286         Let inotify-add-watch return a unique descriptor on every
27287         call, like every other back-end does (Bug#26126).  Prevent
27288         multiple clients from interfering with each other, when
27289         watching a shared descriptor.
27290         * src/inotify.c (watch_list): Extend the format by including a
27291         id and the provided mask.
27292         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
27293         (make_watch_descriptor): Removed.
27294         (make_lispy_mask, lispy_mask_match_p): New functions.
27295         (inotifyevent_to_event): Match event against the mask provided
27296         by the client.
27297         (add_watch, remove_descriptor, remove_watch): New functions
27298         for managing the watch_list.
27299         (inotify_callback): Use the new functions.
27300         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
27301         flags from documentation.  Add check for validity of provided
27302         descriptor.  Use the new functions.  Use the default mask.
27303         (INOTIFY_DEBUG): Add new debug conditional.
27304         (inotify-watch-list, inotify-allocated-p): New debug functions.
27305         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
27307         * test/lisp/filenotify-tests.el:
27308         (file-notify-test02-rm-watch): Remove expected failure for inotify.
27310 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
27312         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
27314 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
27316         Stop edebug getting stuck on backquote (Bug#23651)
27318         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
27319         reading backquote or comma.
27321 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
27323         Expand manual section on quitting windows
27325         * doc/lispref/windows.texi (Quitting Windows): Provide more
27326           information about the elements of the quit-restore window parameter,
27327           and how they affect the behavior of quit-restore-window.
27329 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
27331         Support in ispell.el multiple dictionaries loaded by Hunspell
27333         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
27334         Support Hunspell configurations that load more than one dictionary
27335         by default.  Doc fix.  (Bug#25830)
27337 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
27339         Simplify Tramp autoloading.
27341         * lisp/net/tramp.el (tramp-completion-file-name-handler):
27342         Simplify autoloading.  Give it the `operations' property.
27343         (tramp-completion-handle-expand-file-name): Remove.
27345 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
27347         Fix a segfault due to failure to realize some faces
27349         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
27350         while redisplaying its windows, redisplay all of its windows
27351         again.  (Bug#26097)
27352         (init_iterator): When freeing all realized faces on all frames,
27353         reset the 'face_change' flag of the frame whose window we are
27354         about to iterate.
27356 2017-03-25  Philipp Stephani  <phst@google.com>
27358         Use a named function for 'safe-local-variable
27360         This improves the help screen for `version-control' (Bug#25431).
27362         * lisp/files.el (version-control-safe-local-p): New function.
27363         (version-control): Use it.
27365 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
27367         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
27369 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
27371         Make it easier to abort a series of tests with C-g
27373         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
27374         interactively is true and a test was aborted then ask if the remaining
27375         tests should be aborted too.
27376         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
27377         interactively arg.
27379 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
27381         Don’t require chown/chgrp for game installation
27383         Problem reported by Joseph Mingrone in:
27384         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
27385         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
27386         chgrp fails with update-game-score and the game directory.
27387         Instead, expect the installer to fix this up afterwards.
27389 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
27391         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
27393         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
27394         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
27396 2017-03-23  Philipp Stephani  <phst@google.com>
27398         Protect against an infloop in python-mode
27400         There appears to be an edge case caused by using `syntax-ppss' in a
27401         narrowed buffer during JIT lock inside of Python triple-quote strings.
27402         Unfortunately it is impossible to reproduce without manually
27403         destroying the syntactic information in the Python buffer, but it has
27404         been observed in practice.  In that case it can happen that the syntax
27405         caches get sufficiently out of whack so that there appear to be
27406         overlapping strings in the buffer.  As Python has no nested strings,
27407         this situation is impossible and leads to an infloop in
27408         `python-nav-end-of-statement'.  Protect against this by checking
27409         whether the search for the end of the current string makes progress.
27411         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
27412         against infloop.
27413         * test/lisp/progmodes/python-tests.el
27414         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
27416 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
27418         * doc/lispref/os.texi (File Notifications):
27420         Strengthen the recommendation to use filenotify.el.
27422 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
27424         Merge from gnulib
27426         This incorporates:
27427         2017-03-22 getopt: merge from glibc
27428         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
27429         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
27430         * lib/gnulib.mk.in: Regenerate.
27432 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
27434         Use lexical-bind in Tramp
27436         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
27438         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
27439         rather than `add-to-list'.
27440         (tramp-adb-get-device): Remove unused variable.
27442         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
27443         variable.
27445         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
27446         (tramp-find-file-name-coding-system-alist): Use `push' rather
27447         than `add-to-list'.
27449         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
27450         Require 'dired.  Move declarations up.
27451         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
27452         and `temporary-file-directory' calls with `with-no-warnings'.
27453         (tramp-test35-asynchronous-requests): Mark unused variable.
27455 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
27456             Noam Postavsky  <npostavs@gmail.com>
27458         Do not include comment start chars in ffap string
27460         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
27461         ensure that the returned string does not contain the comment start
27462         characters (especially for major modes that have '//' as comment start
27463         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
27464         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
27465         C-f" on a "//foo" comment will initiate an attempt to access a path
27466         "//foo" (Bug#24057).
27468 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
27470         c:/Temp/gtk-window-move/ChangeLog.txt
27472 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
27474         Fix filenotify.el issue for kqueue
27476         * lisp/filenotify.el (file-notify-add-watch): Use directory
27477         for remote file name handlers.
27479         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
27480         Create/delete temporary file only for "kqueue".
27481         (file-notify-test02-rm-watch): Create/delete temporary files.
27483 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
27485         Extend `file-notify-test02-rm-watch'
27487         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
27488         Expect it failed for inotify.  Divide tests into different
27489         `unwind-protect' clauses.  Check, that removing watch
27490         descriptors out of order do not harm.  (Bug#26126)
27492 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
27494         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
27496 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
27498         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
27500 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27502         Improve configure --with-pop etc. diagnostics
27504         * configure.ac: Improve diagnostics re --with-pop and
27505         --with-mailutils (Bug#26102).
27507 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
27509         Revert "Make --without-pop the default."
27511         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
27513 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27515         Don’t remove dependency files when configuring
27517         Problem reported by Tom Tromey in:
27518         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
27519         * configure.ac: Don’t remove */*.o and */deps/* when
27520         --enable-autodepend is in effect.
27522 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27524         Make --without-pop the default.
27526         Suggested by Angelo Graziosi in:
27527         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
27528         * configure.ac: Change the default from --with-pop to
27529         --without-pop.  Adjust diagnostics to match.
27531 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27533         Streamline dependency-file generation
27535         * configure.ac (AUTODEPEND_PARENTS): New var.
27536         mkdir the dependency directories here, to simplify ‘make’.
27537         Remove dependency files just before outputting Makefiles, so that
27538         they are preserved if ‘configure’ exits early due to some other problem.
27539         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
27540         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
27541         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
27542         number of processes spun off by ‘make’.
27543         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
27544         (distclean): Remove $(DEPDIR) itself.
27545         * lwlib/Makefile.in (all): Move to front, so that depdir includes
27546         do not alter default action.
27548 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27550         Port and simplify example sh script
27552         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
27553         don’t use ‘tail -1’, which is not portable.
27555 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
27557         Narrow scope of modification hook renabling in org-src fontification
27559         Modification hooks should be enabled while modifying text in the
27560         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
27561         org-src fontify buffers" the hooks were enabled also for modifications
27562         to the original org buffer.  This causes fontification errors when
27563         combined with certain packages, as reported in
27564         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
27566         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
27567         of inhibit-modification-hooks let-binding.
27569 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
27571         epatch: Save right backups in Git multipatches
27573         Multipatches on N Git files save wrong backups for
27574         N-1 files; only the last one has a correct backup (Bug#26084).
27575         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
27576         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
27577         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
27578         Rename from ibuffer-test-bug25010.
27579         (ediff-ptch-test-bug26084): New test.
27581 2017-03-21  Michael R. Mauger  <michael@mauger.com>
27583             * lisp/progmodes/sql.el: Version 3.6
27585             (sql-login-params): Added :must-match for completition of
27586             `server' and `database' login parameters.
27587             (sql-sqlite-login-params, sql-postgres-login-params): Set
27588             :must-match to `confirm'.
27589             (sql-get-login-ext): Use :must-match value to control
27590             `read-file-name' or `completing-read'.
27591             (sql-connect): Added optional BUF-NAME parameter; Reworked
27592             connection variable processing; Pass buffer name to
27593             `sql-product-interactive'.
27594             (sql-product-interactive): Pass buffer name along.
27595             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
27596             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
27597             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
27598             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
27599             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
27600             (sql-comint-vertica): Add optional BUF-NAME, pass to
27601             `sql-comint'.
27602             (sql-oracle--list-oracle-name): New function.
27603             (sql-oracle-list-all): Use it.
27604             (sql-oracle-completion-object): Enhanced.
27606 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
27608         Solve ses-recalculate-cell updating only current line bug.
27610         * lisp/ses.el (ses-recalculate-cell): Add optional argument
27611         ses--curcell to avoid overwriting ses--curcell when function is
27612         called from ses-recalculate-all.  Update docstring accordingly.
27613         (ses-recalculate-all): Call ses-recalculate-cell with argument
27614         ses--curcell to avoid its overwriting.
27616 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
27618         Fix problem with out-of-date dependencies
27620         Problem reported by Robert Marshall in:
27621         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
27622         Although this problem has been with us for a while, the recent
27623         change from Automake to GNU Make exposed it again.
27624         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
27625         leftover dependency and object files, since the previous sources'
27626         dependencies may disagree with the current ones.  Reconfiguring
27627         typically needs to force a rebuild anyway.
27629 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27631         Simpler filter implementation
27633         * lisp/play/dunnet.el (dun-endgame-question): Get or set
27634         dun-endgame-questions one time only.  Use dolist and an index to
27635         prune the list.
27637 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27639         * lisp/button.el (forward-button): Use user-error instead.
27641 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27643         Merge from gnulib
27645         This gets Emacs working again with HP-UX Itanium cc.
27646         It incorporates:
27647         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
27648         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
27649         2017-03-17 stat-time, timespec: Support header files in C++ mode
27650         2017-03-17 stdalign: Make it work with HP-UX cc
27651         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
27652         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
27653         2017-03-14 gnulib-tool: don't produce tests with only snippets
27654         2017-03-14 limits-h: Make it work with HP-UX cc.
27655         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
27656         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27657         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
27658         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
27659         Copy from gnulib.
27661 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27663         * ChangeLog.2: Merge from emacs-25.
27665 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27667         Fixups after merge from emacs-25
27669         * etc/NEWS: Remove stray entry.
27670         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
27671         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
27672         Make it nondecreasing.
27674 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27676         Merge from origin/emacs-25
27678         d71e071 Improve documentation of interactive "r".
27680 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27682         Merge from origin/emacs-25
27684         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
27685         1925dd9 Fix duplicate wording in Emacs manual
27686         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
27687         2d671fd Fix wording in Emacs manual
27688         a8766a2 Document how to customize input methods
27689         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
27690         aceac95 Fix warning message about native completion (Bug#25984)
27691         a314c1f Clarify documentation of 'raise' and 'height' display specs
27692         f366f6e Mention problems with GPaste in PROBLEMS
27693         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
27694         6406618 Fix doc strings in info.el
27695         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
27696         eed9677 Fix doc string of 'posn-at-point'
27697         0d5957e Documentation fix in elisp reference manual
27699 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27701         Merge from origin/emacs-25
27703         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
27704         2b774fa Mention "editor" in Emacs man page header
27705         ae60d0c Document problems with nerd-fonts
27706         2fdb5a9 ; Details about pinning Emacs to w32 task bar
27707         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
27708         4c51ef4 Clarify what is the "cursor"
27709         8303c32 ; * etc/NEWS: Copyedits.
27710         3f7493e ; Fix a typo in comment
27711         c54cf8d Improve commentary in lisp.h
27712         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
27713         0ba9932 Disable native completion for ipython (Bug#25067)
27714         38fc456 Fix a typo in ada-mode manual
27715         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
27716         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
27718         # Conflicts:
27719         #       etc/NEWS
27720         #       etc/PROBLEMS
27722 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27724         Merge from origin/emacs-25
27726         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
27728 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27730         Merge from origin/emacs-25
27732         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
27734 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27736         Merge from origin/emacs-25
27738         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
27739         7e02a47 Index byte-compile-debug
27740         7c1e598 Document `byte-compile-debug' in the ELisp manual
27741         4d81eb4 Document variable `byte-compile-debug'
27742         72ef710 Fix call to debugger on assertion failure
27743         ae8264c Call modification hooks in org-src fontify buffers
27744         b3139da ; Fix last change in doc/lispref/strings.texi
27745         c331f39 Improve documentation of 'format' conversions
27746         9f52f67 Remove stale functions from ert manual
27747         c416b14 Fix a typo in Eshell manual
27748         06695a0 ; Fix a typo in ediff-merg.el
27749         954e9e9 Improve documentation of hooks related to saving buffers
27750         9fcab85 Improve documentation of auto-save-visited-file-name
27751         2236c53 fix typo in mailcap-mime-extensions
27752         85a3e4e Fix typos in flymake.el
27753         a1ef10e More NEWS checking for admin.el's set-version
27755         # Conflicts:
27756         #       lisp/emacs-lisp/bytecomp.el
27758 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27760         Merge from origin/emacs-25
27762         5569e64 ; Spelling fixes
27763         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
27764         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
27765         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
27766         42eae54 Improve documentation of dabbrevs
27767         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
27768         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
27770         # Conflicts:
27771         #       lisp/textmodes/rst.el
27773 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27775         Merge from origin/emacs-25
27777         0e35405 Improve documentation of coding-systems
27778         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
27779         16fb50d Fix an error message in python.el
27780         a2a2073 Clarify major mode switching
27781         fc38671 Add helpful comment to compile-command's docstring
27782         ee65d85 Fix ':version' of 'select-enable-primary'
27784 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
27786         Fix bug in generator function with pcase (Bug#26068)
27788         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
27789         to symbol-name.
27791 2017-03-19  Alan Mackenzie  <acm@muc.de>
27793         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
27795         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
27796         invocation of c-on-identifier with a check we're not at the _end_ of an
27797         identifier.
27799         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
27800         perl versions of texi2dvi haven't implemented it.
27801         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
27802         in Pike Mode.
27803         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
27804         (FAQ): Add a question about "excessive" indentation of the contents of a C++
27805         lambda function, and how to get rid of it.
27807 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27809         Remove unused vars in cl-extra.el and tramp.el.
27811         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
27813         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
27814         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
27815         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
27817 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27819         Improve describe-symbol's layout of slots when describing types
27821         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
27822         (cl--describe-class-slots): Use it.
27824 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
27826         Fix Bug#26156
27828         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
27829         <expand-file-name>: Remove handler.  (Bug#26156)
27831 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
27833         * lisp/obarray.el (obarray-size): Avoid compiler warning.
27835 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
27837         Fix last change in lib/Makefile.in
27839         * lib/Makefile.in (srcdir): Define, as including
27840         $(srcdir)/../nt/gnulib-cfg.mk needs that.
27842 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27844         * configure.ac: Fix typo in diagnostic.
27846 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27848         Port out-of-source builds to windows-nt
27850         Problem reported by Angelo Graziosi in:
27851         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
27852         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
27853         to handle out-of-source builds if windows-nt.
27855 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27857         MS-Windows followup for switch from Automake
27859         * nt/INSTALL:
27860         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
27862 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27864         Improve documentation of interactive "r".
27866         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
27867         must be set for "r" to work.
27869 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27871         Fixups for GNU Make switchover
27873         This fixes some minor problems introduced in the recent switch to GNU
27874         Make, discovered by further testing.  Without some of these changes
27875         'make -j' would sometimes have race conditions caused by missing
27876         dependencies.  (Bug#26100)
27877         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
27878         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
27879         src/config.in, since the former's timestamp now represents
27880         the latter's.
27881         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
27882         with other autogen.sh invocations.
27883         ($(srcdir)/src/stamp-h.in):
27884         Remove rule, as this file is no longer created.
27885         * Makefile.in (top_distclean):
27886         * src/Makefile.in (bootstrap-clean):
27887         No need to remove stamp-h1, as that was an Automake byproduct
27888         and Automake is no longer in use.
27889         * lib/Makefile.in, src/Makefile.in:
27890         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
27891         (../config.status, Makefile): Simplify by limiting dependencies
27892         to files we care about and files in the repository, and by
27893         using just one file to represent the timestamps on multiple
27894         targets updated by the same rule.
27895         * autogen.sh: Do not create or use src/stamp-h.in.
27896         Instead, have 'find' test the two output files directly.
27898 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27900         Switch from Automake to GNU Make
27902         Emacs assumes GNU Make, and GNU Make has much of the functionality of
27903         Automake built-in.  The Emacs build process uses Automake primarily
27904         because Emacs uses some Gnulib code and Gnulib formerly required
27905         Automake.  Now that Gnulib no longer requires Automake, Emacs can
27906         stop using Automake and this should simplify Emacs maintenance
27907         in the future (Bug#26100).  Although this patch may look long, most of
27908         it is generated automatically: the changes to build-aux/config.guess,
27909         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
27910         all done by admin/merge-gnulib.
27911         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
27912         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
27913         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
27914         as they are no longer built by autogen.sh.
27915         Add lib/gnulib.mk, as it is now built by 'configure'.
27916         Remove nt/gnulib.mk, as it is no longer built by 'make'.
27917         * INSTALL.REPO, README, admin/make-tarball.txt:
27918         Remove mention of Automake.
27919         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
27920         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
27921         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
27922         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
27923         Remove.
27924         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
27925         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
27926         ($(srcdir)/src/config.in):
27927         Use autogen.sh instead of doing it by hand.
27928         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
27929         New vars, to simplify processing of avoided modules.
27930         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
27931         Add --gnu-make, and change makefile name to gnulib.mk.in.
27932         Copy config.guess, config.sub, and install-sh too, since
27933         Automake no longer does that for us.
27934         * admin/notes/copyright:
27935         * admin/update_autogen (genfiles):
27936         Update list of files.
27937         Remove hack for nt/gnulib.mk, a file that is no longer needed.
27938         * autogen.sh (progs): Remove Automake.
27939         (automake_min): Remove.
27940         Build aclocal.m4 so that autoreconf need not use aclocal.
27941         * build-aux/config.guess, build-aux/config.sub:
27942         * build-aux/install-sh:
27943         New files, copied from Gnulib.  These are now updated by
27944         admin/merge-gnulib instead by autogen.sh.
27945         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
27946         Remove.
27947         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
27948         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
27949         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
27950         (--disable-silent-rules): New option, since Automake no longer
27951         does this for us.
27952         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
27953         with AM_SUBST_NOTMAKE.
27954         (AC_PROG_INSTALL): Add call.
27955         (MAKEINFO): Do not bother with the 'missing' program.
27956         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
27957         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
27958         (SUBDIR_MAKEFILES): Remove duplication.
27959         * lib/Makefile.am: Remove, replacing with:
27960         * lib/Makefile.in: New file, with the old Makefile.am contents
27961         and with the following changes:
27962         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
27963         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
27964         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
27965         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
27966         Remove.
27967         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
27968         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
27969         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
27970         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
27971         New macros and rules, since Automake no longer does them.
27972         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
27973         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
27974         Include dependency files if AUTO_DEPEND.
27975         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
27976         New macros.
27977         (bootstrap-clean): Depend on distclean, not maintainer-clean,
27978         and remove gnulib.mk.
27979         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
27980         New macros and rules, copied from ../Makefile.in.
27981         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
27982         (.c.o, e-%.o): New generic rules.
27983         * lib/gnulib.mk: Remove.
27984         * lib/gnulib.mk.in: New file, which is built by autogen.sh
27985         and contains much of what used to be in lib/gnulib.mk.
27986         * m4/gnulib-common.m4: Copy from gnulib.
27987         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
27988         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
27989         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
27990         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
27991         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
27992         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
27993         * nt/gnulib-cfg.mk: New file, which supersedes ...
27994         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
27995         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
27996         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
27997         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
27998         Defer to parent Makefile.
28000 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
28002         Don't suggest Mailutils on MS-Windows
28004         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
28005         hasn't been ported.
28007 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
28009         Fix bug: Range-check integer ‘alpha’ frame parm value
28011         Typo introduced 2013-04-01, "Prefer < to >
28012         in range checks such as 0 <= i && i < N".
28014         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
28016 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
28018         Fix bug: Range-check integer ‘alpha’ frame parm value
28020         Typo introduced 2013-04-01, "Prefer < to >
28021         in range checks such as 0 <= i && i < N".
28023         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
28025 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
28027         Fix Bug#26127
28029         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
28030         there is a function which could be called.  (Bug#26127)
28032         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
28033         Clear also `file-notify-descriptors'.
28034         (file-notify--test-make-temp-name): Move up.
28035         (file-notify-test02-rm-watch): New test.
28036         (file-notify-test03-events, file-notify-test04-autorevert)
28037         (file-notify-test05-file-validity)
28038         (file-notify-test06-dir-validity)
28039         (file-notify-test07-many-events, file-notify-test08-backup)
28040         (file-notify-test09-watched-file-in-watched-dir)
28041         (file-notify-test10-sufficient-resources): Rename.
28043 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
28045         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
28047 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
28049         Emacs 'movemail' is now a configure-time option
28051         The new configure option --with-mailutils lets the builder say
28052         that Emacs should assume that GNU Mailutils is installed, instead
28053         of continuing to build and install its own limited and insecure
28054         substitute for 'movemail'.
28055         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
28056         * configure.ac: Add --with-mailutils option.
28057         (with_mailutils): New variable.
28058         Do not bother configuring 'movemail' when not building it.
28059         Warn about issues relating to --with-mailutils.
28060         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
28061         (Movemail, Remote Mailboxes): Document port numbers in
28062         POP and IMAP URLs.
28063         * lib-src/Makefile.in (with_mailutils): New macro.
28064         (UTILITIES): Use it.
28066 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
28068         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
28070         * lisp/obarray.el (obarray-size): New function.
28072         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
28073         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
28074         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
28075         Use obarrayp.
28077         * test/lisp/obarray-tests.el (obarray-make-default-test)
28078         (obarray-make-with-size-test): Use it.
28080 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
28082         Document remote file name syntax change
28084         * doc/emacs/files.texi (Remote Files, Quoted File Names):
28085         * doc/misc/org.texi (dir): Change examples to use a method.
28087         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
28088         `Testing' menu entry.
28089         (History): Fix typos.  Mention syntax change.
28090         (Configuration, Default Host, File name Syntax)
28091         (File name completion, Frequently Asked Questions):
28092         Change examples to use a method.
28093         (External methods, Default Host, Multi-hops, Remote processes):
28094         Fix typos.
28095         (Default Method): Mention pseudo method "-".
28096         (External packages): Rewrite intention of `non-essential'.
28098         * etc/NEWS: Mark recent Tramp entries as documented.
28100 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
28102         (semantic-lex-type-invalid): Fix nested backquote.
28104         * lisp/cedet/semantic/lex.el: Use lexical-binding.
28105         (semantic-lex-type-invalid): Fix nested backquote.
28106         (semantic-lex-map-symbols, semantic-lex-type-symbol)
28107         (semantic-lex-keyword-symbol): Use obarrayp.
28109 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
28111         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
28113 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
28115         Write a named function
28117         * lisp/comint.el (comint-nonblank-p): New function.
28118         (comint-input-filter): Use it.
28120 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
28122         Replace more nested ifs with cond
28124         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
28125         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
28126         (dun-drop-check, dun-swim, dun-break): Use when and cond where
28127         appropriate.
28128         (dun-examine): Fix indentation.
28129         (dun-doverb): Use when.
28130         (dun-read-line): Refactor.
28132 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
28134         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
28136         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
28137         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
28138         causes the regex engine to backtrack a lot when searching for
28139         "\\s-+$" (Bug#26079).
28141         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
28142         syntax, search for "\\s-$" and then skip backward over trailing
28143         whitespace.
28145 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28147         Merge from gnulib
28149         This incorporates:
28150         2017-03-14 snippets: move unadjusted snippet sources to lib
28151         2017-03-14 gnulib-tool: fix typo in comment output
28152         2017-03-14 snippets: work around GNU Make 3.82 VPATH
28153         2017-03-13 gnulib-tool: minor --gnu-make fixups
28154         2017-03-12 gnulib-tool: new option --gnu-make
28155         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
28156         lib/warn-on-use.h.  Change exception from
28157         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
28158         * admin/authors.el (authors-renamed-files-regexps):
28159         * admin/notes/copyright, make-dist:
28160         The snippet files moved from build-aux/snippet to lib.
28161         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
28162         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
28163         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
28164         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
28165         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
28167 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
28169         Fix duplicate wording in Emacs manual
28171         * doc/emacs/programs.texi (Which Function): Delete duplicate
28172         wording.  (Bug#26098)
28174 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
28176         Reenable lost Tramp test case
28178         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
28179         Reenable lost test case.
28181 2017-03-14  Alan Third  <alan@idiocy.org>
28183         Revert "Remove NSEvent loop from ns_select (bug#25265)"
28185         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
28187 2017-03-14  Alan Third  <alan@idiocy.org>
28189         Revert "Add missing timeout value in ns_select"
28191         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
28193 2017-03-14  Alan Third  <alan@idiocy.org>
28195         Remove old macOS compatibility code
28197         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
28198         macOS versions below 10.6 as they are not supported in Emacs 25+.
28200 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
28202         Tune `tramp-completion-file-name-regexp-unified'
28204         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
28205         Extend this regexp to match also "/".
28207 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
28209         Show ancestor buffer in 3way merges
28211         Add an option ediff-show-ancestor', to control if the ancestor buffer
28212         must be shown in 3way merges (Bug#25493); set it non-nil by default.
28213         Add a toggle to change this option interactively; the original
28214         value of the option is restored on exit.
28216         Update the window setup so that the ancestor buffer is
28217         shown in 3way merges when ediff-show-ancestor is non-nil.
28219         Any operation on ediff windows must take in account the
28220         ancestor window as well, when this is shown.
28222         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
28223         (ediff--show-ancestor-orig): New defvar.
28224         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
28225         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
28226         Display ancestor buffer if ediff-show-ancestor is non-nil.
28227         (ediff-keep-window-config): Expect ancestor window in
28228         ediff-window-config-saved.
28229         (ediff-window-alist): Add entry for the ancestor window.
28230         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
28231         ediff-window-config-saved contains ancestor window.
28232         (ediff-show-ancestor): Delete this command.
28233         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
28234         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
28235         don't cheat it to think that is performing a comparison, that trick is not
28236         necessary anymore: simply call 'ediff-setup-diff-regions-function'
28237         with file-A, file-B and the file ancestor.
28238         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
28239         (ediff--check-ancestor-exists): New defun.
28240         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
28241         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
28242         (ediff-scroll-vertically, ediff-scroll-horizontally)
28243         (ediff-operate-on-windows): Consider the ancestor as well.
28244         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
28245         List ediff-toggle-show-ancestor.
28246         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
28248 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
28250         diff-mode: Improve default faces for buffer ancestor
28252         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
28253         (ediff-fine-diff-Ancestor): Use defaults consistent with
28254         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
28256 2017-03-14  Hong Xu  <hong@topbug.net>
28258         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
28260 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28262         Fix make-dist typo
28264         * make-dist: Fix typo introduced in the Bug#25895 fix.
28266 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
28268         Fix wording in Emacs manual
28270         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
28271         (Bug#26086)
28273 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
28275         etc/NEWS: Remote file names require a method.
28277 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
28279         Require method in remote file name syntax
28281         * lisp/minibuffer.el (completion--nth-completion):
28282         Do not bind `non-essential'.
28284         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
28285         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
28286         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
28287         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
28288         `tramp-check-proper-method-and-host'.
28290         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
28291         (tramp-maybe-open-connection): Do not use argument for
28292         ´tramp-completion-mode-p'.
28294         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
28295         (tramp-prefix-format, tramp-postfix-method-format)
28296         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
28297         (tramp-prefix-port-format, tramp-postfix-host-format)
28298         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
28299         Use `eq' instead of `eqal'.
28300         (tramp-method-regexp, tramp-domain-regexp)
28301         (tramp-remote-file-name-spec-regexp)
28302         (tramp-file-name-regexp-unified)
28303         (tramp-completion-file-name-regexp-unified)
28304         (tramp-completion-file-name-regexp-separate): Adapt regexp.
28305         (tramp-completion-file-name-handler-alist)
28306         (tramp-run-real-handler): Autoload them.
28307         (tramp-find-method): Handle `tramp-default-method-marker'.
28308         (tramp-check-proper-method-and-host)
28309         (tramp-completion-run-real-handler): Remove them.
28310         (tramp-error-with-buffer, tramp-connectable-p): Do not use
28311         argument for ´tramp-completion-mode-p'.
28312         (tramp-find-foreign-file-name-handler): Remove COMPLETION
28313         argument.  Do not apply heuristic for completion.
28314         (tramp-file-name-handler): Do not modify `non-essential'.
28315         (tramp-completion-file-name-handler): Change implementation.
28316         (tramp-autoload-file-name-handler)
28317         (tramp-completion-handle-file-name-all-completions):
28318         Call `tramp-run-real-handler'.
28319         (tramp-completion-mode-p): Do not autoload.  Remove argument.
28320         Do not apply heuristic for completion.
28321         (tramp-completion-dissect-file-name): Simplify implementation.
28322         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
28324         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
28325         (tramp-test02-file-name-dissect)
28326         (tramp-test03-file-name-defaults)
28327         (tramp-test06-directory-file-name): Adapt to the new syntax.
28328         (tramp-test11-copy-file, tramp-test12-rename-file)
28329         (tramp--test-check-files): Deactivate temporarily tests with
28330         quoted file names.
28331         (tramp-test16-directory-files, tramp-test17-insert-directory):
28332         Adapt tests.
28333         (tramp-test24-file-name-completion): Do not check for
28334         completion mode.
28335         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
28336         two tests.
28338 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
28340         Fix bidi paragraph direction when inserting text at newline
28342         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
28343         paragraph cache when inserting immediately after a newline.
28344         (Bug#26083)
28346 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
28348         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
28350 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
28352         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
28354         (cl-print-object) <compiled-function>: Print the docstring and
28355         interactive form.  Obey cl-print-compiled.
28357 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
28359         Fix indent-sexp when called from inside a string (Bug#21343)
28361         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
28362         state from `syntax-ppss'.
28364 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
28366         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
28368         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
28369         (indent-subsexp, indent-sexp-in-string): New tests.
28371 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
28373         Use switch on pseudovector types; plus cleanups along the way
28375         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
28376         (PSEUDOVECTOR_TYPEP): Change type of `code'.
28378         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
28379         (mark_object): Use PSEUDOVECTOR_TYPE.
28381         * src/data.c (Ftype_of): Use switch on pvec type.
28383         * src/print.c (print_object): Use switch on pvec type.
28385         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
28386         Add recently added types.
28388 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
28390         Install update-game-score only on request
28392         Most distributions do not install update-game-score properly
28393         due to setuid/setgid complications, so install it only when
28394         the installer specifies a user or group (Bug#25895).
28395         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
28396         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
28397         New vars.
28398         (epaths-force): Use PATH_GAME.
28399         (uninstall): Remove snake-scores and tetris-scores only if shared.
28400         * configure.ac: Default --with-gameuser to 'no'.
28401         (UPDATE_MANIFEST): Remove.
28402         * etc/NEWS: Mention this.
28403         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
28404         (use_gamedir): New macro.
28405         (UTILITIES): Remove update-game-score unless use_gamedir.
28406         (SCRIPTS): Remove $(UPDATE_MANIFEST).
28407         ($(DESTDIR)${archlibdir}): Install game directory program and data
28408         only if use_gamedir.
28409         * lib-src/update-game-score.exe.manifest: Remove, as
28410         update-game-score is no longer installed on MS-Windows.
28411         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
28412         Use auxiliary program only if setuid or setgid.
28413         * make-dist: Do not distribute update-game-score.exe.manifest.
28414         * src/callproc.c (init_callproc):
28415         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
28416         (syms_of_callproc): Remove unnecessary initialization of
28417         Vshared_game_score_directory.
28419 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
28421         Add `touch-action' to list of CSS properties
28423         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
28424         property.
28426 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
28428         Teach etags to process ENUM_BF correctly
28430         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
28431         (hash): Regenerated values for asso_values[] array.
28432         (in_word_set): Update values of TOTAL_KEYWORDS and
28433         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
28434         (in_enum_bf): New file-global variable.
28435         (consider_token): Skip ENUM_BF if not in a macro definition.
28436         (C_entries): Reset the in_enum_bf flag when past its closing
28437         parenthesis.
28439         * test/manual/etags/ETAGS.good_1:
28440         * test/manual/etags/ETAGS.good_2:
28441         * test/manual/etags/ETAGS.good_3:
28442         * test/manual/etags/ETAGS.good_4:
28443         * test/manual/etags/ETAGS.good_5:
28444         * test/manual/etags/ETAGS.good_6:
28445         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
28447 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
28449         Use path/to/file instead of path/to.file in tramp.texi
28451         * doc/misc/tramp.texi (Configuration, File name Syntax):
28452         Use path/to/file instead of path/to.file.
28454 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
28456         Remove some stray gnulib files
28458         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
28459         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
28460         the --avoid=unsetenv option avoided most of it anyway.
28461         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
28462         * lib/gnulib.mk: Regenerate.
28464 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
28466         Merge from gnulib
28468         This incorporates:
28469         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
28470         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
28472 2017-03-12  Glenn Morris  <rgm@gnu.org>
28474         Remove trivial duplication in epg-config
28476         * lisp/epg-config.el (epg-config--program-alist):
28477         Use epg-gpg-minimum-version.
28479 2017-03-12  Glenn Morris  <rgm@gnu.org>
28481         Small epg-find-configuration improvement
28483         * lisp/epg-config.el (epg-find-configuration):
28484         Handle epg-gpg-program customized but not saved.  (Bug#25947)
28486 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
28488         Improve last change
28490         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
28491         Use ppss to check escaping and add help-echo.
28493 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
28495         Highlight useless backslashes in Elisp strings
28497         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
28498         Put warning face on backslashes that have no effect.
28500 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
28502         Document how to customize input methods
28504         * doc/emacs/mule.texi (Input Methods): Document how to customize
28505         input methods.
28507 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
28509         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
28511 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
28513         Fix generation of nt/gnulib.mk on macOS
28515         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
28516         to Sed, as that is not portable with non-GNU Sed variants.
28517         (Bug#26043)
28519 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
28521         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
28523         * src/xdisp.c (handle_single_display_spec): If position to be
28524         restored after processing the display property comes from an
28525         overlay, protect against that overlay's end point being outside of
28526         the narrowed region.
28527         Reported by Filipe Silva <filipe.silva@gmail.com> in
28528         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
28530 2017-03-10  Glenn Morris  <rgm@gnu.org>
28532         Small improvement for epa-display-error (bug#24553)
28534         * lisp/epa.el (epa-display-error): Report the actual program in use.
28536 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
28538         Tweak X toolkit code to pacify modern GCC
28540         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
28541         Don’t include <stdlib.h>, since this code now calls emacs_abort
28542         rather than abort.
28543         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
28544         (wm_delete_window):
28545         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
28546         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
28547         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
28548         (separator_height, XlwMenuInitialize):
28549         Use emacs_abort, not abort.  Without this change, some calls
28550         to ‘abort’ were invalid, as stdlib.h was not always included.
28551         * src/widget.c (resources, emacsFrameClassRec):
28552         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
28553         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
28554         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
28555         (x_term_init) [USE_X_TOOLKIT]:
28556         Cast string constants to char * to pacify --enable-gcc-warnings.
28558 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28560         * doc/misc/tramp.texi (Android shell setup): Require adb program
28562 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28564         Adapt tramp-tests.el
28566         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
28567         (tramp-test24-file-name-completion): Call
28568         `tramp-completion-mode-p' with argument.
28570 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
28572         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
28574         * doc/lispref/processes.texi (Bindat Examples):
28575         Mention two examples in intro blurb; rewrite first example.
28577 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
28579         Simplify checks for xdg-open and xdg-email
28581         browse-url's xdg-open detection was too picky on some GNU/Linux
28582         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
28583         if it is executable, as nowadays this is more likely to be correct than
28584         trying to use heuristics from a few years ago.  Don't test for nohup: it
28585         is ineffective nowadays, as xdg-open's child uses the default action for
28586         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
28587         allow for Wayland here, as "emacs -nw" might be running in a non-X
28588         Wayland terminal.
28589         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
28590         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
28591         Simplify to a test for DISPLAY and whether the helper program is
28592         executable.  Allow WAYLAND_DISPLAY as an option.
28594 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28596         Byte compile cond clauses without any bodies correctly.
28598         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
28599         cond clause has no body, push t on to the stack.
28601 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
28603         Fix bug#23006
28605         * lisp/minibuffer.el (completion--nth-completion):
28606         Let-bind `non-essential'.
28608         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
28609         (tramp-completion-mode-p): Optional parameter VEC.  Replace
28610         check for `last-input-event' by analysing VEC argument.
28611         (tramp-error-with-buffer, tramp-file-name-handler)
28612         (tramp-connectable-p, tramp-handle-file-name-as-directory):
28613         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
28615 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28617         etc/NEWS: Add entry for new `switch' bytecode.
28619 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28621         * src/data.c (arithcompare): Add comments.
28623 2017-03-08  Glenn Morris  <rgm@gnu.org>
28625         Update a cl-print test
28627         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
28628         Update for recent change in cl-print-object function output.
28630 2017-03-08  Sam Steingold  <sds@gnu.org>
28632         Replace change-log-date-face -> change-log-date
28634         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
28636 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
28638         Fix bug#26011
28640         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
28641         Check, whether file is too large.  (Bug#26011)
28643 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
28645         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
28646         (Fmax, Fmin): Restore documentation.
28648         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
28649         comparisons that are written backward.
28651 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
28653         [doc elisp] Add some index entries for "old" advice mechanism
28655         * doc/lispref/functions.texi (Porting old advice):
28656         Add one @cindex and two @findex entries.
28658 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28660         * etc/NEWS: Adjust to match previous patch.
28662 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28664         min and max should not return markers
28666         Problem reported by Glenn Morris in:
28667         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
28668         * src/data.c (minmax_driver): Convert any marker result to an
28669         integer, since some callers assume this.
28670         * test/src/data-tests.el (data-tests-max, data-tests-min):
28671         Test for this.
28673 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
28675         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
28677 2017-03-08  Alan Third  <alan@idiocy.org>
28679         Add missing timeout value in ns_select
28681         * src/nsterm.m (ns_select): Set timeout to distant future when relying
28682         on fd_handler's timeout.
28684 2017-03-07  Glenn Morris  <rgm@gnu.org>
28686         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
28688 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28690         Remove isnan hack for Solaris 10 gcc 3.4.3
28692         This seems to have been a false alarm (Bug#26018).
28693         * src/data.c (isnan):
28694         * src/floatfns.c (isfinite, isnan):
28695         Use standard implementation if available.
28697 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
28699         Support browsing URLs with embedded spaces on MS-Windows
28701         * lisp/net/browse-url.el (browse-url-default-windows-browser):
28702         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
28703         support that in file:// URLs.  (Bug#26014)
28705 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28707         Define copysign on all platforms
28709         * configure.ac (copysign): Remove test.
28710         * src/floatfns.c (signbit): New macro, if not already defined.
28711         (Fcopysign): Use it instead of copysign.
28712         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
28714 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28716         Revert "Replace ldefs-boot with a much smaller file"
28718         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
28720         This commit has been reverted because the new mechanism was too
28721         sensitive to changes in the lisp source, generation of new ldefs-boot
28722         files was platform specific and resulted in warnings about undefined
28723         variables.
28725         See also 11436e2890d.
28727 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28729         Revert "Record autoloads till emacs dump"
28731         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
28733         This commit has been reverted because the new mechanism was too
28734         sensitive to changes in the lisp source, generation of new ldefs-boot
28735         files was platform specific and resulted in warnings about undefined
28736         variables.
28738         See also 11436e2890d.
28740 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28742         Revert "Remove unused ldefs-boot.el"
28744         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
28746         This commit has been reverted because the new mechanism was too
28747         sensitive to changes in the lisp source, generation of new ldefs-boot
28748         files was platform specific and resulted in warnings about undefined
28749         variables.
28751         See also 11436e2890d.
28753 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28755         Revert "Remove conditional includes from bootstrap"
28757         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
28759         This commit has been reverted because the new mechanism was too
28760         sensitive to changes in the lisp source, generation of new ldefs-boot
28761         files was platform specific and resulted in warnings about undefined
28762         variables.
28764         See also 11436e2890d.
28766 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28768         Revert "Speed generation of ldefs-boot-auto"
28770         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
28772         This commit has been reverted because the new mechanism was too
28773         sensitive to changes in the lisp source, generation of new ldefs-boot
28774         files was platform specific and resulted in warnings about undefined
28775         variables.
28777         See also 11436e2890d.
28779 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28781         Revert "Fix minor problems with loaddefs autogeneration"
28783         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
28785         This commit has been reverted because the new mechanism was too
28786         sensitive to changes in the lisp source, generation of new ldefs-boot
28787         files was platform specific and resulted in warnings about undefined
28788         variables.
28790 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
28792         Set default when asking for send-mail-function (Bug#25874).
28794         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
28795         option as default for `completing-read'.
28797 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28799         min and max now return one of their arguments
28801         * doc/lispref/numbers.texi (Comparison of Numbers):
28802         * etc/NEWS: Document this.
28803         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
28804         (minmax_driver): New function.
28805         (Fmax, Fmin): Use it instead of arith_driver.
28806         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
28808 2017-03-06  Alan Third  <alan@idiocy.org>
28810         Remove NSEvent loop from ns_select (bug#25265)
28812         * src/nsterm.m (ns_select): Remove event processing loop and replace
28813         with simple test for a new event.
28815 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
28817         A better fix for bug#25845
28819         * src/xdisp.c (font_for_underline_metrics): New function.
28820         * src/dispextern.h: Add its prototype.
28821         * src/xterm.c (x_draw_glyph_string):
28822         * src/w32term.c (x_draw_glyph_string):
28823         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
28824         having identical code 3 times in 3 different files.
28826 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
28828         Fix warning message about native completion (Bug#25984)
28830         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
28831         The relevant variable is `python-shell-completion-native-enable'.
28833 2017-03-06  Tom Tromey  <tom@tromey.com>
28835         Fix typos in EIEIO manual
28837         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
28839 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28841         Merge from gnulib
28843         This incorporates:
28844         2017-03-04 dtotimespec: simplify
28845         * lib/dtotimespec.c: Copy from gnulib.
28847 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28849         ffloor etc. now accept only floats
28851         * etc/NEWS: Say why.
28852         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
28853         Require arg to be float.
28854         * test/src/floatfns-tests.el (fround-fixnum): Check this.
28856 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
28858         Fix display of cursor on underlined text
28860         * src/nsterm.m (ns_draw_text_decoration):
28861         * src/xterm.c (x_draw_glyph_string):
28862         * src/w32term.c (x_draw_glyph_string): Compute the position and
28863         thickness of the underline by looking for the first glyph of the
28864         run of underlined glyphs that includes the glyph string we are
28865         drawing.  (Bug#25845)
28867 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28869         Add more CL concept index items, print Concept Index
28871         * doc/misc/cl.texi: Print concept index.
28872         (Generalized Variables, Variable Bindings):
28873         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
28874         (Blocks and Exits, Iteration, Multiple Values): Add concept index
28875         items.
28877 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28879         Add 'loop facility' to the CL concept index
28881         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
28882         index item.
28884 2017-03-05  martin rudalics  <rudalics@gmx.at>
28886         In `window--display-buffer' fix behavior reported in Bug#25946
28888         * lisp/window.el (window--display-buffer): Set the dedicated
28889         status of the window used and clear its history of previous
28890         buffers also for the case that the window already shows the
28891         buffer to be displayed.  (Bug#25946)
28893 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28895         Compare and round more carefully
28897         * etc/NEWS: Document this.
28898         * src/data.c (store_symval_forwarding):
28899         * src/sound.c (parse_sound):
28900         Do not botch NaN comparison.
28901         * src/data.c (cons_to_unsigned, cons_to_signed):
28902         Signal an error if a floating-point arg is not integral.
28903         * src/data.c (cons_to_unsigned, cons_to_signed):
28904         * src/fileio.c (file_offset):
28905         Use simpler overflow check.
28906         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
28907         Avoid rounding error in overflow check.
28908         (Fcar_less_than_car): Use arithcompare directly.
28909         * test/src/charset-tests.el: New file.
28911 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28913         Fewer rounding errors with (format "%f" fixnum)
28915         * etc/NEWS: Document this.
28916         * src/editfns.c (styled_format): When formatting integers via a
28917         floating-point format, use long double instead of double
28918         conversion, if long double’s extra precision might help.
28920 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28922         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
28924         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
28926 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28928         Clarify documentation of 'raise' and 'height' display specs
28930         * doc/lispref/display.texi (Other Display Specs): Clarify the
28931         effect of 'height' display spec on the following 'raise'.
28932         (Bug#25824)
28934 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28936         Fix header shown by Info 'L' command
28938         * lisp/info.el (Info-history-find-node): A better heading for the
28939         list of visited nodes.  (Bug#25876)
28941 2017-03-04  K. Handa  <handa@gnu.org>
28943         Add a section about incorrect Bengali rendering.
28945 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28947         Fix minor problems with loaddefs autogeneration
28949         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
28950         and coding-system-for-write, to produce a UTF-8 file with Unix
28951         EOLs on MS-Windows.
28953         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
28955 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
28957         Fix issues with dedicated windows in shr.el
28959         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
28960         the window not dedicated, to avoid errors if it was, before
28961         setting its buffer temporarily.  (Bug#25828)
28963 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28965         Mention problems with GPaste in PROBLEMS
28967         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
28968         GPaste, and its solution.  (Bug#25902)
28970 2017-03-04  Glenn Morris  <rgm@gnu.org>
28972         Avoid duplicate gud menu items with gdb-mi
28974         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
28975         entries in gdbmi mode.  (Bug#23923)
28977 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28979         * src/editfns.c (styled_format): Omit unnecessary code.
28981 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28983         logb now works correctly on large integers
28985         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
28986         * etc/NEWS: Document the change.
28987         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
28988         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
28989         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
28990         * src/floatfns.c: Include count-leading-zeros.h.
28991         (Flogb): Do not convert fixnum to float before taking the log,
28992         as the rounding error can cause the answer to be off by 1.
28993         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
28994         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
28996 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28998         Merge from gnulib
29000         This incorporates:
29001         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
29002         2017-02-24 ftoastr: port to -Wdouble-promotion
29003         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
29005 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
29007         Avoid duplicating characters recorded in macros
29009         * src/keyboard.c (record_char): Don't store in macro definitions
29010         characters that came from executing a macro.  (Bug#25860)
29012 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
29014         Fix color component calculations in color.el
29016         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
29017         (color-rgb-to-hex): Accept an optional argument
29018         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
29019         notation either for 8 or 16 bits per component.  (Bug#25890)
29020         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
29021         color-rgb-to-hex with the optional argument of 2, to match color
29022         processing on the Web.
29024 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
29026         Use lexical binding in benchmark.el
29028         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
29029         (benchmark-elapse): Use 'declare'.
29030         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
29032 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
29034         Switch pp.el to lexical binding
29036         Additionally, do some minor code cleanup.
29038         * lisp/emacs-lisp/pp.el: Set lexical-binding.
29039         (pp-buffer): Use skip-syntax-forward.
29040         (pp-eval-expression): Use push.
29041         (pp-last-sexp): Use with-syntax-table.
29042         * test/lisp/emacs-lisp/pp-tests.el: New tests.
29044 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
29046         Fix completing-read call in reb-change-syntax
29048         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
29049         of completing-read.
29051 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
29053         sql-mode w/ sqlite: In-memory database
29055         Enable the usage of an in-memory database. Prior to this, sql-mode w/
29056         sqlite could only be used with file databases.
29057         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
29058         file name provided by the user, but call sub-process sqlite with that,
29059         in which case it uses an in-memory database.
29061 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
29063         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
29065         `abbrev--before-point' does not adjust `pos' to account for when it
29066         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
29067         `abbrev-before-point' goes to restore point, it moves point one
29068         character too far forward.
29070         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
29072 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
29074         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
29076 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29078         Restore XFLOATINT but with restricted args
29080         Turn instances of extract_float into XFLOAT_DATA when possible,
29081         and to a resurrected XFLOATINT when the arg is a number.
29082         The resurrected XFLOATINT is more like XFLOAT and XINT in
29083         that is valid only if its arg is a number.  This clarifies
29084         the ways in which floats can be extracted at the C level.
29085         * src/editfns.c (styled_format):
29086         * src/floatfns.c (extract_float, Fexpt):
29087         Use XFLOATINT rather than open-coding it.
29088         * src/fns.c (internal_equal):
29089         * src/image.c (imagemagick_load_image):
29090         * src/xdisp.c (resize_mini_window):
29091         Prefer XFLOAT_DATA to extract_float on values known to be floats.
29092         * src/frame.c (x_set_screen_gamma):
29093         * src/frame.h (NUMVAL):
29094         * src/image.c (x_edge_detection, compute_image_size):
29095         * src/lread.c (read_filtered_event):
29096         * src/window.c (Fset_window_vscroll):
29097         * src/xdisp.c (handle_single_display_spec, try_scrolling)
29098         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
29099         (on_hot_spot_p):
29100         Prefer XFLOATINT to extract_float on values known to be numbers.
29101         * src/lisp.h (XFLOATINT): Bring back this function, except
29102         it now assumes its argument is a number.
29104 2017-03-02  Glenn Morris  <rgm@gnu.org>
29106         Ert commands to error if no test at point (bug#25931)
29108         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
29109         Deactivate some items if no test at point.
29110         (ert--results-test-at-point-no-redefinition):
29111         Add option to signal an error rather than return nil.
29112         (ert-results-pop-to-backtrace-for-test-at-point)
29113         (ert-results-pop-to-messages-for-test-at-point)
29114         (ert-results-pop-to-should-forms-for-test-at-point)
29115         (ert-results-describe-test-at-point): Error if no test at point.
29117 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29119         Remove XFLOATINT
29121         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
29122         All callers changed to use extract_float.
29123         * src/frame.h (NUMVAL): Now an inline function, not a macro.
29125 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29127         Fix rounding errors in <, =, etc.
29129         * etc/NEWS: Document this.
29130         * src/bytecode.c (exec_byte_code):
29131         * src/data.c (arithcompare):
29132         Do not lose information when comparing floats to integers.
29133         * test/src/data-tests.el (data-tests-=, data-tests-<)
29134         (data-tests->, data-tests-<=, data-tests->=):
29135         Test this.
29137 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
29139         Fix display of mouse-highlight produced by overlapping overlays
29141         * src/xfaces.c (face_at_buffer_position): If called to find the
29142         mouse-face, only consider the highest-priority source for that
29143         face, and ignore the rest.  Previously, all the mouse-face
29144         definitions at POS were merged in that case.
29145         * src/xdisp.c (note_mouse_highlight): Record the overlay that
29146         specifies mouse-face _after_ clearing the info about the previous
29147         overlay, so as not to clear the information about the just-recorded
29148         overlay.  (Bug#25906)
29150 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
29152         Fix display of strike-through text in variable-height lines
29154         * src/nsterm.m (ns_draw_text_decoration):
29155         * src/xterm.c (x_draw_glyph_string):
29156         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
29157         strike-through y-coordinate for a glyph row which is taller than
29158         the strike-through text.  (Bug#25907)
29160 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
29162         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
29164         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
29165         don't call x_net_wm_state when the window is a scroll bar window.
29166         (Bug#24963, Bug#25887)
29168 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
29170         gnus-summary-select-article-buffer: Don't re-render existing article
29172         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
29173         Don't re-render existing article.
29175 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
29177         Don't add debbugs address to message body (bug#25896)
29179         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
29180         Don't add debbugs address to message body (bug#25896), and
29181         don't add it to message header either if it already exists.
29183 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
29185         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
29187         (semanticdb--ih): Declare.
29188         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
29189         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
29190         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
29192 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
29194         * lisp/help-fns.el (describe-variable): Use cl-print for the value
29196         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
29198 2017-03-02  Glenn Morris  <rgm@gnu.org>
29200         * test/lisp/net/puny-tests.el: New file.
29202 2017-03-02  Glenn Morris  <rgm@gnu.org>
29204         Small puny.el fix
29206         * lisp/net/puny.el (puny-decode-string-internal):
29207         Handle strings with no ascii parts.  (Bug#23688)
29209 2017-03-02  Glenn Morris  <rgm@gnu.org>
29211         Small recover-this-file improvement
29213         * lisp/files.el (recover-this-file): Explicit error if not
29214         visiting a file.  (Bug#23671)
29216 2017-03-01  Glenn Morris  <rgm@gnu.org>
29218         Fix for coding-system completion (bug#23670)
29220         * lisp/international/mule.el (read-buffer-file-coding-system):
29221         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
29222         so that completion-pcm--pattern->regex can append "*?".
29224 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
29226         Fix rounding error in ‘ceiling’ etc.
29228         Without this fix, (ceiling most-negative-fixnum -1.0) returns
29229         most-negative-fixnum instead of correctly signaling range-error,
29230         and similarly for floor, round, and truncate.
29231         * configure.ac (trunc): Add a check, since Gnulib’s doc says
29232         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
29233         also missing from some other older operating systems like Solaris
29234         9 which I know we don’t care about any more, so MSVC is the only
29235         reason to worry about ‘trunc’ here.
29236         * src/editfns.c (styled_format): Formatting a float with %c is now an
29237         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
29238         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
29239         only as a result of my misunderstanding old code that I introduced
29240         2011.  Although %d etc. is sometimes used on floats that represent
29241         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
29242         happen with characters.
29243         * src/floatfns.c (rounding_driver): Rework to do the right thing
29244         when the intermediate result equals 2.305843009213694e+18, i.e.,
29245         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
29246         Simplify so that only one section of code checks for overflow,
29247         rather than two.
29248         (double_identity): Remove.  All uses changed to ...
29249         (emacs_trunc): ... this new function.  Add replacement for
29250         platforms that lack ‘trunc’.
29251         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
29252         Make it clear that the arg cannot be floating point.
29253         * test/src/editfns-tests.el (format-c-float): New test.
29254         * test/src/floatfns-tests.el: New file, to test for this bug.
29256 2017-03-01  Glenn Morris  <rgm@gnu.org>
29258         Small help--loaded-p fix
29260         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
29261         with nil file name.  (Bug#25847)
29263 2017-03-01  Leo Liu  <sdl.web@gmail.com>
29265         * src/fns.c (Fbuffer_hash): Doc fix.
29267 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
29269         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
29271         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
29272         Instead, use a plain concat, which will create a string out of a list
29273         of characters.
29275 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
29277         Fix epg-tests with dummy-pinentry program (Bug#23619)
29279         * test/data/epg/dummy-pinentry: New file.
29280         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
29281         when a passphrase is required.  Add debug declaration.  Set
29282         GPG_AGENT_INFO non-destructively.
29284 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
29286         Speed generation of ldefs-boot-auto
29288         Previously, generation of ldefs-boot-auto required at least one full
29289         bootstrap and, in extreme cases, two. Now, from build system, it
29290         requires the same time as taken to dump Emacs.
29292         * Makefile.in: Remove all calls, pass to src.
29293         * admin/ldefs-clean.el: Update for changed messages.
29294         * lisp/Makefile.in (compile-first-delete): Add.
29295         * lisp/ldefs-boot-auto.el: Update.
29296         * src/Makefile.in (generate-ldefs-boot): Add.
29298 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
29300         Add error handling to magic-mode-alist
29302         * lisp/files.el (set-auto-mode): Add explicit error handling in two
29303           places.
29305 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
29307         Remove conditional includes from bootstrap
29309         Previously, bootstrap-emacs includes optional functionality, depending
29310         on the platform which is not needed for bootstrap function.  As a
29311         result, bootstrap-emacs contains different functions in different
29312         circumstances.  If ldefs-boot-auto.el is generated, then loaded
29313         functions will not be added to ldefs-boot-auto.el, although they may be
29314         required during some builds.  With this change, bootstrap-emacs should
29315         always behave the same way and, therefore, require the same autoloads.
29317          * lisp/loadup.el: No longer load optional includes during bootstrap
29318            dumping.
29319          * lisp/ldefs-boot-auto.el: Regenerate.
29320          * lisp/ldefs-boot-manual.el: Add two autoloads.
29322 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
29324         Do not use find-file non-interactively
29326          * lisp/international/titdic-cnv.el (miscdic-convert): Use
29327            insert-file-contents in place of find-file.
29329 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29331         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
29333         (update_overlay_arrows): Skip non-markers.
29335 2017-02-28  Ken Brown  <kbrown@cornell.edu>
29337         Try to avoid hang when logging out of MS-Windows
29339         * src/w32term.c (x_update_window_begin, x_update_window_end)
29340         (my_show_window, my_set_window_pos, my_set_focus)
29341         (my_set_foreground_window, my_destroy_window)
29342         (my_bring_window_to_top, x_iconify_frame): Replace calls to
29343         SendMessage by calls to SendMessageTimeout with a 6-second
29344         timeout.  (Bug#25875)
29346 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29348         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
29350 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29352         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
29354         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
29355         (Methods): Document cl-defmethod.
29356         Explain in more detail the order in which the various
29357         methods are executed.  Document the conditions under which a method
29358         is redefined.  Remove reference to `eieio-generic-call-arglst`.
29359         Don't document the precise return value of cl-next-method-p.
29360         (Static Methods): Adjust to use `subclass` specializer.
29361         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
29362         (Signal Handling, Signals): Adjust names and args for cl-generic; add
29363         cl-no-primary-method.
29364         (CLOS compatibility, Wish List): Adjust to new featureset.
29366 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29368         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
29370         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
29372 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29374         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
29376         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
29377         (sgml-syntax-propertize-inside): New fun.
29379 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29381         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
29383         ": ;" after completing a property.
29385 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
29387         Show Ibuffer and jump to line listing current buffer
29389         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
29391 2017-02-27  Juri Linkov  <juri@linkov.net>
29393         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
29395         before adding it to the list of files.
29397 2017-02-27  Juri Linkov  <juri@linkov.net>
29399         Put text properties on query-replace separator string instead of "\0"
29401         * lisp/replace.el (query-replace--split-string):
29402         Split at a substring instead of just character.
29403         (query-replace-read-from): Put text properties on the
29404         separator string instead of "\0".  (Bug#25482)
29406 2017-02-27  Juri Linkov  <juri@linkov.net>
29408         Add file name and its extension to suggestions in dired-mark-files-regexp
29410         * lisp/dired.el (dired-mark-files-regexp): Add file name
29411         and its extension to the list of suggested defaults.  (Bug#25578)
29413 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
29415         Prompt default extension in dired-mark-extension
29417         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
29418         based on extension of file at point.  (Bug#25578)
29420 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
29422         Prevent for consing in cl-mapc and cl-mapl
29424         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
29425         If non-nil, accumulate values in the result (Bug#25826).
29426         (cl-mapc): Do computations inside function instead of call cl-map.
29427         (cl-mapl): Do computations inside function instead of call cl-maplist.
29428         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
29429         Call cl--mapcar-many with non-nil 3rd argument.
29430         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
29431         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
29432         (cl-extra-test-maplist): New tests.
29434 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
29436         Choose the right target dir on dired operations
29438         Prevent from changing the input target dir
29439         when dired-dwim-target is non-nil (Bug#25609).
29440         * lisp/dired-aux.el (dired-do-create-files):
29441         If dired-dwim-target is non-nil, then bind 'default' to nil.
29442         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
29444 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
29446         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
29448 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
29450         Don't record eshell/clear "command" in history (Bug#25838)
29452         `eshell/clear' is implemented by sending a series of blank lines,
29453         which is not a useful thing to have in the history.
29455         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
29456         `string-blank-p' which does check for newlines (even though newlines
29457         have comment-end syntax, not whitespace syntax class).
29458         * lisp/eshell/esh-mode.el (eshell/clear): Remove
29459         `eshell-add-to-history' from `eshell-input-filter-functions' while
29460         sending the blank lines.  This change is needed to solve the bug if
29461         the user customizes `eshell-input-filter' to something that doesn't
29462         filter newlines.
29464 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
29466         Remove a few unused C functions
29468         * src/eval.c (let_shadows_global_binding_p):
29469         * src/print.c (write_string):
29470         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
29471         Remove.
29472         * src/print.c (write_string): Rename from write_string_1.
29473         All uses changed.
29475 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
29477         Avoid segfault in overlay_arrows_changed_p
29479         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
29480         to avoid a segfault.
29482 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
29484         Don't call package--ensure-init-file if initialized during startup
29486         * lisp/emacs-lisp/package.el (package-initialize): Check
29487         `after-init-time' rather than `load-file-name' to decide if
29488         `package--ensure-init-file' should be called.  Depending on
29489         `load-file-name' will fail if the user calls `pacakge-initialize' in
29490         file which is loaded from the init file (Bug#24643, Bug#25819).
29492 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
29494         Fix display of before- and after-strings at invisible text
29496         * src/xdisp.c (next_overlay_string): Don't raise the
29497         ignore_overlay_strings_at_pos_p flag if the iterator is already
29498         set to continue at a buffer position different from the one
29499         where the overlay strings we just processed were loaded.  (Bug#25856)
29501 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
29503         Work on `tramp-completion-mode-p'
29505         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
29507         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
29508         (tramp-completion-mode-p): Reintroduce the check for 'tab.
29510 2017-02-25  Tom Tromey  <tom@tromey.com>
29512         Use font-lock-doc-face in js-mode
29514         Bug#25858:
29515         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
29516         defun.
29517         (js-mode): Use it.
29518         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
29519         test.
29521 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
29523         Don't use IP 0.0.0.0 for package test server (Bug#22582)
29525         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
29526         'server_address' when port number is given on the command line.  Print
29527         IP and port number as a URL, and flush it after printing.
29528         * test/lisp/emacs-lisp/package-tests.el:
29529         (package-test-update-archives-async): Grab the whole URL from server
29530         output.
29532 2017-02-25  Tom Tromey  <tom@tromey.com>
29534         Add more branch support to vc-dir
29536         Bug#25859:
29537         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
29538         * lisp/vc/vc.el (vc-revision-history): New defvar.
29539         (vc-read-revision): Use vc-revision-history.
29540         (vc-print-branch-log): New function.
29541         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
29542         bindings.
29543         * etc/NEWS: Mention new vc-dir bindings.
29545 2017-02-25  Alan Mackenzie  <acm@muc.de>
29547         Allow for the :: operator in C++ "enum class" declarations.
29549         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
29550         "::".
29552 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
29554         Fix bug#25854
29556         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
29557         Simplify error handling for huge inodes.
29558         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
29560 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29562         Avoid leaving garbage on screen when using 'raise' display property
29564         * src/xdisp.c (display_line): Reset voffset value of the iterator
29565         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
29566         which then leaves stuff on screen that needs to be cleared by
29567         redisplay.  (Bug#25855)
29569 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29571         Fix doc strings in info.el
29573         * lisp/info.el (Info-selection-hook, Info-mode-hook)
29574         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
29576 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29578         Fix doc string of 'posn-at-point'
29580         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
29581         (Bug#25796)
29583 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
29585         New option -u / --suppress-output to emacsclient
29587         * lib-src/emacsclient.c (print_help_and_exit, longopts)
29588         (decode_options, main): Implement new option --suppress-output / -u to
29589         suppress printing of eval-results.
29590         * doc/emacs/misc.texi (emacsclient Options): Document the new
29591         "--suppress-output/-u" options.
29592         * etc/NEWS: Mention the new options.
29594 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
29596         Fix scrolling with partial line corner case (Bug#25792)
29598         Also fix up the scrolling tests so that they don't make so many
29599         assumptions about the current window configuration.
29601         * src/xdisp.c (try_window): Take partial line height into account when
29602         comparing cursor position against scroll margin.
29604         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
29605         HEIGHT argument, to allow setting up window with exact height and
29606         partial line.
29607         (scroll-tests-display-buffer-with-height): New display-buffer action
29608         function.
29609         (scroll-tests-scroll-margin-over-max):
29610         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
29611         `scroll-tests--scroll-margin-whole-window'.
29612         (scroll-tests-conservative-show-trailing-whitespace): New test.
29613         (scroll-tests-scroll-margin-negative): Fix line counting.
29614         (scroll-tests--point-in-middle-of-window-p): Set window height
29615         properly.
29617 2017-02-25  Tom Tromey  <tom@tromey.com>
29619         Fix indentation error in js.el
29621         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
29622         call in condition-case.
29623         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
29624         test.
29626 2017-02-24  Tom Tromey  <tom@tromey.com>
29628         add "async" and "await" keywords
29630         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
29632 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29634         Use cl-print for Edebug and EIEIO
29636         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
29637         (edebug-prin1, edebug-print): Remove.
29639         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
29640         (cl-print-object): Add a method for EIEIO objects.
29641         (eieio-edebug-prin1-to-string): Delete.
29642         (edebug-prin1-to-string): Don't advise any more.
29644         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
29645         Replace `object-print' -> `cl-prin1-to-string'.
29647 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29649         Fix left over uses of `call-next-method'
29651         * lisp/cedet/semantic/db-global.el (object-print):
29652         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
29654 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29656         Minor redisplay optimizations
29658         * src/frame.c (Ficonify_frame): No need to redisplay everything.
29660         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
29661         (redisplay_internal): Use it to avoid redisplaying everything.
29662         (try_window_id): Use it keep the same behavior as before.
29664 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29666         * lisp/emacs-lisp/cl-print.el: New file
29668         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
29669         (advice--make-docstring): Use it.
29671         * src/print.c (print_number_index): Don't declare here any more.
29672         (Fprint_preprocess): New function.
29674         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
29676 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
29678         Make calc's least common multiple positive (bug#25255)
29680         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
29681         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
29683 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
29685         Documentation fix in elisp reference manual
29687         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
29688         on 'declare' forms (Bug#25846).
29690 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
29692         Support read syntax for circular objects in Edebug (Bug#23660)
29694         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
29695         for edebug-read-function. Handle the read syntax for circular
29696         objects.
29697         (edebug-read-objects): New variable.
29698         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
29700         * src/lread.c (Fsubstitute_object_in_subtree): Make
29701         substitute_object_in_subtree into a Lisp primitive.
29703 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
29705         Add Conference to the list of valid bibtex entry types
29707         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
29708         Add Conference as a duplicate of InProceedings.  (Bug#25143)
29710 2017-02-23  Glenn Morris  <rgm@gnu.org>
29712         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
29714 2017-02-23  Glenn Morris  <rgm@gnu.org>
29716         Small dunnet score file improvements
29718         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
29719         (dun-do-logfile): Handle non-existing score file.
29721 2017-02-23  Glenn Morris  <rgm@gnu.org>
29723         * lisp/play/dunnet.el (dun-help): Doc fix.
29725 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
29727         Declare dun-line and dun-line-list
29729         Previously, there were free variables 'line' and 'line-list'.
29730         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
29731         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
29732         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
29733         (dun-batch-unix-interface): Use them.
29735 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29737         Merge from gnulib
29739         This incorporates:
29740         2017-02-16 xbinary-io: rename from xsetmode
29741         2017-02-15 xsetmode: new module
29742         * lib-src/etags.c (main):
29743         * lib-src/hexl.c (main):
29744         * src/emacs.c (main) [MSDOS]:
29745         Prefer set_binary_mode to the obsolescent SET_BINARY.
29746         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
29748 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29750         hexl: handle large files and I/O errors
29752         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
29753         Do not include ctype.h, as the code no longer uses isdigit.
29754         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
29755         (DEFAULT_BASE, endian): Remove; was not really used.
29756         (usage): Remove; now done by ‘main’, as that’s simpler.
29757         (progname): Now static.
29758         (output_error, hexchar): New functions.
29759         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
29760         "-little-endian" options, as they did not work and were not used.
29761         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
29762         Use SET_BINARY only once on stdout.
29763         Do not assume file offsets fit in ‘long’.
29764         If an I/O error occurs, report it and exit with nonzero status.
29766 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
29768         Avoid quitting inside a critical section on MS-Windows
29770         * src/w32uniscribe.c (uniscribe_list_family):
29771         * src/w32font.c (w32font_list_family, w32font_text_extents)
29772         (w32font_list_internal, w32font_match_internal)
29773         (list_all_matching_fonts): Prevent quitting while these functions
29774         cons lists of fonts, to avoid leaving the critical section taken
29775         by the main thread, which will then cause any other thread
29776         attempting to enter the critical section to hang.  (Bug#25279)
29778 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
29780         Use revision-completion-table in vc-retrieve-tag
29782         * lisp/vc/vc.el (vc-retrieve-tag): Use the
29783         revision-completion-table command for completion (bug#25710).
29785 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29787         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
29789         remove entries whose car can't be returned by type-of.
29790         (cl--generic-all-builtin-types): New var.
29791         (cl-generic-generalizers): Use it to avoid requiring
29792         extra entries in cl--generic-typeof-types.
29794 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
29796         Find macro binding for symbol-bound macros too (Bug#6848)
29798         There are 2 ways to bind a macro: with global-set-key or
29799         kmacro-bind-to-key.  The former binds a key to a symbol, while the
29800         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
29801         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
29802         case, but broke the symbol case.
29804         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
29805         MACRONAME.
29807 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29809         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
29811 2017-02-22  Juri Linkov  <juri@linkov.net>
29813         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
29815 2017-02-22  Juri Linkov  <juri@linkov.net>
29817         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
29819         (isearch-lazy-highlight-update): Check it to decide whether to apply
29820         overlays only on the selected window.
29822         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
29823         (Bug#17453, bug#21092)
29825 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29827         Minor weak hash table performance tweaks
29829         * src/fns.c (make_hash_table): Omit unnecessary assignment to
29830         h->next_weak when the hash table is not weak.
29831         (copy_hash_table): Put the copy next to the original in the
29832         weak_hash_tables list, as this should have better locality
29833         when scanning the weak hash tables.
29835 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29837         Use float instead of Lisp_Object for rehash_size
29839         * src/alloc.c (purecopy_hash_table):
29840         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
29841         (Fhash_table_rehash_size):
29842         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
29843         The rehash_size member of struct Lisp_Hash_Table is now a
29844         float, not a Lisp_Object.
29845         * src/alloc.c (purecopy_hash_table): Assign members in order.
29846         * src/fns.c (make_hash_table): Use EMACS_INT for size and
29847         float for rehash_size, instead of Lisp_Object for both.
29848         All callers changed.
29849         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
29850         and 1 smaller.
29851         * src/print.c (print_object): Simplify by calling
29852         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
29853         Avoid unnecessary NILP.
29855 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29857         Use ptrdiff_t instead of Lisp_Object for collision
29859         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
29860         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
29861         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
29862         integer (or Qnil if empty).  All callers changed.
29863         (larger_vecalloc): New static function.
29864         (larger_vector): Use it.
29865         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
29866         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
29867         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
29868         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
29869         * src/profiler.c (evict_lower_half, record_backtrace):
29870         -1, not nil, is now the convention for end of collision list.
29871         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
29872         of the free list.  Reallocate H->next last, in case other
29873         reallocations exhaust memory.
29874         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
29875         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
29876         ‘index’, which no longer contain nil.
29877         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
29879 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29881         Hash table threshold is now float, not double
29883         Change default from 0.8 to 0.8125 so it fits in float without
29884         rounding glitches.
29885         * doc/lispref/hash.texi (Creating Hash):
29886         * doc/lispref/objects.texi (Hash Table Type):
29887         * etc/NEWS:
29888         Document change.
29889         * src/fns.c (make_hash_table, maybe_resize_hash_table)
29890         (Fmake_hash_table): Threshold is now float, not double.
29891         Be consistent about how this is rounded.
29892         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
29893         Change back to float, now that the other code rounds consistently.
29894         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
29896 2017-02-22  Juri Linkov  <juri@linkov.net>
29898         Avoid flicker in lazy-highlight by doing all updates without redisplay.
29900         * lisp/isearch.el (lazy-highlight-max-at-a-time):
29901         Change default value from 20 to nil to not trigger redisplay
29902         between updating iterations.
29903         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
29904         overlays when non-nil.
29905         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
29906         with non-nil second arg when the search string is not empty.
29907         Run timer with isearch-lazy-highlight-start instead of
29908         isearch-lazy-highlight-update.
29909         (isearch-lazy-highlight-start): New function. (Bug#25751)
29911 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29913         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
29915         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
29917 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29919         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
29921         which resulted in incomplete list of parents in one copy of the
29922         cl-structure-class class.
29924 2017-02-21  Glenn Morris  <rgm@gnu.org>
29926         Tweak recent custom-reevaluate-setting change
29928         * lisp/custom.el (custom-reevaluate-setting):
29929         Tweak previous change to avoid font-lock init issues.
29931 2017-02-21  Glenn Morris  <rgm@gnu.org>
29933         Ensure delayed-init custom variables get marked special
29935         * lisp/custom.el (custom-reevaluate-setting):
29936         If the variable has never been set, defvar it.  (Bug#25770)
29938 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29940         Turn on lexical-binding in dunnet.el
29942         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
29943         byte compile warnings.
29945 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29947         Make dunnet insertion functions n-ary
29949         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
29950         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
29951         any number of arguments.
29952         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
29953         (dun-take, dun-go, dun-move, dun-press, dun-score):
29954         (dun-compile-save-out, dun-do-logfile): Collect arguments from
29955         multiple insertion calls into less calls with more args.
29957 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
29959         message-goto-body-1: Fix regexp so as not to match multi-line
29961         * lisp/gnus/message.el (message-goto-body-1):
29962         Fix regexp so as not to match multi-line.
29964 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
29966         Simplify cl-get using `plist-member'
29968         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
29969         `plist-member' instead of explicit loop.
29970         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
29972 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29974         Verify xwidget USE_LSB_TAG assumption
29976         * src/xwidget.c (Fxwidget_webkit_execute_script):
29977         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
29979 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
29981         * src/insdel.c (make_gap): Improve comment.
29983 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29985         Do not use switch-to-buffer for working in a temp buffer
29987         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
29988         cf. Bug#22244.
29989         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
29990         with-temp-buffer instead.
29992 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29994         Make dun-room-shorts a defconst
29996         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
29997         initial value into the declaration.
29998         (dun-space-to-hyphen): Remove.
30000 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30002         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
30004         * src/xwidget.c (webkit_javascript_finished_cb)
30005         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
30006         integer.  This fix is just a hack; I’ll file a bug report about
30007         the underlying problem.
30009 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
30011         mm-decode.el: Simplify regexp used to search html meta tag
30013         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
30014         Simplify regexp used to search html meta tag.
30016 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
30018         mm-shr: Ignore coding-system `ascii'
30020         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
30022 2017-02-20  Tom Tromey  <tom@tromey.com>
30024         vc-log-outgoing fixes for git; add binding to vc-dir
30026         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
30027         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
30028         async execution.
30029         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
30030         log-incoming.
30031         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
30032         as remote-location argument.
30034 2017-02-20  Tom Tromey  <tom@tromey.com>
30036         Remove stale comments from vc-git and vc-hg
30038         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
30039         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
30041 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
30043         Remove member clone
30045         * lisp/play/dunnet.el (dun-answer): Use member instead.
30046         (dun-members): Remove.
30048 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
30050         Prefix global var
30052         * lisp/play/dunnet.el (room): Rename to dun-room.
30053         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
30054         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
30056 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
30058         Replace nested ifs with cond
30060         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
30061         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
30062         and cond where appropriate.
30063         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
30064         (dun-take): Use null and dun-mprincl.
30065         (dun-inven-weight, dun-load-d): Reformat.
30066         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
30068 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
30070         Fix glitches in recent hash table changes
30072         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
30073         by using 0 rather than -1.
30074         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
30075         than a bitfield, for speed (the bitfield did not save space).
30076         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
30077         float, since the float caused unwanted rounding errors, e.g.,
30078         (hash-table-rehash-threshold (make-hash-table)) yielded
30079         0.800000011920929 instead of the correct 0.8.
30081 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
30083         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
30085 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
30087         Avoid aborts during loadup
30089         * src/emacs-module.c (syms_of_module):
30090         * src/image.c (xpm_make_color_table_h): Update calls to
30091         make_hash_table to adjust to a recent change in fns.c.
30092         * src/fns.c (make_hash_table):
30093         * src/lisp.h (make_hash_table): 4th arg is now of type double.
30095 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
30097         Rework connection local variables
30099         For connection local variables interface, `class' is renamed
30100         to `profile'.  All arguments `criteria' are a plist now.
30102         * doc/lispref/variables.texi (Connection Local Variables):
30103         Rewrite.
30105         * lisp/files-x.el (connection-local-profile-alist): Rename
30106         from `connection-local-class-alist'.  Adapt docstring.
30107         (connection-local-criteria-alist): Adapt docstring.
30108         (connection-local-normalize-criteria): New defun.
30109         (connection-local-get-profiles): Rename from
30110         `connection-local-get-classes'.  Rewrite.
30111         (connection-local-set-profiles): Rename from
30112         `connection-local-set-classes'.  Rewrite.
30113         (connection-local-get-profile-variables): Rename from
30114         `connection-local-get-class-variables'.  Rewrite.
30115         (connection-local-set-profile-variables): Rename from
30116         `connection-local-set-class-variables'.  Rewrite.
30117         (hack-connection-local-variables)
30118         (hack-connection-local-variables-apply)): Rewrite.
30119         (with-connection-local-profiles): Rename from
30120         `ith-connection-local-classes'.  Rewrite.
30122         * lisp/net/tramp.el (tramp-set-connection-local-variables):
30123         Compute criteria.
30125         * lisp/net/tramp-cmds.el (tramp-bug):
30126         Use `connection-local-profile-alist'.
30128         * test/lisp/files-x-tests.el (files-x-test--variables1)
30129         (files-x-test--variables2, files-x-test--variables3)
30130         (files-x-test--variables4, files-x-test--criteria1)
30131         (files-x-test--criteria2): Make them a defconst.
30132         (files-x-test--application)
30133         (files-x-test--another-application, files-x-test--protocol)
30134         (files-x-test--user, files-x-test--machine): New defconst.
30135         (files-x-test--criteria): New defvar.
30136         (files-x-test--criteria3): Remove.
30137         (files-x-test-connection-local-set-profile-variables):
30138         Rename from `files-x-test-connection-local-set-class-variables'.
30139         Rewrite.
30140         (files-x-test-connection-local-set-profiles): Rename from
30141         `files-x-test-connection-local-set-classes'.  Rewrite.
30142         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
30143         (files-x-test-with-connection-local-profiles): Rename from
30144         `files-x-test-with-connection-local-classes'.  Rewrite.
30146 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
30148         Set up combination and random item location
30150         * lisp/play/dunnet.el (dun-combination): Make defconst.
30151         (tloc, tcomb): Remove.  Replace with a top-level form.
30153 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
30155         Replace movement variables with an alist and accessor
30157         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
30158         (northwest, southwest, up, down, in, out): Remove.
30159         (dun-movement-alist): New constant.
30160         (dun-movement): New function.
30161         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
30162         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
30163         (dun-move, dun-special-move): Translate movement symbol to an
30164         enumeration.
30166 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
30168         Change top-level setq forms to defvar or defconst
30170         Also collect some code onto fewer lines and reindent.
30171         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
30172         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
30173         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
30174         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
30175         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
30176         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
30177         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
30178         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
30179         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
30180         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
30181         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
30182         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
30183         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
30184         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
30185         declaration to use defvar or defconst.
30186         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
30187         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
30188         dun-verblist.  Those are now constants and the byte compiler doesn't
30189         allow defconsts in lambda lists.
30191 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
30193         Move all dunnet globals up to the top
30195         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
30196         (dun-visited, dun-current-room, dun-exitf):
30197         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
30198         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
30199         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
30200         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
30201         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
30202         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
30203         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
30204         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
30205         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
30206         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
30207         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
30208         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
30209         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
30210         top of the file, before any uses.
30212 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
30214         Fix bug#25788
30216         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
30217         Do not load tramp.el just for "/".  (Bug#25788)
30219 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30221         Fix fringe bitmap initialization on MS-Windows
30223         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
30224         of fb->bits.  (Bug#25673)
30226 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
30228         Change type of `rehash_threshold' and `pure' fields in hash-tables
30230         * src/lisp.h (struct Lisp_Hash_Table): Change type of
30231         `rehash_threshold' and `pure' fields and move them after `count'.
30232         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
30233         (Fmake_hash_table, Fhash_table_rehash_threshold):
30234         * src/category.c (hash_get_category_set):
30235         * src/xterm.c (syms_of_xterm):
30236         * src/profiler.c (make_log):
30237         * src/print.c (print_object):
30238         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
30240 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
30242         Use 'char *FOO' instead of 'char* FOO'
30244 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
30246         More json.el changes
30248         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
30249         (json-read-array): Just use = for char comparison.
30251 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
30253         * lisp/woman.el (woman): Fix docstring prefix arg description.
30255 2017-02-18  Alan Mackenzie  <acm@muc.de>
30257         Fix edebug-spec on c-lang-defvar.
30259         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
30260         optional documentation to be instrumented for edebug.
30262         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
30263         c-lang-defvar.
30264         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
30265         'dont-doc.
30267 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
30269         Lists used as plists now have to be an even length
30271         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
30272         (eww-process-text-input): Not here, either.
30274 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
30276         Unset `non-essential' in Tramp when not needed anymore
30278         * doc/misc/trampver.texi:
30279         * lisp/net/trampver.el: Change version to "2.3.2-pre".
30281         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30282         Use `tramp-completion-mode-p'.
30284         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
30285         when file name doesn't match `tramp-completion-file-name-regexp'.
30287 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30289         Automatically regenerate emacs.1 and *.rc files
30291         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
30292         non-Makefile files produced by config.status.
30293         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
30294         their targets are regenerated when the source changes.
30296 2017-02-18  Alan Mackenzie  <acm@muc.de>
30298         Set the syntax table in AWK Mode.
30300         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
30301         It fixes bug #25722.
30303         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
30305 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30307         Mention "editor" in Emacs man page header
30309         * doc/man/emacs.1.in: Mention "editor" in the header line.
30310         (Bug#25771, Bug#25779)
30312 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
30314         Fix Turkish language environment setup
30316         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
30317         language setup.  (Bug#25763)
30319 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
30321         Support 24-bit direct colors on text terminals
30323         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
30324         foreground and background functions are present in terminal type
30325         definition.
30326         * src/tparam.h: Define prototype for tigetstr.
30328         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
30329         index to pixel value on 16.7M color terminals.
30330         (tty-color-24bit): New function to convert color palette index to
30331         pixel value on 16.7M color terminals.
30332         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
30333         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
30334         TTY colors on 16.7M color terminals.
30336         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
30337         enable direct color TTY mode.
30338         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
30340 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
30342         Remove unused TN_max_pairs field
30344         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
30345         describing maximum number of terminal background/foreground color pairs.
30346         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
30347         (init_tty): Remove references to TN_max_pairs.
30349 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30351         Improve documentation of query-replace-from-to-separator
30353         * doc/emacs/search.texi (Query Replace): Document the meaning of
30354         the nil value of query-replace-from-to-separator.  (Bug#25482)
30356 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30358         Document problems with nerd-fonts
30360         * etc/PROBLEMS (fonts): Describe the potential problems with
30361         nerd-fonts that cause slow display.  (Bug#25697)
30363 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30365         Improve commentary for a recent change in keyboard.c
30367         * src/keyboard.c (Fset__this_command_keys): Add a comment about
30368         the magic 248 value.  (Bug#25612)
30370 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30372         Avoid infloop in rect.el
30374         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
30375         with argument N whose absolute value is greater than 1.  (Bug#25773)
30377 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
30379         Remove annoying warnings about let-binding
30381         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
30382         Remove warnings about making symbols local while let-bound.
30383         (Bug#25561)
30385 2017-02-18  Hong Xu  <hong@topbug.net>
30387         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
30389         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
30390         functionp instead of fboundp on
30391         flyspell-generic-check-word-predicate (Bug#25765).
30393 2017-02-18  Glenn Morris  <rgm@gnu.org>
30395         Remove the build number from emacs-version variable
30397         It's a largely internal detail that can confuse users.  (Bug#25590)
30398         * lisp/version.el (emacs-build-number): New constant.
30399         (emacs-version): Use emacs-build-number.
30400         * lisp/loadup.el (top-level): When dumping, increment
30401         emacs-build-number rather than emacs-version.
30402         * src/emacs.c (emacs-version): Doc fix.
30403         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
30404         Mention emacs-build-number.
30405         * lisp/gnus/gnus-util.el (gnus-emacs-version):
30406         * lisp/mail/emacsbug.el (report-emacs-bug):
30407         * admin/admin.el (set-version): Update for emacs-version change.
30409 2017-02-18  Glenn Morris  <rgm@gnu.org>
30411         Ensure that user-mail-address always has a value
30413         * lisp/startup.el (user-mail-address): Initialize in the normal way.
30414         (command-line): Reset user-mail-address if needed using
30415         standard custom machinery.
30416         * lisp/mail/feedmail.el (feedmail-fiddle-from):
30417         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
30418         * lisp/mail/rmailsum.el (rmail-header-summary):
30419         Simplify now that user-mail-address is always set.
30421 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
30423         Turn on lexical-binding in ruby-mode
30425         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
30426         (ruby-font-lock-syntax-table): Use make-syntax-table.
30427         (ruby-mode): 'define-derived-mode' writes the keys for us.
30429 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
30431         Turn on lexical-binding in elint.el
30433         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
30434         (elint-running, elint-current-pos): Move these dynamic vars to toward
30435         the top of the file.
30436         (elint-check-quote-form): Ignore unused argument.
30437         (elint-check-conditional-form): Remove unused binding.
30439 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
30441         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
30443 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
30445         Enable erc-accidental-paste-threshold-seconds by default
30447         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
30448         default to 0.2 (Bug#25709).
30450 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
30452         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
30454         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
30455         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
30456         one created with ‘make extraclean’), see
30457         <http://hydra.nixos.org/build/48774928>.
30459         The failure was caused by characters.el trying to read Unicode
30460         property tables which aren’t available so early in the build process.
30462         Wrap the part that requires Unicode property tables in a condition
30463         checking if those are available.  If they aren’t they case and syntax
30464         tables won’t be fully set but later on, the characters.el file will be
30465         evaluated again and this time with Unicode properties available so
30466         final Emacs ends up with the exact same case and syntax tables.
30468 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
30470         mm-add-meta-html-tag: Improve regexp
30472         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
30473         Improve regexp to search html meta tag.
30475 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
30477         mm-shr: Prefer charset specified in html meta tag
30479         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
30480         meta tag than mail-parse-charset in the case there is no charset spec
30481         in MIME header.
30483 2017-02-17  Glenn Morris  <rgm@gnu.org>
30485         Stop duplicating some custom-types in message.el
30487         * lisp/gnus/message.el (user-mail-address, user-full-name):
30488         No need to re-specify custom-type.
30490 2017-02-17  Glenn Morris  <rgm@gnu.org>
30492         Whitespace trivia in dunnet.el
30494         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
30495         (dun-rlogin-endgame): Whitespace trivia.
30497 2017-02-17  Glenn Morris  <rgm@gnu.org>
30499         Explicit error on changing case of negative integers
30501         * src/casefiddle.c (casify_object): Reject negative integers:
30502         Emacs characters are positive integers.  (Bug#25684)
30504 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
30506         Fix buffers update in vc-retrieve-tag
30508         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
30509         `repository', use the repository root and pass it to
30510         vc-resynch-buffer (bug#25714).
30512 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30514         * src/buffer.h: Fix indenting.
30516 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30518         Add sanity checks for Bswitch hash tables
30520         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
30521         Check that operand is a hash table and hashes to ints.
30523 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30525         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
30527 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
30529         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
30531         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
30532           redundant operations while calculating the correct jump addresses
30533           from TAGs in jump tables.
30535 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
30537         Minor changes in json.el
30539         * lisp/json.el (json-advance): Simpler docstring.
30540         (json-read-escaped-char): Use xdigit subform in rx expression.
30541         (json-read-string): Just use = for char comparison.
30543 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
30545         Don't expand body inside a let-binding when there are no bindings
30547         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
30548         is non-nil.
30550 2017-02-16  Glenn Morris  <rgm@gnu.org>
30552         Handle user-mail-address being the empty string
30554         * lisp/mail/feedmail.el (feedmail-fiddle-from):
30555         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
30556         * lisp/mail/rmailsum.el (rmail-header-summary):
30557         Belated update for 2002-09-29 startup.el change, 680ebfa, where
30558         the value of user-mail-address during initialization was changed
30559         from nil to the empty string.
30561 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
30563         Continue to fix bug#25607
30565         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
30566         (ido-file-name-all-completions-1): Do not bind `non-essential'.
30568         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
30569         Improve autoloaded version.
30570         (tramp-completion-file-name-handler): Remove old compat code.
30571         Check only for `tramp-completion-mode-p'.
30572         (tramp-completion-mode-p): Autoload.  Do not check any longer
30573         for `last-input-event'.
30574         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
30576 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30578         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
30580         A compatibility digraph characters, such as Dž, are neither upper- nor
30581         lower-case.  At the moment however, those are reported as upper-case¹
30582         despite the fact that they change when upper-cased.
30584         Stop checking if a character is upper-case before trying to up-case it
30585         so that title-case characters are handled correctly.  This fixes one of
30586         the issues mentioned in bug#24603.
30588         ¹ Because they change when converted to lower-case.  Notice an asymmetry
30589           in that for a character to be considered lower-case it must not be
30590           upper-case (plus the usual condition of changing when upper-cased).
30592         * src/buffer.h (upcase1): Delete.
30593         (upcase): Change to upcase character unconditionally just like downcase
30594         does it.  This is what upcase1 was.
30596         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
30597         of upcase1 and don’t check !uppercasep(x) before calling upcase.
30599         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
30600         downcase(x) and see if it changed.
30602         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30603         casefiddle-tests-casing): Update test cases which are now passing.
30605 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30607         Generate upcase and downcase tables from Unicode data  (bug#24603)
30609         Use Unicode data to generate case tables instead of mostly repeating
30610         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
30611         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
30613         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
30614         changes to syntax table and case tables introduced by this commit.
30616         * lisp/international/characters.el: Remove case-pairs defined with
30617         explicit Lisp code and instead use Unicode character properties.
30619         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30620         casefiddle-tests-casing): Update test cases which are now working
30621         as they should.
30623 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30625         Add tests for casefiddle.c  (bug#24603)
30627         Fixes cases marked FIXME upcoming in followup commits.
30629         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
30630         casefiddle-tests-case-table, casefiddle-tests-casing-character,
30631         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
30632         casefiddle-tests-casing-byte8-with-changes): New tests.
30633         (casefiddle-tests--test-casing): New helper function for runnig
30634         some of the tests.
30636 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30638         oldXMenu: add missing #include <string.h>
30640         Some of the files in oldXMenu use functions from string.h without
30641         including that header which results in compile warnings:
30643                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
30644                 ChgPane.c:46:20: warning: incompatible implicit declaration of
30645                         built-in function ‘strlen’
30646                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
30647                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
30648                         function ‘strlen’
30649                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
30650                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
30651                 InsPane.c:65:20: warning: incompatible implicit declaration of
30652                         built-in function ‘strlen’
30653                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
30654                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
30655                         function ‘strlen’
30656                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
30658         Add the necessary ‘#include <string.h>’.
30660         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
30661         oldXMenu/InsSel.c: add missing #include <string.h>
30663 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
30665         Fixup recent rmail patch
30667         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
30669 2017-02-15  Richard Stallman  <rms@gnu.org>
30671         Rmail fix
30673         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
30674         as element 4 of the value.
30675         (rmail-epa-decrypt): Take the text to insert from that element.
30677 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
30679         bytecomp-tests.el: Store all test forms in one constant.
30681         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
30682         in a single constant (byte-opt-testsuite-arith-data), add new forms
30683         which generate lapcode with adjacent/redundant tags.
30685 2017-02-15  Glenn Morris  <rgm@gnu.org>
30687         Small lispref edit
30689         * doc/lispref/os.texi (User Identification):
30690         Remove extraneous detail about user-mail-address.
30692 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30694         Document fill-separate-heterogeneous-words-with-space (bug#25685)
30696         * doc/lispref/text.texi (Filling):
30697         Document fill-separate-heterogeneous-words-with-space (bug#25685).
30699 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
30701         Test comment-multi-line = nil auto fill case too
30703         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
30704         `comment-multi-line' both nil and non-nil.
30705         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
30706         boolean.
30707         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
30709 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30711         Don't delete leading and trailing space from CJK word (bug#25685)
30713         * lisp/textmodes/fill.el (fill-delete-newlines):
30714         Don't delete leading and trailing space from CJK word.
30715         (fill-separate-heterogeneous-words-with-space):
30716         New user option that controls it (bug#25685).
30718 2017-02-15  Juri Linkov  <juri@linkov.net>
30720         ‘M-s w RET word C-s’ repeats incremental search.
30722         * lisp/isearch.el (isearch-new-nonincremental): New variable.
30723         (with-isearch-suspended): Bind isearch-new-nonincremental to
30724         isearch-nonincremental, and restore it afterwards.
30725         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
30726         Set isearch-new-nonincremental to nil.  (Bug#25562)
30728 2017-02-14  Tom Tromey  <tom@tromey.com>
30730         Make vc-git detect conflict state for vc-dir
30732         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
30733         (vc-git-dir-status-update-file): New function.
30734         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
30735         vc-git-dir-status-state; add 'ls-files-conflict state.
30736         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
30738 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
30740         byte-opt: Replace merged tags in jump tables too. (bug#25716)
30742         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
30743           adjacent tags, make sure that the old tag is replaced in all jump
30744           tables, if any. This fixes the bytecode VM jumping to the wrong
30745           address in compiled cond forms where the body of a clause was a loop
30746           of any sort.
30748 2017-02-14  Glenn Morris  <rgm@gnu.org>
30750         Remove overly broad element from default mail-dont-reply-to-names
30752         * lisp/mail/mail-utils.el (mail-dont-reply-to):
30753         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
30754         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
30755         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
30756         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
30758 2017-02-14  Juri Linkov  <juri@linkov.net>
30760         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
30762 2017-02-13  Arash Esbati  <arash@gnu.org>
30764         Match all characters in optional argument of \documentclass
30766         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
30767         characters in optional argument containing name of the main file.
30769 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30771         Merge branch 'master' into feature/byte-switch
30773 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
30775         Fix non-ASCII text encoding (bug#25658)
30777         * lisp/gnus/mm-bodies.el (mm-encode-body):
30778         Fix non-ASCII text encoding (bug#25658).
30780 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30782         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
30784 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
30786         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
30788 2017-02-13  Glenn Morris  <rgm@gnu.org>
30790         Fix recent bootstrap issue by moving string-to-list
30792         * lisp/international/mule-util.el (string-to-list, string-to-vector):
30793         Move from here...
30794         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
30795         The implementation is trivial and at least string-to-list
30796         has ended up being needed early during bootstrap.
30798 2017-02-13  Glenn Morris  <rgm@gnu.org>
30800         Doc fixes related to mail-host-address
30802         * lisp/startup.el (mail-host-address): Doc fix.
30803         * doc/lispref/os.texi (System Environment):
30804         Remove extraneous details of mail-host-address.
30806 2017-02-13  Glenn Morris  <rgm@gnu.org>
30808         Simplify time-stamp mail host usage
30810         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
30811         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
30813 2017-02-13  Glenn Morris  <rgm@gnu.org>
30815         Doc fix for vhdl-mode re mail-host-address
30817         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
30818         (mail-host-address): Do not add to vhdl-related custom group,
30819         since vhdl-template-replace-header-keywords doesn't use it.
30821 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30823         Substitute leading $HOME/ in xdg-user-dirs
30825         * lisp/xdg.el (xdg--substitute-home-env): New function.
30826         (xdg--user-dirs-parse-line): Use it.
30827         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
30829 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30831         * lisp/buff-menu.el: Turn on lexical-binding.
30833 2017-02-13  Juri Linkov  <juri@linkov.net>
30835         * lisp/replace.el (query-replace-from-to-separator): Move propertize
30837         and char-displayable-p test to query-replace-read-from.
30838         Add choice nil to disable this feature.
30839         (query-replace-read-from): Don't reevaluate custom setting.
30840         Use char-displayable-p to test the first non-whitespace character
30841         in query-replace-from-to-separator, use " -> " when fails.
30842         Add prompt for the case when separator is nil but
30843         query-replace-defaults is non-nil.
30844         Remove unused test for regexp-flag.
30845         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
30847 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
30849         Convert more uses of `looking-at' to `following-char'
30851         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
30852         (commit 91478f46238a) with more of the same.
30854         * lisp/bookmark.el (bookmark-send-edited-annotation):
30855           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
30856           with char comparisons using following-char.
30858 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30860         Fix typos in tests for lax-plist-get etc.
30862         Problem reported by Eli Zaretskii (Bug#25606#62).
30863         * test/src/fns-tests.el (test-cycle-lax-plist-get)
30864         (test-cycle-plist-put, test-cycle-lax-plist-put):
30865         Fix tests to match behavior.
30867 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
30869         Fix bug#25607
30871         * lisp/net/tramp.el (tramp-completion-file-name-handler):
30872         Improve autoloaded version.
30873         (tramp-autoload-file-name-handler): Avoid recursive load.
30874         (tramp-completion-handle-expand-file-name): Handle empty NAME.
30875         (Bug#25607)
30877 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30879         Remove server-buffer-clients string from minor-mode-alist
30881         * lisp/server.el: Don't put an element for server-buffer-clients into
30882         minor-mode-alist. (Bug#20201)
30884 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30886         Nix some useless uses of looking-at, looking-back
30888         * lisp/allout.el (allout-kill-topic):
30889         (allout-next-topic-pending-encryption):
30890         * lisp/bookmark.el (bookmark-kill-line):
30891         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
30892         * lisp/cus-theme.el (custom-theme-write-variables):
30893         (custom-theme-write-faces):
30894         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
30895         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
30896         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
30897         (checkdoc-interactive-ispell-loop):
30898         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
30899         (checkdoc-this-string-valid-engine):
30900         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
30901         * lisp/emulation/viper-cmd.el (viper-backward-indent):
30902         * lisp/image-dired.el (image-dired-delete-char):
30903         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
30904         looking-back with char comparisons using following-char, preceding-char.
30906 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
30908         Clarify what is the "cursor"
30910         * doc/lispref/windows.texi (Window Point): Clarify the notion of
30911         "cursor".
30913 2017-02-11  Tom Tromey  <tom@tromey.com>
30915         Recognize JS regexp literals more correctly
30917         Bug#25529
30918         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
30919         constant.
30920         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
30921         (js--syntax-propertize-regexp-syntax-table): Remove.
30922         (js-syntax-propertize): Update.
30923         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
30924         New test.
30926 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30928         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
30930         This avoids using XUINT every time while comparing it with
30931         HASH_HASH (h, i), replacing it with EQ.
30933 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30935         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
30937 2017-02-11  Tom Tromey  <tom@tromey.com>
30939         Fix bug in css--mdn-find-symbol
30941         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
30942         before skipping word characters.
30943         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
30944         regression test.
30946 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30948         src/bytecode.c: Add optional sanity check for jump tables.
30950         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
30951           check that the jump table's size is equal to it's count.
30953 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30955         Merge branch 'master' into feature/byte-switch
30957         * src/bytecode.c: Refactor to follow GNU coding standards
30959 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30961         Fix handling of XBM images on MS-Windows
30963         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
30964         'nbytes' when inverting XBM data bits.  (Bug#25661)
30966 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30968         Fix handling of PBM data
30970         * src/image.c (pbm_load): Handle PBM data with no blanks between
30971         individual pixel values correctly.  (Bug#25660)
30973 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
30975         Fix warnings in debug tracing code
30977         * src/xdisp.c (dump_glyph, dump_glyph_string):
30978         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
30979         specifiers to match signedness.
30981 2017-02-10  Sam Steingold  <sds@gnu.org>
30983         Extract grep-find-ignored-directories processing from rgrep-default-command
30985         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
30986         Some Emacs packages use `grep-find-ignored-directories' to ignore some
30987         directories, so will use this function instead of custom code.
30988         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
30990 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
30992         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
30994         * src/bytecode.c: (exec_byte_code) While linear searching the jump
30995           table, compare the value's hash table first to avoid calling
30996           h->test.cmpfn every time.
30998 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
31000         Fix a few integer-overflow glitches
31002         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
31003         * src/dispextern.h (struct composition_it.rule_idx):
31004         * src/keyboard.c (Fset__this_command_keys):
31005         * src/xwidget.c (webkit_js_to_lisp):
31006         Don’t assume object sizes fit in ‘int’.
31007         * src/xwidget.c (Fxwidget_resize):
31008         Don’t assume Emacs integers fit in ‘int’.
31010 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
31012         Fix a bug with displaying an image after a TAB
31014         * src/xdisp.c (display_line): Handle TAB at end of screen line
31015         specially only when we are displaying characters.  (Bug#25662)
31017 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
31019         Improve commentary in lisp.h
31021         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
31022         object is discouraged.
31024 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
31026         Move cyclic tests to fns-tests.el
31028         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
31029         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
31030         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
31031         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
31032         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
31033         (test-cycle-plist-get, test-cycle-lax-plist-get)
31034         (test-cycle-plist-member, test-cycle-plist-put)
31035         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
31036         New tests.
31037         * test/manual/cyclic-tests.el: File deleted.
31039 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
31041         Fix instrumenting code with propertized strings in Edebug
31043         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
31044         'read' to decide what is and isn't a syntax error.  (Bug#25068)
31046 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
31048         Improve fontification in bat-mode
31050         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
31051         word and symbol constituents when looking for variable names
31052         to fontify; also, correct the syntax table and mark the equal
31053         sign (=) character as punctuation.  Improve fontification
31054         accuracy of iteration/positional variables.
31055         (bat-mode): Set comment-start-skip.  (Bug#25541)
31057         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
31058         bat-mode.el.
31060 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
31062         Restore special setting of this-command-keys by M-x
31064         It was lost when execute-extended-command was reimplemented in Lisp.
31066         * src/keyboard.c (Fset__this_command_keys): New function.
31067         (syms_of_keyboard): Defsubr it.
31069         * lisp/simple.el (execute-extended-command): Set this-command-keys
31070         as novice.el expects.  (Bug#25612)
31072 2017-02-09  Juri Linkov  <juri@linkov.net>
31074         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
31076         to t to display "Pending" in the search prompt for lax
31077         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
31078         when 'bound' is non-nil.
31079         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
31080         at the beginning of regexp (bug#22589).
31082         * lisp/info.el (Info-isearch-search):
31083         Use isearch--lax-regexp-function-p.
31085         * doc/emacs/search.texi (Word Search, Symbol Search):
31086         Mention "Pending" prompt for lax word/symbol search.
31088 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
31090         src/bytecode.c (exec_byte_code): Remove unneeded assert.
31092         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
31094 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
31096         bytecode.c (exec_byte_code): don't check hash code in linear search.
31098         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
31099           not nil when linear scanning the jump table. Hash tables for are
31100           declared with :size as the exact number of cases, so each entry i
31101           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
31102           check.
31104 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
31106         Ibuffer: Update mode documentation
31108         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
31110 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
31112         Fix environment variable for xdg-data-dirs
31114         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
31116 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
31118         Ibuffer: Erase output buffer before shell commands
31120         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
31121         BEFORE and AFTER; they are forms to run before/after the operation.
31122         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
31123         New defun; if shell-command-dont-erase-buffer is nil, then
31124         erase shell command output buffer.
31125         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
31127 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
31129         Ibuffer: Don't truncate shell command output
31131         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
31132         (ibuffer-do-shell-command-pipe-replace)
31133         Use 'call-shell-region' (Bug#22679).
31134         (ibuffer-do-shell-command-file): Use call-process-shell-command.
31135         If FILE, the file that the buffer object is visiting,
31136         exists and the buffer is up-to-date, then use
31137         FILE instead of creating a temporary file (Bug#22679).
31139 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
31141         Improve byte-switch execution.
31143         * lisp/emacs-lisp/byte-opt.el,
31144           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
31145           (byte-compile-lapcode): Calculate the actual jump address while
31146           compiling, store it in the jump table.
31148         * src/bytecode.c: Jump to the looked up value directly, do a linear
31149           search when the number of elements is <= 5.
31151 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
31153         Make sure eshell pipelines don't drop data
31155         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
31156         handling output of the process, make sure to close the pipes only later,
31157         so that the next process in the pipeline recieves EOF only after getting
31158         all its input (Bug#25549).
31160 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
31162         Make mm-shr use mail-parse-charset by default
31164         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
31165         This helps an html message with no charset spec to be decoded.
31167 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
31169         describe-char: unambiguous name for inserting ASCII 7
31171         * lisp/descr-text.el (describe-char): Make the input
31172         suggestion for inserting ASCII character 7 by name use the
31173         unambiguous name "BELL (BEL)" (bug#25641).
31175 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
31177         Modify suppressing `vc-refresh-state' in filenotify-tests.el
31179         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
31180         Use an advice rather than an alias for suppressing `vc-refresh-state'.
31182 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
31184         Disable native completion for ipython (Bug#25067)
31186         * lisp/progmodes/python.el:
31187         (python-shell-completion-native-disabled-interpreters): Add "ipython".
31189 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
31191         Suppress undesired error messages in filenotify-tests.el
31193         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
31194         Suppress `vc-refresh-state', it produces undesired error messages.
31196 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
31198         Fix a typo in ada-mode manual
31200         * doc/misc/ada-mode.texi (Project file variables): Add a missing
31201         right bracket.  Reported by Jean-Christophe Helary
31202         <jean.christophe.helary@gmail.com>.
31204 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
31206         Ensure that Gnus bugs show up in the Emacs tracker
31208         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
31209         package spec.
31211 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
31213         Revert "Don't tag Gnus bugs with "gnus""
31215         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
31217         The debbugs syntax requires a package name
31219 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
31221         Add tests for checking byte-switch code.
31223         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
31224           test byte-switch bytecode.
31226 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
31228         Add xdg library
31230         * etc/NEWS: Mention new library.
31231         * lisp/xdg.el: New file.
31233 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31235         Do not trick info/dir’s timestamp
31237         * Makefile.in (${srcdir}/info/dir): When making this file, do not
31238         do anything special about its timestamp.  Previously this rule
31239         used move-if-change, which meant that this file’s timestamp could
31240         end up being older than the files it depends on, and this caused
31241         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
31242         now that ‘make-dist’ invokes ‘make --question info’.
31244 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31246         Make FOR_EACH_TAIL more like other FOR_EACH macros
31248         See comments by Stefan Monnier in:
31249         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
31250         and by Eli Zaretskii in:
31251         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
31252         * src/fns.c (internal_equal): Do not bypass check for depth
31253         overflow when tail-recursing via a dotted list tail or an overlay
31254         plist, to avoid a rare infloop.
31255         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
31256         arg, and update it at each iteration, rather than have callers
31257         access it.tail.  All callers changed.
31258         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
31259         the caller’s responsibility.  All callers changed.
31260         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
31261         (struct for_each_tail_internal.tail): Remove; no longer needed.
31262         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
31263         arg each time through the loop.  All callers changed.
31265 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
31267         Port to clang 3.8.0
31269         It does not allow a for-loop's control var to be an anonymous struct.
31270         * src/lisp.h (struct for_each_tail_internal): New type.
31271         (FOR_EACH_TAIL_INTERNAL): Use it.
31273 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31275         Add cyclic-list tests
31277         * test/manual/cycle-tests.el: New file (Bug#25606).
31279 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31281         FOR_EACH_TAIL now checks for quit
31283         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
31284         maybe_quit are unnecessary in practice, Eli was not convinced
31285         that the calls are unnecessary.
31286         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
31287         Call maybe_quit every so often.
31288         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
31290 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
31292         Signal list cycles in ‘length’ etc.
31294         Use macros like FOR_EACH_TAIL instead of maybe_quit to
31295         catch list cycles automatically instead of relying on the
31296         user becoming impatient and typing C-g (Bug#25606).
31297         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
31298         (Frassoc, Fdelete, Freverse):
31299         Use FOR_EACH_TAIL instead of maybe_quit.
31300         (Fnreverse): Use simple EQ to check for circular list instead
31301         of rarely_quit, as this suffices in this unusual case.
31302         (Fplist_put, Flax_plist_put, Flax_plist_put):
31303         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
31304         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
31305         of by-hand tail recursion that did not catch cycles.
31306         * src/fns.c (Fsafe_length, Fplist_get):
31307         * src/xdisp.c (display_mode_element):
31308         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
31309         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
31310         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
31311         fancier versions are no longer needed.
31312         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
31313         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
31314         mostly taken from FOR_EACH_TAIL.
31315         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
31317 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
31319         Simplify use of FOR_EACH_TAIL
31321         * src/data.c (circular_list): New function.
31322         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
31323         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
31324         to speed things up a bit on typical hosts with optimization.
31325         All uses changed (Bug#25605).
31327 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
31329         * lisp/textmodes/css-mode.el: Require subr-x at compile time
31331 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
31333         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
31335         * doc/lispref/nonascii.texi (Text Representations): Clarify that
31336         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
31337         'filepos-to-bufferpos' can lead to expensive and slow processing.
31339         * lisp/international/mule-util.el (filepos-to-bufferpos)
31340         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
31342 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31344         Merge remote-tracking branch 'origin/master' into feature/byte-switch
31346 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31348         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
31350         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
31351           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
31352           make sure that obj1/obj2 can be compared with `eq'.
31354 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31356         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
31358 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31360         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
31362         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
31363           Restore value of byte-compile-depth after emitting a jump to a tag
31364           in a jump table, or default/done tags.
31365           Set the depth of final tags for byte-switch to nil after emitting
31366           any jumps to them.
31368 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31370         byte-opt.el: Replace jump tables while decompiling correctly.
31372         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
31373           Don't make a copy of the constant vector, as it isn't used with
31374           the decompiled lapcode.
31375           Make sure that the correct lapcode pair/list is being modified while
31376           replacing the jump table.
31378 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
31380         bytecomp.el: Don't store non-keyword symbols in jump-tables.
31382         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
31383           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
31384           table can only be used when comparing variables with constant values.
31386 2017-02-04  Tom Tromey  <tom@tromey.com>
31388         typo fix
31390         (css--colon-inside-selector-p): Fix typo in docstring.
31392 2017-02-04  Tom Tromey  <tom@tromey.com>
31394         Set comment-multi-line in js-mode
31396         Bug#6806:
31397         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
31398         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
31400 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
31402         * test/manual/indent/scss-mode.scss: Fix indentation
31404 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
31406         Fix indentation of multiline CSS property values
31408         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
31409         to properties higher precedence.
31410         (css--colon-inside-selector-p, css--colon-inside-funcall): New
31411         functions for helping SMIE during tokenization.
31412         (css-smie--forward-token, css-smie--backward-token): Distinguish
31413         colons belonging to properties from other colons.
31415         * test/manual/indent/css-mode.css: Add tests for the changes above.
31417         * test/manual/indent/scss-mode.scss: Ditto.
31419 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
31421         Add tests for lisp/kmacro.el
31423         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
31425 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
31427         Fix autorevert-tests on MS-Windows
31429         * test/lisp/autorevert-tests.el
31430         (auto-revert-test02-auto-revert-deleted-file): Don't check that
31431         auto-revert-use-notify was reset to nil on w32.
31433 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
31435         New macro 'ert-with-message-capture'
31437         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
31438         (Bug#25158)
31440         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
31441         (auto-revert-test00-auto-revert-mode)
31442         (auto-revert-test01-auto-revert-several-files)
31443         (auto-revert-test02-auto-revert-deleted-file)
31444         (auto-revert-test03-auto-revert-tail-mode)
31445         (auto-revert-test04-auto-revert-mode-dired):
31446         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
31447         ert-with-message-capture.
31449 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
31451         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
31453         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
31454         'declare' form.  (Bug#24722)
31456 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
31458         Fix a syntax error when evaluating pcase.el under Edebug
31460         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
31461         with an explicit 'put' form.  Suggested by Gemini Lasswell
31462         <gazally@runbox.com>.  (Bug#24717)
31464 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
31465             Eli Zaretskii  <eliz@gnu.org>
31467         Change edebug-max-depth from defconst to defcustom
31469         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
31470         (Bug#24713)
31472         * etc/NEWS: Mention edebug-max-depth.
31474         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
31475         edebug-max-depth and index it.  Add cross-references for
31476         max-lisp-eval-depth and max-specpdl-size.
31478 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
31480         Support options with embedded whitespace in 'dired-listing-switches'
31482         * lisp/dired.el (dired-listing-switches): Document how to quote
31483         options with embedded whitespace.
31485         * lisp/files.el (insert-directory): Use split-string-and-unquote
31486         to support dired-listing-switches that specify command-line
31487         options with embedded spaces.  (Bug#25485)
31489 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
31490             Noam Postavsky  <npostavs@users.sourceforge.net>
31492         Add tests for lisp/emacs-lisp/testcover.el
31494         * test/lisp/emacs-lisp/testcover-tests.el: New file.
31495         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
31497 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
31499         Document 'save-some-buffers-default-predicate'
31501         * doc/lispref/files.texi (Saving Buffers):
31502         * doc/emacs/files.texi (Save Commands): Document
31503         save-some-buffers-default-predicate.
31505 2017-02-04  Richard Stallman  <rms@gnu.org>
31507         New defcustom 'save-some-buffers-default-predicate'
31509         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
31510         (save-some-buffers): Use it when PRED is nil or omitted.
31512 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
31514         Rename to if-let* and when-let*
31516         Make the existing if-let and when-let aliases.
31517         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
31518         docstrings, incorporating that from let* and the existing if-let.
31519         (if-let, when-let, and-let*): Alias them.
31521 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
31523         Revert "Use maphash instead of cl-loop."
31525         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
31527 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
31529         Bump Emacs version to 25.2 RC1
31531         * README:
31532         * configure.ac:
31533         * msdos/sed2v2.inp:
31534         * nt/README.W32: Bump Emacs version.
31535         * lisp/ldefs-boot.el: Update.
31537 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
31539         * admin/make-tarball.txt: Add documentation regarding the release banner.
31541 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
31543         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
31545 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31547         Re-port alloc.c to Solaris sparc and simplify
31549         alloc.c had bitrotted a bit, and used an undefined symbol
31550         stack_base when Emacs was built on Solaris sparc, leading to
31551         compilation failures.  Also, code related to __builtin_unwind_init
31552         was unnecessarily duplicated.  Fix the bitrot and remove some
31553         duplication.
31554         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
31555         is never defined.
31556         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
31557         Define a no-op dummy, to simplify use.
31558         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
31559         than in the caller, to simplify use.
31560         (stacktop_sentry): New type.
31561         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
31562         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
31563         (flush_stack_call_func, Fgarbage_collect): Use it.
31564         (init_alloc): Omit unnecessary initialization.
31565         After dumping, Emacs need not re-test setjmp.
31567 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31569         Add tests for scrolling
31571         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
31573 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31575         Fix scrolling with partial lines
31577         * src/xdisp.c (partial_line_height): New function.
31578         (try_scrolling):
31579         * src/window.c (window_scroll_pixel_based): Use it for calculating the
31580         pixel scroll margin correctly in a window with partial lines.
31582 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31584         Make limit on scroll-margin variable
31586         * src/xdisp.c (maximum-scroll-margin): New variable.
31587         * lisp/cus-start.el: Make it customizable.
31588         * etc/NEWS: Mention it.
31589         * doc/emacs/display.texi (Auto Scrolling):
31590         * doc/lispref/windows.texi (Textual Scrolling): Document it.
31591         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
31592         division by 4 (Bug #5718).
31594 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31596         Don't count mode line for scroll-margin limit
31598         * src/window.c (window_scroll_margin): Use window_box_height to avoid
31599         counting header line, scrollbars for scroll-margin limit (Bug #5718).
31601 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31603         Refactor uses of scroll_margin to a function
31605         Its effective range needs to be clamped between 0 and (window height /
31606         4), so it's better to have this constraint in a single place.
31608         * src/window.c (window_scroll_margin): New function.
31609         (window_scroll_pixel_based, window_scroll_line_based):
31610         (Frecenter, Fmove_to_window_line):
31611         * src/xdisp.c (try_scrolling, try_cursor_movement):
31612         (redisplay_window, try_window, try_window_id): Use it.
31614 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
31616         (xref-collect-matches): Use '-E' together with '-e'
31618         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
31619         together with '-e', as suggested by Noam Postavsky
31620         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
31622 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31624         Pacify Oracle Studio 12.5
31626         * src/emacs.c (main): Do not silently convert char * to bool.
31628 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31630         Fix lisp.h underparenthesization
31632         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
31633         Parenthesize compound literals that are function call args.
31634         Although this does not fix any bugs, it is the proper style for
31635         macro parenthesization as it means this code will continue to
31636         work even if make_lisp_ptr is changed to a macro.
31638 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
31640         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
31642         (doc-view-revert-buffer): Silence overflow warnings.
31644 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31646         Merge from gnulib
31648         2017-01-30 Port to PGI 16.10 x86-64
31649         2017-01-20 time_rz: fix comment typo
31650         2017-01-14 strftime: %z is -00 if unknown
31651         This incorporates:
31652         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
31653         * lib/time-internal.h, lib/verify.h:
31654         Copy from gnulib.
31656 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31658         Check if there are hunks before kill or refine a hunk
31660         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
31661         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
31663 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31665         Ignore error after kill last file or hunk
31667         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
31668         Ignore error after kill last hunk (Bug#25570).
31669         (diff-file-kill): Idem.
31671 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31673         Show current line highlighted in *Occur* buffer
31675         * lisp/replace.el (list-matching-lines-current-line-face)
31676         (list-matching-lines-jump-to-current-line): New user options.
31677         (occur--orig-line, occur--orig-line-str): New variables.
31678         (occur, occur-engine): Use them.
31679         (occur--final-pos): New variable.
31680         (occur-1): Use it.
31681         (occur-engine): Idem.
31682         Show the current line with 'list-matching-lines-current-line-face'.
31683         Set point on the first matching line after the current one.
31684         * etc/NEWS: Add entry for the new option.
31686 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31688         Allow occur command to operate on the region
31690         See discussion in:
31691         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
31692         * lisp/replace.el (occur--region-start, occur--region-end)
31693         (occur--matches-threshold): New variables.
31694         (occur-engine): Use them.
31695         (occur): Idem.
31696         Add optional arg REGION; if non-nil occur applies in that region.
31697         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
31698         * doc/emacs/search.texi (Other Repeating Search): Idem.
31700 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31702         Treat list-buffers-directory as a string
31704         Another step in the long history of list-buffers-directory.  A thread
31705         branch discussing the meaning/use of the variable starts here
31706         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
31707         Also see (info "(elisp) Buffer File Name").
31708         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
31709         Info-* defvars.
31710         (Buffer-menu--pretty-file-name): Remove special case.  Use
31711         bound-and-true-p.
31712         (Buffer-menu-info-node-description): Remove.
31713         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
31714         list-buffers-directory as a string.
31715         * lisp/info.el (Info-node-description): New function.
31716         (Info-select-node): Use it.
31718 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31720         Turn on lexical-binding in parse-time.el
31722         * lisp/calendar/parse-time.el: Turn on lexical-binding.
31723         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
31724         bindings.
31726 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31728         Prevent creating thumbnails of all gif frames
31730         With the previous defaults, doing image-dired on a directory with an
31731         animated foo.gif would cause creation of foo.thumb-N.gif for each of
31732         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
31733         there additionally is no usable thumbnail after all the needless effort.
31734         image-dired never handled animation, regardless.
31735         * lisp/image-dired.el: Mention limitation.
31736         (image-dired-cmd-create-thumbnail-options):
31737         (image-dired-cmd-create-temp-image-options):
31738         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
31739         filename to indicate only converting the 0th frame.
31740         (image-dired-display-image-mode): Don't show a cursor.
31742 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31744         Fix quitting bug when buffers are frozen
31746         Problem noted by Eli Zaretskii in:
31747         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
31748         This patch also fixes some other issues in that report.
31749         * src/lisp.h (incr_rarely_quit): Remove.
31750         All callers changed to use rarely_quit directly.
31751         * src/search.c (freeze_buffer_relocation)
31752         (thaw_buffer_relocation): New functions.
31753         (looking_at_1, fast_looking_at, search_buffer):
31754         Use them to fix bug when quitting when buffers are frozen.
31755         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
31756         All uses changed.
31758 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31760         Revamp quitting and fix infloops
31762         This fixes some infinite loops that cannot be quitted out of,
31763         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
31764         when byte-compiled and when run under X.  See:
31765         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
31766         This also attempts to keep the performance improvements I recently
31767         added, as much as possible under the constraint that the infloops
31768         must be caught.  In some cases this fixes infloop bugs recently
31769         introduced when I removed immediate_quit.
31770         * src/alloc.c (Fmake_list):
31771         Use rarely_quit, not maybe_quit, for speed in the usual case.
31772         * src/bytecode.c (exec_byte_code):
31773         * src/editfns.c (Fcompare_buffer_substrings):
31774         * src/fns.c (Fnthcdr):
31775         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
31776         (Fbackward_prefix_chars):
31777         Use rarely_quit so that users can C-g out of long loops.
31778         * src/callproc.c (call_process_cleanup, call_process):
31779         * src/fileio.c (read_non_regular, Finsert_file_contents):
31780         * src/indent.c (compute_motion):
31781         * src/syntax.c (scan_words, Fforward_comment):
31782         Remove now-unnecessary maybe_quit calls.
31783         * src/callproc.c (call_process):
31784         * src/doc.c (get_doc_string, Fsnarf_documentation):
31785         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
31786         * src/lread.c (safe_to_load_version):
31787         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
31788         Use emacs_read_quit instead of emacs_read in places where
31789         C-g handling is safe.
31790         * src/eval.c (maybe_quit): Move comment here from lisp.h.
31791         * src/fileio.c (Fcopy_file, e_write):
31792         Use emacs_write_quit instead of emacs_write_sig in places where
31793         C-g handling is safe.
31794         * src/filelock.c (create_lock_file): Use emacs_write, not
31795         plain write, as emacs_write no longer has a problem.
31796         (read_lock_data): Use emacs_read, not read, as emacs_read
31797         no longer has a problem.
31798         * src/fns.c (rarely_quit): Move to lisp.h and rename to
31799         incr_rarely_quit.  All uses changed..
31800         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
31801         * src/indent.c (compute_motion):
31802         * src/syntax.c (find_defun_start, back_comment, forw_comment)
31803         (Fforward_comment, scan_lists, scan_sexps_forward):
31804         Use incr_rarely_quit so that users can C-g out of long loops.
31805         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
31806         inner loop, so that it catches C-g there too.
31807         * src/keyboard.c (tty_read_avail_input): Remove commented-out
31808         and now-obsolete code dealing with interrupts.
31809         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
31810         the latter moved here from fns.c and renamed from rarely_quit.
31811         (emacs_read_quit, emacs_write_quit): New decls.
31812         * src/search.c (find_newline, search_buffer, find_newline1):
31813         Add maybe_quit to catch C-g.
31814         * src/sysdep.c (get_child_status): Always invoke maybe_quit
31815         if interruptible, so that the caller need not bother.
31816         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
31817         New functions.
31818         (emacs_read): Rewrite in terms of emacs_nointr_read.
31819         Do not handle C-g or signals; that is now for emacs_read_quit.
31820         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
31821         with INTERRUPTIBLE three-way arg.  All uses changed.
31823 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31825         Remove immediate_quit.
31827         The old code that sets and clears immediate_quit was
31828         ineffective except when Emacs is running in terminal mode, and
31829         has problematic race conditions anyway, so remove it.  This
31830         will introduce some hangs when Emacs runs in terminal mode,
31831         and these hangs should be fixed in followup patches.
31832         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
31834 2017-02-01  Alan Mackenzie  <acm@muc.de>
31836         Allow C++ nested brace-list-entries to be better indented.
31838         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
31839         nested brace lists when the opening element stands on the same line as both
31840         its introductory brace and an enclosing parameter list parenthesis.
31842         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
31844         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
31845         presence of exactly an identifier between an open parenthesis and an open
31846         brace as evidence of the brace starting a brace list.
31847         (c-looking-at-statement-block): New function, extracted from
31848         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
31849         when needed.
31850         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
31851         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
31852         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
31853         all added syntactic symbols to those having an anchor point on the same line.
31854         Add, in addition to the current additional symbols, c-brace-list-entry when
31855         needed; use c-looking-at-statement-block to determine the latter.
31856         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
31857         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
31858         getting, possibly, several accompanying syntactic entries.
31860         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
31861         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
31863         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
31864         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
31866         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
31867         brace-list-intro.
31868         (Brace List Symbols): Amend the example to show the new analysis of brace
31869         lists when the first element comes on the same line as the opening brace.
31870         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
31872 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
31874         Revert "DOn't use string-as-unibyte in Gnus"
31876         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
31878         Not all the cases where we had string-as-unibyte were characters,
31879         so this needs to be considered more thoroughly before being redone.
31881 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
31883         Use maphash instead of cl-loop.
31885         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
31886           instead of cl-loop
31888 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
31890         Fix a subtle problem in Tramp with timers
31892         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
31893         list.  Make it work when called inside a timer.  See
31894         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
31896 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
31898         Index byte-compile-debug
31900         * doc/lispref/compile.texi (Compilation Functions): Index
31901         byte-compile-debug.
31903 2017-01-31  Philipp Stephani  <phst@google.com>
31905         Document `byte-compile-debug' in the ELisp manual
31907         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
31909 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31911         read-multiple-choice: explain dialog popups more
31913         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
31914         when a graphical popup is used and how it can be avoided.
31916 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31918         auth-source-user-and-password: add forgotten user parameter
31920                 * lisp/auth-source.el (auth-source-user-and-password): Use
31921                   accidentally unused "user" parameter.
31922                   Reported by Oscar Najera <najera.oscar@gmail.com>.
31924 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
31926         Fix typo in a NEWS entry for CSS mode
31928 2017-01-31  Philipp Stephani  <phst@google.com>
31930         Document variable `byte-compile-debug'
31932         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
31934 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
31936         DOn't use string-as-unibyte in Gnus
31938         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
31939         string-as-unibyte.
31940         (nnmail-insert-xref): Ditto.
31942         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
31944         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
31946         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
31947         (gnus-browse-foreign-server): Ditto.
31948         (gnus-browse-foreign-server): Ditto.
31950         * lisp/gnus/gnus-start.el
31951         (gnus-update-active-hashtb-from-killed): Ditto.
31952         (gnus-read-newsrc-el-file): Ditto.
31954         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
31956         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
31957         (nnir-get-active): Ditto.
31959 2017-01-31  Juri Linkov  <juri@linkov.net>
31961         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
31963         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
31964         M-. in article buffers work for `foo' strings, and still allow
31965         C-s C-w to yank ' to the search ring (bug#22248).
31967 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31969         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
31971 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
31973         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
31975 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31977         New test for diff-mode handling trailing --
31979         test/lisp/vc/diff-mode-tests.el: New test file
31981 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31983         Handle patch terminators produced by git and bzr patch export
31985         Patch by Juri Linkov posted in the #9597 bug report
31987         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
31988         terminator (Bug #9597, #5302)
31990 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31992         Revert two accidental commits
31994         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
31995         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
31997 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31999         stash
32001 2017-01-31  Dima Kogan  <dima@secretsauce.net>
32003         comint-get-old-input-default: behavior follows docstring
32005         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
32006         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
32007         if point is on an output field.
32009 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
32011         Fix call to debugger on assertion failure
32013         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
32014         argument must be `error', and the second is a list of arguments for
32015         `signal'.
32017 2017-01-30  Tom Tromey  <tom@tromey.com>
32019         css-mode documentation lookup feature
32021         * etc/NEWS: Mention new feature.
32022         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
32023         (css--mdn-lookup-history): New defvar.
32024         (css-lookup-url-format): New defcustom.
32025         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
32026         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
32027         defuns.
32028         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
32029         test.
32031 2017-01-30  Glenn Morris  <rgm@gnu.org>
32033         edt-mapper: just loading a library should not run code
32035         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
32036         containing code previously at top-level.
32037         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
32038         run edt-mapper function.
32040 2017-01-30  Glenn Morris  <rgm@gnu.org>
32042         mh-compat.el: remove duplicate definition
32044         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
32045         Remove duplicate definition.
32047 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
32049         Add delq list arg check
32051         * src/fns.c (Fdelq): Check that list is a proper list.
32052         This is more compatible with what ‘delete’ does.
32054 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
32056         * lisp/indent.el (indent-region-line-by-line): New function.
32058         Extracted from indent-region.
32059         (indent-region, indent-region-function): Use it.
32061 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
32063         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
32065 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
32067         More fixes to prevent crashes on C-g
32069         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
32070         before returning, to avoid crashes in quit.  (Bug#25566)
32072 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
32074         Avoid crashes on C-g in TTY sessions
32076         * src/keyboard.c (handle_interrupt): Don't quit if
32077         waiting_for_input is set, as doing that is "unsafe": it will
32078         abort.  (Bug#25566)
32080 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
32082         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
32084         Merge remote-tracking branch 'origin/master' into feature/byte-switch
32086 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
32088         Fix hash tables not being purified correctly.
32090         * src/alloc.c
32091         (purecopy_hash_table) New function, makes a copy of the given hash
32092         table in pure storage.
32093         Add new struct `pinned_object' and `pinned_objects' linked list for
32094         pinning objects.
32095         (Fpurecopy) Allow purifying hash tables
32096         (purecopy) Pin hash tables that are either weak or not declared with
32097         `:purecopy t`, use purecopy_hash_table otherwise.
32098         (marked_pinned_objects) New function, marks all objects in pinned_objects.
32099         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
32100         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
32101         * src/fns.c: Add `purecopy' parameter to hash tables.
32102         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
32103         to make_hash_table.
32104         (make_hash_table): Add `pure' parameter, set h->pure to it.
32105         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
32106         CHECK_IMPURE.
32107         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
32108           hash tables.
32109         * src/print.c: (print_object) add the `purecopy' parameter while
32110           printing hash tables.
32111         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
32112           src/xterm.c: Use new (make_hash_table).
32114 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
32116         Escape dash in xref rgrep regexp
32118         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
32119         in REGEXP if it's the first character.
32121 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
32123         Say JavaScript, not Javascript
32125         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
32126         (js-js-error, js-eval, js-set-js-context)
32127         (js--get-js-context):
32128         Refer to the language consistently as JavaScript.
32130 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
32132         lisp/*.el: Fix some warnings
32134         * lisp/battery.el (dbus-get-property):
32135         * lisp/dired-aux.el (format-spec): Declare function.
32137         * lisp/net/zeroconf.el (zeroconf-list-service-names)
32138         (zeroconf-list-service-types, zeroconf-list-services):
32139         Mark unused lexical arg.
32141         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
32142         * lisp/progmodes/sql.el (sql-end-of-statement):
32143         Pass LIMIT to 'looking-back'.
32145 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
32147         Don't warn about obsolete defgenerics when defining them
32149         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
32150         should run after the definition code (Bug#25556).
32152 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
32154         Call modification hooks in org-src fontify buffers
32156         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
32157         `inhibit-modification-hooks' to nil, since this function can be called
32158         from jit-lock-function which binds that variable to t (Bug#25132).
32160 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
32162         Fix Bug#25524
32164         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
32165         Return position at the beginning off the hunk.
32166         (diff-file-junk-re): Add SVN keywords.
32168 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
32170         hl-line.el: Don't try to operate on a killed buffer
32172         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
32173         live buffers (bug#25522).
32175 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
32177         Use access-file in EWW to check before downloading a file
32179         * lisp/net/eww.el (eww-download): Check accessibility of
32180         eww-download-directory to prevent starting a download that will fail
32181         to write.
32182         * src/fileio.c (Faccess_file): Clarify the use of string argument in
32183         the docstring.
32185 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
32187         Subject: Check Bcc after the Messag hook has run
32189         * lisp/gnus/message.el (message-send): If the hook modifies
32190         the message (mml tags or headers), we should check bcc on the
32191         final message, not on the original.
32193 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
32195         Improve documentation of 'format' conversions
32197         * src/editfns.c (Fformat): More accurate description of %g and
32198         effects of the various flags on it.  More accurate description of
32199         integer conversions.
32201         * doc/lispref/strings.texi (Formatting Strings): More accurate
32202         description of %g and effects of the various flags on it.  More
32203         accurate description of integer conversions.  (Bug#25557)
32205 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
32207         test/*.el: Avoid byte-compiler warnings
32209         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
32211         * test/lisp/faces-tests.el (faces--test): New customization group.
32212         (faces--test1, faces--test2): Use it.
32214         * test/lisp/ffap-tests.el (ffap-tests-25243):
32215         Call 'mark-whole-buffer' interactively.
32217         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
32218         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
32219         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
32220         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
32222         * test/lisp/minibuffer-tests.el (completion-test1):
32223         Mark unused lexical arguments.
32225         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
32226         'with-no-warnings' to avoid them when the macro is invoked for effect.
32228         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
32229         Mark unused lexical arguments.
32231         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
32232         Mark unused lexical arguments.
32233         (let-alist-cons): Remove unused let binding.
32235         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
32236         (dbus-get-unique-name): Declare.
32238         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
32239         Call 'font-lock-fontify-buffer' interactively.
32241         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
32242         Mark unused lexical argument.
32244 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32246         Restore a test that was removed by a recent commit
32248         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
32249         errno value unless it's necessary.  (Bug#25419)
32251 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
32253         Fix a couple eww customization types
32255         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
32256         Change customization type to "directory".
32258 2017-01-27  Philipp Stephani  <phst@google.com>
32260         Don't require a shell when loading htmlfontify
32262         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
32263         detecting the etags version (Bug#25468).
32264         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
32265         test.
32267 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
32269         Slightly tune file-accessible-directory-p fix
32271         * src/fileio.c (Ffile_accessible_directory_p):
32272         Remove unnecessary test (Bug#25419).
32274 2017-01-27  Arash Esbati  <arash@gnu.org>
32276         Add \citetitle to biblatex cite format
32278         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
32279         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
32280         per user request
32281         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
32283 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
32285         Fix charsets and encodings from non-file MIME parts
32287         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
32288         encoding right for parts that do not originate from files.
32290 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32292         Fix 'describe-variable' for longish variable values
32294         * lisp/help-fns.el (describe-variable): Don't accidentally remove
32295         the last character of a variable's value.  (Bug#25545)
32297 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
32299         Remove stale functions from ert manual
32301         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
32302         Replace ert--mismatch references with its cl-lib replacement,
32303         cl-mismatch.
32305 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32307         Fix a typo in Eshell manual
32309         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
32310         Kolybabi <mak@kolybabi.com>.
32312 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32314         Ensure last line is at window bottom in shell buffers
32316         * lisp/shell.el (shell-mode): Use setq-local.  Set
32317         scroll-conservatively to 101 locally.  See the discussion at
32318         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
32319         for the reasons.
32321 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
32323         Support Bash Ctrl-Z indication of directory name in term.el
32325         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
32326         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
32328 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32330         Don't report zero errno for inaccessible directory
32332         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
32333         a file handler reports a failure.  (Bug#25419)
32335 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
32337         Fix filenotify-tests on MS-Windows
32339         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
32340         (file-notify-test05-dir-validity)
32341         (file-notify-test06-many-events)
32342         (file-notify-test08-watched-file-in-watched-dir): Manually remove
32343         the watch descriptor before calling file-notify--test-cleanup-p.
32344         (Bug#25539)
32346 2017-01-27  Hong Xu  <hong@topbug.net>
32348         python-mode: Fix detection for opening blocks.
32350         * lisp/progmodes/python.el
32351         (python-info-dedenter-opening-block-positions): There can't be any
32352         back-indented lines between an opening block and the current line.
32354         * test/lisp/progmodes/python-tests.el
32355         (python-indent-electric-colon-4): Add an indent test case where
32356         there is one-more indented previous opening block.
32358 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
32360         Fix Message check for bogus domain names
32362         * lisp/gnus/message.el (message-make-fqdn): Fix check for
32363         bogus system names (bug#24570).
32365 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
32367         Subject: Restore correct Gnus newsgroup name after sending message
32369         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
32370         gnus-newsgroup-name in the correct buffer (bug#24329).
32372 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
32374         Mention the new Gnus sorting command
32376 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
32378         Don't try to find charsets of non-text MIME parts
32380         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
32381         to try to determine the charset of non-text message parts, so
32382         skip that (bug#24190).  This will also remove messages like
32383         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
32384         if you include such files.
32386 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
32388         Add new command gnus-article-sort-by-marks
32390         * doc/misc/gnus.texi (Summary Sorting): Mention
32391         gnus-summary-sort-by-marks.
32393         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
32394         function (bug#23393).
32395         (gnus-thread-sort-by-marks): Ditto.
32396         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
32397         (gnus-summary-mode-map): Add keystroke.
32398         (gnus-summary-make-menu-bar): Add to menu.
32400 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
32402         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
32404         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
32405         Ignore summary commands that aren't bound to
32406         gnus-article-read-summary-keys keys (bug#18257).
32408 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32410         Fix crossposting in non-primary groups
32412         * lisp/gnus/message.el
32413         (message-cross-post-followup-to-header): Gnus server prefixes
32414         shouldn't be included in the group names (bug#21661).
32415         (message-cross-post-followup-to): Ditto.
32417 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32419         Gnus doc clarification
32421         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
32422         that "unreachable" is the same as disabling it (bug#21630).
32424 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32426         Remove dead code from rfc2047
32428         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
32430         It's been disabled since 2005, when I made the change with the
32431         following comment.
32433         (rfc2047-encode-message-header): Disabled header folding -- not
32434         all headers can be folded, and this should be done by the message
32435         composition mode.  Probably.  I think.
32437 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32439         Fill too long mail headers
32441         * lisp/gnus/message.el (message--fold-long-headers): New
32442         function to fold too-long headers (bug#21608).
32443         (message-send-mail): Use it to fill headers longer than 998
32444         characters (which is the protocol limit).
32446 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32448         Make nndoc more resilient against corrupted files
32450         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
32451         out on invalid files, like invalid .gz files (bug#21538).
32452         This may hinder Gnus from starting up.
32454 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32456         Respect buffer-local message-fcc-handler-function
32458         * lisp/gnus/message.el (message-do-fcc): Copy the local
32459         variables from the Message buffer so that local settings of
32460         `message-fcc-handler-function' etc are respected (bug#21174).
32462 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32464         (message-do-fcc): Modernize the code slightly.
32466         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
32468 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32470         Avoid a regexp overflow in message-goto-body
32472         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
32473         complicated backtracking regexp, because they may overflow on
32474         large headers (bug#21160).
32476 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32478         Refactor message-goto-body
32480         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
32482 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32484         Fix typo in last checkin
32486         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
32487         nnimap-shell-program (bug#20651).
32489 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32491         Document nnimap-shell-program
32493         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
32494         nnimap-shell-program (bug#20651).
32496 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32498         Document :shell-command in `make-network-process'
32500         * doc/lispref/processes.texi (Network): Document :shell-command.
32502         * lisp/net/network-stream.el (open-network-stream): Document
32503         the :shell-command parameter (bug#20651).
32505 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32507         Gnus doc clarification
32509         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
32510         the gnus-prompt-before-saving variable (bug#20500).
32512 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32514         Fix the previous mml patch better
32516         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
32517         previous patch in a better way (bug#20480).
32519 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32521         Give a slight better error message in mml-minibuffer-read-file
32523         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
32524         better error message when the user enters nothing (bug#20480).
32526 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32528         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
32530 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32532         Make eww buffers prettier in the buffer listing
32534         * lisp/net/eww.el (eww-render): Put the currently visited URL
32535         into the buffer listing (bug#23738).
32536         (eww-render): Ditto.
32538 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32540         Allow mml-attach-file to prompt less
32542         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
32543         prompt for type/description/disposition, but use defaults
32544         (bug#19202).
32546 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32548         Don't allow message-newline-and-reformat to be run outside the body
32550         * lisp/gnus/message.el (message-newline-and-reformat): Error
32551         out if run outside the body of a message (bug#18820).
32553 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32555         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
32557         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
32558           byte-compile-constant instead of byte-compile-form to push nil.
32560 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32562         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
32564 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32566         Replace QUIT with maybe_quit
32568         There’s no longer need to have QUIT stand for a slug of C statements.
32569         Use the more-obvious function-call syntax instead.
32570         Also, use true and false when setting immediate_quit.
32571         These changes should not affect the generated machine code.
32572         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
32574 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32576         A quicker check for quit
32578         On some microbenchmarks this lets Emacs run 60% faster on my
32579         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
32580         * src/atimer.c: Include keyboard.h, for pending_signals.
32581         * src/editfns.c (Fcompare_buffer_substrings):
32582         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
32583         (Fnconc, Fplist_member):
32584         Set and clear immediate_quit before and after loop instead of
32585         executing QUIT each time through the loop.  This is OK for loops
32586         that affect only locals.
32587         * src/eval.c (process_quit_flag): Now static.
32588         (maybe_quit): New function, containing QUIT’s old body.
32589         * src/fns.c (rarely_quit): New function.
32590         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
32591         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
32592         Use it instead of QUIT, for
32593         speed in tight loops that might modify non-locals.
32594         * src/keyboard.h (pending_signals, process_pending_signals):
32595         These belong to keyboard.c, so move them here ...
32596         * src/lisp.h: ... from here.
32597         (QUIT): Redefine in terms of the new maybe_quit function, which
32598         contains this macro’s old definiens.  This works well with branch
32599         prediction on processors with return stack buffers, e.g., x86
32600         other than the original Pentium.
32602 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32604         Simplify make-list implementation
32606         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
32607         is not worth it these days.
32609 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
32611         Make use of cl-loop destructuring
32613         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
32614         destructuring.
32615         (with-js): Add declare forms.
32617 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32619         Revert "Bind C-c keys in the article buffer"
32621         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
32623         The commit somehow lead to problems in other parts of Emacs.
32625 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32627         Document how to quote MML tags
32629         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
32630         quote MML tags (bug#18881).
32632 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32634         Make address parsing more robust
32636         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
32637         bug out on addresses like
32638         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
32639         (bug#18572).
32641 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32643         Fix the %P (line number) thing in Gnus summary buffers
32645         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
32647         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
32648         "pick" mode line number on entry instead of relying in a hack (bug#18311).
32650 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32652         Fix wrong documentation on nnmairix keystrokes
32654         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
32655         nnmairix commands are on G G, not $ (bug#18260).
32657 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32659         Bind C-c keys in the article buffer
32661         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
32662         C-c keys so that they execute in the summary buffer
32663         (bug#18257).  This makes commands like `C-c C-f' work from the
32664         article buffer.
32666 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32668         Don't mark articles in Gnus as displayed when they aren't
32670         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
32671         mark any articles as selected if we're not selecting any
32672         articles (bug#18255).
32674 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32676         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
32678         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
32680         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
32682         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
32684 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32686         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
32688         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
32689           constant encountered precedes a byte-switch op, replace all the
32690           addresses in the jump table with tags.
32692 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
32694         Move cXXXr and cXXXXr to subr.el
32696         * etc/NEWS: Mention new core Elisp.
32697         * doc/lispref/lists.texi (List Elements): Document and index the new
32698         functions.
32699         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
32700         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
32701         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
32702         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
32703         (cddddr): New functions.
32704         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
32705         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
32706         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
32707         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
32708         (cl-cdddar, cl-cddddr): Alias to new subr functions.
32709         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
32710         elements.
32712 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32714         Only save .newsrc file if the native method is NNTP
32716         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32717         the .newsrc file if the native select method is NNTP
32718         (bug#18198).  This avoids problems with invalid IMAP group
32719         names and the like in the .newsrc file.
32721 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32723         Only save .newsrc file if the native method is NNTP
32725         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32726         the .newsrc file if the native select method is NNTP
32727         (bug#18198).  This avoids problems with invalid IMAP group
32728         names and the like in the .newsrc file.
32730 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32732         Gnus custom spec fix
32734         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
32735         spec to match the doc string (bug#17679).
32737 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32739         Clarify confusing Gnus error message
32741         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
32742         confusing error message (bug#17677).
32744 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32746         Make C-u C-x m work with Message as documented
32748         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
32749         parameter (bug#17175).
32751 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32753         Fix problem with auto-mode and dir-locals-collect-variables
32755         * lisp/files.el (dir-locals-collect-variables): When run from
32756         auto-mode, the file in question may not be an absolute path
32757         name (bug#24016).
32759         Example backtrace:
32761         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
32762           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
32763           hack-dir-local-variables()
32764           hack-local-variables(no-mode)
32765           run-mode-hooks(diff-mode-hook)
32766           diff-mode()
32767           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
32769 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32771         Attach text files correctly in Message
32773         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
32774         system has been used in attached text files, and don't try to
32775         do any encoding of these files (bug#13808).
32777 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32779         Build fix for older gnutls versions
32781         * src/gnutls.c (emacs_gnutls_handle_error):
32782         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
32783         gnutls-3.
32785 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
32787         ediff-difference-vector-alist: Drop duplicated definition
32789         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
32790         Drop duplicated definition.
32791         (ediff-difference-vector-A, ediff-difference-vector-B)
32792         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
32793         Move definition before 'ediff-difference-vector-alist'.
32795 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32797         Revert "nnimap.el: support additional expunge options"
32799         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
32801         The patch broke fetching new mail:
32803         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
32804           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
32805           (looking-at (format "%d .*\n" sequence))
32806           (not (looking-at (format "%d .*\n" sequence)))
32807           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
32809 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
32811         nnimap.el: support additional expunge options
32813         * lisp/gnus/nnimap.el (nnimap-close-group)
32814         (nnimap-request-expire-articles, nnimap-delete-article)
32815         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
32816         settings for nnimap-expunge (bug#20670).
32818 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32820         Don't tag Gnus bugs with "gnus"
32822         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
32824         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
32825         have its own package any more in the bug tracker.
32827 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32829         Tweak TLS error messaging on closed connections
32831         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
32832         peer-closed-connection "The TLS connection was non-properly
32833         terminated" message to a lower level so that it isn't shown to
32834         the user by default.
32836 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32838         Avoid having eww unexpectedly open external browsers
32840         * lisp/net/eww.el (eww-render): Instead of opening unsupported
32841         content types like audio/mpeg directly in an external browser
32842         (which can be very confusing especially when something
32843         redirects to a file like that), just display a simple
32844         interstitial that people can choose to click on or not
32845         (bug#22671).
32847 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32849         When opening new eww buffers, use buffer names based on the host name
32851         * lisp/net/eww.el (eww-browse-url): When opening in a new
32852         window, use a buffer name based on the host name (bug#23738).
32853         (eww--dwim-expand-url): Refactored out into its own function
32854         for easier reuse.
32856 2017-01-24  David Engster  <deng@randomsample.de>
32858         xml: Fix parsing of default namespace with quoted names
32860         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
32861           parsing is done with quoted symbol names (bug#23440).
32862         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
32863           (xml-parse-test-default-namespace-qnames): Test for the above.
32865 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32867         Fix rendering of some complex SVG images
32869         * lisp/net/shr.el (shr-parse-image-data): Don't transform
32870         SVG->DOM->XML unless we're blocking images, as this is apt to
32871         destroy the SVG (bug#24111).
32873 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32875         Clarify the last clarification
32877         * lisp/net/shr.el (shr-width): Clarify the interaction with
32878         `shr-use-fonts' (bug#24928).
32880 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32882         shr-width doc clarification
32884         * lisp/net/shr.el (shr-width): Clarify the interaction with
32885         `shr-use-fonts' (bug#24928).
32887 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32889         Allow passing in max-width/height
32891         * lisp/net/shr.el (shr-rescale-image): Allow passing in
32892         max-width/height (bug#25287).
32894 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
32896         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
32898         Require `cl' for `pushnew'.
32899         (vhdl-scan-project-contents, vhdl-compose-wire-components)
32900         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
32902 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
32904         Fix comment detection on open parens
32906         Characters having both open paren syntax and comment start syntax were
32907         being detected as open parens even when they should have been part a
32908         comment starter (Bug#24870).
32910         * src/syntax.c (in_2char_comment_start): New function, extracted from
32911         `scan_sexps_forward'.
32912         (scan_sexps_forward): Add check for a 2-char comment starter before the
32913         loop.  Inside the loop, do that check after incrementing the 'from'
32914         character index.  Move the single char comment syntax cases into the
32915         switch instead of special casing them before.
32916         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
32917         (parse-partial-sexp-continue-over-comment-marker): New tests.
32919 2017-01-23  Alan Mackenzie  <acm@muc.de>
32921         Give , and .@ doc strings.  Fixes bug #24561.
32923         Also make *Help* links to ``' possible.  Also make usable as such doc strings
32924         on the function-documentation property of a symbol.
32926         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
32927         function-documentation property.  Also give these symbols a reader-construct
32928         property.
32930         * lisp/help-fns.el (describe-function): Allow the function-documentation
32931         property to work.  Use princ rather than prin1 to print the function's name
32932         when it has a reader-construct property.
32933         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
32934         (describe-function-1): Adapt to process documentation on the
32935         function-documentation property.  Print "a reader construct" when appropriate.
32937         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
32938         ``'.
32940 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32942         Improve uses of CHECK_LIST etc.
32944         * src/eval.c (FletX): Report an error for invalid constructs like
32945         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
32946         (lambda_arity): Use plain CHECK_CONS.
32947         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
32948         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
32949         concat does that for us.
32950         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
32951         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
32952         runtime check out of the loop.
32953         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
32954         (Fassq, Fassoc, Frassq, Frassoc):
32955         Simplify and use CHECK_LIST_END instead of CAR.
32956         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
32957         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
32958         * src/fontset.c (Fnew_fontset):
32959         * src/frame.c (Fmodify_frame_parameters):
32960         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
32961         more-complete check.
32962         * src/gfilenotify.c (Fgfile_add_watch):
32963         Omit unnecessary CHECK_LIST, since Fmember does that for us.
32964         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
32965         Remove; no longer used.
32966         (CHECK_LIST_END): New inline function.
32968 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
32970         Prevent to use tabulated-list--near-rows unbound
32972         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
32973         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
32975 2017-01-22  Juri Linkov  <juri@linkov.net>
32977         * lisp/simple.el (region-bounds): New function.
32979         (region-noncontiguous-p): Use it.
32980         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
32982 2017-01-21  Alan Mackenzie  <acm@muc.de>
32984         Fix low-level handling of (big) C macros.
32986         In particular, ensure that a comment detected by its syntax is not a CPP
32987         construct marked with generic comment delimiter syntax-table text
32988         properties.
32990         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
32991         c-macro-cache-syntactic to nil when the cached macro changes.
32992         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
32993         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
32994         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
32995         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
32996         (c-determine-limit): When checking a parse syntax for a comment, check that
32997         we're not in a CPP construct marked by syntax-table generic comment delimiter
32998         text property.
32999         (c-state-pp-to-literal): Change from a defsubst to a defun.
33001         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
33002         parse syntax as described above under cc-engine.el.
33004 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
33006         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
33008 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
33010         Don't wait for frame to become visible
33012         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
33013         frame to become visible.  We have to deal with invisible frames anyway,
33014         the loop could sometimes before the frame turned visible, and for some
33015         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
33016         busy loop (Bug#24091).
33018 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
33020         diff-hunk-kill independent of point inside headers
33022         Make diff-apply-hunk and diff-hunk-kill independent of the point
33023         position in a diff header (Bug#17544).
33024         This change allows to apply hunks in order.  It also makes possible to
33025         press M-k repeatedly to kill hunks in the order they appear in the buffer.
33026         See discussion on #Bug25105.
33027         * lisp/vc/diff-mode.el (diff-file-junk-re):
33028         Move definition before it's used.
33029         (diff--at-diff-header-p): New predicate; return non-nil when point
33030         is inside a hunk header, a file header, or within a line
33031         matching diff-file-junk-re.
33032         (diff-beginning-of-hunk): Use it.
33033         Check if the point is inside a diff header, in the middle of a hunk,
33034         or before the first hunk.
33035         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
33036         before apply the hunk.
33037         (diff-hunk-kill, diff-file-kill):
33038         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
33039         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
33041 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
33043         Improve documentation of hooks related to saving buffers
33045         * lisp/files.el (write-file-functions, write-contents-functions)
33046         (before-save-hook, after-save-hook): Note that these are only used
33047         by save-buffer.
33049         * doc/lispref/backups.texi (Auto-Saving):
33050         * doc/lispref/files.texi (Saving Buffers): Mention that
33051         save-related hooks are not run by auto-saving.  (Bug#25460)
33053 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
33055         Improve documentation of auto-save-visited-file-name
33057         * doc/emacs/files.texi (Auto Save Files): Mention subtle
33058         differences between saving the buffer and auto-saving with
33059         auto-save-visited-file-name set non-nil.  (Bug#25478)
33061 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
33063         Fix free var FOO-mode-{syntax,abbrev}-table warnings
33065         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
33066         defvar the syntax and abbrev tables so that the compiler will know that
33067         they are dynamically bound variables (Bug#25446).
33069 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
33071         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
33073         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
33074           eval obj2 to avoid quoted forms being stored as is.
33076 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
33078         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
33080 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
33082         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
33084         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
33085         default-case for last cond clause.
33087 2017-01-19  Philipp Stephani  <phst@google.com>
33089         Check that variable lists are actually lists
33091         'let' and 'let*' document that their first argument has to be a list,
33092         but don't check for that; instead, they allow (and silently ignore)
33093         other types.  Introduce an explicit type check.
33095         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
33096         list.
33097         * test/src/eval-tests.el: Add unit tests.
33099 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
33101         Add type checking for Bswitch, when enabled at compile time.
33103         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
33104           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
33106 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
33108         Use byte-switch for all symbols.
33110         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
33111           t for all symbols (instead for just keywords)
33113 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
33115         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
33117         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
33118         (diff-refine-hunk): Use it instead of trying to match multiple lines
33119         with a single lines.
33121 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
33123         Remove lock file when auto-saving into the visited file
33125         * src/fileio.c (write_region): When auto-saving into the visited
33126         file, unlock the file whenever we mark the buffer unmodified.
33127         (Bug#25470)
33129 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
33131         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
33133         Fgethash type checks the provided table object, which is unnecessary
33134         for compiled bytecode.
33136 2017-01-18  Tom Tromey  <tom@tromey.com>
33138         fix typo in mailcap-mime-extensions
33140         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
33141         not "test/x-patch".  (Bug#25472)
33143 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
33145         Fix typos in flymake.el
33147         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
33148         Spelling fixes in the doc string.
33150 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
33152         Fix a bug with signaling a thread that waits for condvar
33154         * src/thread.c (lisp_mutex_lock_for_thread): New function,
33155         with all the guts of lisp_mutex_lock.
33156         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
33157         (condition_wait_callback): Don't call post_acquire_global_lock
33158         before locking the mutex, as that could cause a signaled thread to
33159         exit prematurely, because the condvar's mutex is recorded to be
33160         not owned by any thread, and with-mutex wants to unlock it as part
33161         of unwinding the stack in response to the signal.
33163 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
33165         Rudimentary error handling for non-main threads
33167         * src/thread.c (last_thread_error): New static variable.
33168         (syms_of_threads): Staticpro it.
33169         (record_thread_error, Fthread_last_error): New functions.
33170         (syms_of_threads): Defsubr Fthread_last_error.
33172         * doc/lispref/threads.texi (Basic Thread Functions): Document
33173         thread-last-error.
33175         * test/src/thread-tests.el (thread-errors, thread-signal-early)
33176         (threads-condvar-wait): Test the values returned by
33177         thread-last-error.
33179 2017-01-17  Tom Tromey  <tom@tromey.com>
33181         Add info-lookup help for gdb-script-mode
33183         Bug#25464:
33184         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
33185         function.
33186         Add help for gdb-script-mode.
33188 2017-01-17  Tom Tromey  <tom@tromey.com>
33190         Treat ":root" as a css-selector
33192         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
33193         ":root" as selector.
33195 2017-01-17  Tom Tromey  <tom@tromey.com>
33197         Fix JS regexp literal syntax propertization in expressions
33199         Bug#25465:
33200         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
33201         literal after "!", "&", and "|".
33202         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
33204 2017-01-17  Glenn Morris  <rgm@gnu.org>
33206         More NEWS checking for admin.el's set-version
33208         * admin/admin.el (set-version): Warn if temporary NEWS markup
33209         still present in release candidates.
33211 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
33213         Mark unused arguments and remove unused variables
33215         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
33216         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
33217         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
33218         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
33219         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
33220         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
33221         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
33222         (dungeon-nil): Mark arguments as unused.
33223         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
33224         (dun-restore): Remove unused variable.
33226 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
33228         Fix auto-save-file-name problem in Tramp on MS Windows
33230         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
33231         rather than an ange-ftp regexp.
33233         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
33234         Fix a problem when running on MS Windows.
33236         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
33237         Adapt test.
33239 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
33241         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
33243         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
33244         Fix a problem when running on MS Windows.
33246 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
33248         Merge from origin/emacs-25
33250         42614fa Update remaining copyright years with admin.el M-x set-copyright
33251         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
33253 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
33255         Nix some uses of eval
33257         * lisp/play/dunnet.el: Fix triple negative.
33258         (dun-doverb): Use funcall instead of eval.
33259         (dun-echo): Just call dun-mprinc.
33260         (dun-save-val): Just bind value without eval.
33262 2017-01-17  Tom Tromey  <tom@tromey.com>
33264         Fix comment in css-mode.el
33266         * lisp/textmodes/css-mode.el: Remove obsolete comment.
33268 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
33270         update branch
33272 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
33274         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
33276 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
33278         Improve ffap-gopher-at-point handling of long lines
33280         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
33281         setting to nil is now supported.
33282         (ffap--gopher-var-on-line): New function.
33283         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
33284         which could overflow the regexp stack on long lines (Bug#25391).  Use
33285         `let-alist' instead of calling `set' on local variables.
33286         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
33288 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
33290         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
33292         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
33293           finding the tag in a jump table.
33295 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
33297         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
33299 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
33301         Add new 'switch' byte-code.
33303         'switch' takes two arguments from the stack: the variable to test, and
33304         a jump table (implemented as a hash-table with the appropriate :test
33305         function). By looking up the value of the variable in the hash table,
33306         the interpreter can jump to the label pointed to by the value, if any.
33307         This implementation can only be used for `cond' forms of the type
33308         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
33309         variable `x` is same for all clauses.
33311         * lisp/emacs-lisp/bytecomp.el:
33313           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
33314             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
33315             (byte-compile-cond-jump-table), byte-compile-jump-tables.
33317           * Add defcustom `byte-compile-cond-use-jump-table'.
33319           * (byte-compile-cond): Use them.
33321           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
33323         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
33324           some peephole optimizations to prevent them from messing up any code
33325           involving `byte-switch`.
33327         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
33329 2017-01-14  Alan Third  <alan@idiocy.org>
33331         Fix NS main thread check (bug#25265)
33333         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
33334         isMainThread.
33336 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
33338         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
33340         `:sqli-comint-func' does not have to be a symbol.
33342 2017-01-14  Alan Mackenzie  <acm@muc.de>
33344         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
33346         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
33347         its previous value, we chose strategy 'forward, and the new HERE is in a
33348         (different) macro, ensure the returned START-POINT is not above the start of
33349         the macro.
33351 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
33353         Include "Date:" in mail messages filed by 'sendmail-send-it'
33355         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
33356         into the filed message.  In the outgoing message, sendmail will
33357         add the date, but the composed message body doesn't have it.
33358         (Bug#25436)
33360 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
33362         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
33364 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
33366         Remove leftover references to log-view-message-face
33368         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
33370         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
33372         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
33374 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
33376         Record autoloads till emacs dump
33378         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
33379         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
33381         Previously, autoloads were collected till loaddefs.el was generated as
33382         part of the build. However, bootstrap-emacs does not load
33383         loaddefs (rather it is dumped), hence we must record autoloads until the
33384         full emacs binary is dumped.
33386 2017-01-13  Tom Tromey  <tom@tromey.com>
33388         Add chained indentation to js-mode
33390         Bug#20896
33391         * lisp/progmodes/js.el (js-chain-indent): New variable.
33392         (js--skip-term-backward, js--skip-terms-backward)
33393         (js--chained-expression-p): New functions.
33394         (js--proper-indentation): Call js--chained-expression-p.
33395         * test/manual/indent/js-chain.js: New file.
33396         * test/manual/indent/js.js: Add (non-)chained indentation test.
33398 2017-01-13  Tom Tromey  <tom@tromey.com>
33400         Fix js-mode indentation bug
33402         Bug#15582:
33403         * lisp/progmodes/js.el (js--find-newline-backward): New function.
33404         (js--continued-expression-p): Use it.
33405         * test/manual/indent/js.js: Add new test.
33407 2017-01-13  Tom Tromey  <tom@tromey.com>
33409         Fix definition of EMACS in test/manual/indent/Makefile
33411         * test/manual/indent/Makefile (EMACS): Add one more "..".
33413 2017-01-13  Tom Tromey  <tom@tromey.com>
33415         Add .jsx to auto-mode-alist
33417         Bug#25389:
33418         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
33420 2017-01-13  Tom Tromey  <tom@tromey.com>
33422         Fix two js-mode filling bugs
33424         Bug#19399 and Bug#22431:
33425         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
33426         c-block-comment-start-regexp.
33427         * test/lisp/progmodes/js-tests.el: New file.
33429 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
33431         Fix last change
33433         * test/src/thread-tests.el (threads-condvar-wait): Revert
33434         previous change.  Make sure no other threads from previous
33435         tests are running, to avoid interfering with our thread counts.
33437 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
33439         Fix the new condvar test
33441         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
33442         time we sleep in the main thread to let the other thread
33443         process notifications.
33445 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
33447         Minor improvements in the new condvar test
33449         * test/src/thread-tests.el (threads-test-condvar-wait): Use
33450         with-mutex instead of emulating it inline.
33451         (threads-condvar-wait): Improve comments.  Check that the new
33452         thread is alive before waiting for it to become blocked on the
33453         conditional variable.
33455 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
33457         Fix a bug in waiting for condition variable
33459         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
33460         (lisp_mutex_unlock_for_wait, condition_wait_callback)
33461         (condition_notify_callback): Improve commentary.
33462         (condition_wait_callback): Call post_acquire_global_lock before
33463         attempting to lock the mutex, to make sure the lock's owner is
33464         recorded correctly.
33466         * test/src/thread-tests.el (threads-condvar-wait): New test.
33468 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
33470         Improve documentation of dabbrevs
33472         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
33473         to "Dabbrev Customization".
33474         (Dabbrev Customization): More details about the default value of
33475         dabbrev-abbrev-char-regexp and use cases when it might not be good
33476         enough.  (Bug#25432)
33478 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
33480         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
33482 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
33484         mm-uu.el: Don't dissect patch part
33486         This fixes a bug that the patch part is broken in the article
33487         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
33489         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
33490         Don't dissect patch part.
33492 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
33494         Fix extracting async def type and name in python mode imenu
33496         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
33497         New function.
33498         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
33499         extract async or simple def type and name at current
33500         position (Bug#24820).
33501         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
33502         (python-imenu-create-flat-index-1): Add async def's.
33504 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
33506         Remove garbage from Content-Transfer-Encoding value (bug#25420)
33508         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
33509         (ietf-drums-remove-garbage): New function.
33510         (ietf-drums-remove-whitespace): Remove CR as well.
33512         * lisp/mail/mail-parse.el (mail-header-strip-cte):
33513         Alias to ietf-drums-strip-cte.
33515         * lisp/gnus/gnus-art.el (article-decode-charset):
33516         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
33517         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
33518         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
33519         (nndoc-rfc822-forward-generate-article):
33520         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
33521         Replace mail-header-strip with mail-header-strip-cte.
33523 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
33525         Restore behavior of ‘./autogen.sh autoconf git’
33527         * autogen.sh: Do both autoconf and git setup when invoked
33528         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
33529         Mention new --no-check option in usage message.  (Bug#25359)
33531 2017-01-12  Glenn Morris  <rgm@gnu.org>
33533         * autogen.sh: Simplify argument parsing.
33535 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
33537         Clarify that easy-menu-add is a nop (Bug#25382)
33539         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
33540         `ignore', like `easy-menu-remove'.
33542 2017-01-12  Glenn Morris  <rgm@gnu.org>
33544         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
33546 2017-01-11  Glenn Morris  <rgm@gnu.org>
33548         * autogen.sh: Add --no-check option.  (Bug#25359)
33550 2017-01-11  Glenn Morris  <rgm@gnu.org>
33552         Convert some network test failures to skipping
33554         These tests intermittently fail on hydra.nixos.org for unclear
33555         reasons related to starting the external process.
33556         This isn't an Emacs issue, and the failures cause noise on
33557         the emacs-buildstatus list.  (Bug#24503)
33558         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
33559         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
33560         external process fails to start properly.
33562 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
33564         Revert "Add DNS keywords and remove duplications"
33566         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
33568 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33570         Add DNS keywords and remove duplications
33572         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33573         NSEC" DNS related keywords and remove duplication of "NSAP".
33575 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33577         Add DNS keywords and remove duplications
33579         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33580         NSEC" DNS related keywords and remove duplication of "NSAP".
33582 2017-01-11  Alan Mackenzie  <acm@muc.de>
33584         Handle syntactic WS cache properties more accurately at buffer changes.
33586         This fixes bug #25362.
33588         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
33589         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
33590         (c-invalidate-sws-region-after-ins): New variables and functions.
33591         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
33592         Also pass
33593         it the standard OLD-LEN argument.  Call both
33594         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
33595         cache
33596         properties.
33598         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
33599         variable.
33601         * lisp/progmodes/cc-mode.el (c-before-change): Call
33602         c-invalidate-sws-region-before.
33603         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
33605 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
33607         Support stat 8.26 in Tramp
33609         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
33610         environment variable of newer coreutils.  (Bug#23422)
33612 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33614         Improve documentation of coding-systems
33616         * doc/lispref/nonascii.texi (Coding System Basics): Mention
33617         'prefer-utf-8'.  Index it and 'undecided'.
33618         (Encoding and I/O): Fix a typo.
33619         (User-Chosen Coding Systems): Improve the documentation of
33620         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
33621         select-safe-coding-system-function.
33622         (Specifying Coding Systems): Document coding-system-require-warning.
33624 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
33626         Merge from gnulib
33628         This incorporates:
33629         2017-01-09 maint: time stamp -> timestamp
33630         2017-01-07 stdioext: Port to Minix 3.2 and newer
33631         2017-01-06 glob, intprops, xalloc: work around Clang bug
33632         2017-01-02 revert copyright-year change to synced files
33633         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
33634         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
33635         * lib/utimens.c, lib/xalloc-oversized.h:
33636         Copy from gnulib.
33638 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33640         Don't use unsafe encoding for the bookmark file
33642         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
33643         explicitly specified encoding of the bookmark file cannot encode the
33644         additional bookmarks just added.  (Bug#25365)
33646 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33648         Improve definition of 'variable-pitch' face on MS-Windows
33650         * lisp/faces.el (variable-pitch): Don't specify too many
33651         attributes of the font, otherwise faces that request different
33652         weight or slant or size will not get them.
33654 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33656         Fix an error message in python.el
33658         * lisp/progmodes/python.el (python-shell-get-process-or-error):
33659         Don't repeat the same key binding twice.  (Bug#25405)
33661 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
33663         Remove unused ldefs-boot.el
33665          * lisp/ldefs-boot.el: Remove
33667         This file was not removed as reported in c27b645956a11, but accidentally
33668         left.
33670 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33671             Eli Zaretskii  <eliz@gnu.org>
33673         Use expanded stack during regex matches
33675         While the stack is increased in main(), to allow the regex stack
33676         allocation to use alloca we also need to modify regex.c to actually take
33677         advantage of the increased stack, and not limit stack allocations to
33678         SAFE_ALLOCA bytes.
33680         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
33681         allocations in signal handlers which no longer happens and correct
33682         description about when and why MATCH_MAY_ALLOCATE should be defined.
33683         (emacs_re_safe_alloca): New variable.
33684         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
33685         of MAX_ALLOCA.
33686         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
33687         confusion with glibc's `re_max_failures'.
33688         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
33689         to the stack.  Instead of changing emacs_re_max_failures based on the
33690         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
33691         remains constant regardless, since if we run out stack space SAFE_ALLOCA
33692         will fall back to heap allocation.
33694 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33696         Fix computation of regex stack limit
33698         The regex stack limit was being computed as the number of stack entries,
33699         whereas it was being compared with the current size as measured in
33700         bytes.  This could cause indefinite looping when nearing the stack limit
33701         if re_max_failures happened not to be a multiple of sizeof
33702         fail_stack_elt_t (Bug #24751).
33704         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
33705         limit as numbers of stack entries.
33707 2017-01-08  Alan Third  <alan@idiocy.org>
33709         Remove apploopnr
33711         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
33712         allow app loop to run in main thread.
33714 2017-01-08  Glenn Morris  <rgm@gnu.org>
33716         Remove unused configure output variable
33718         * configure.ac (GNULIB_MK):
33719         * Makefile.in (gnulib_mk): Remove, no longer used.
33721 2017-01-08  Glenn Morris  <rgm@gnu.org>
33723         Fix automake dependencies
33725         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
33726         All platforms need this file to exist.
33728 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33730         Remove unnecessary blankp code
33732         * src/character.c (blankp): Remove redundant code that slows Emacs
33733         down a bit.  The caller already does the test.
33735 2017-01-08  Stefan Merten  <stefan@merten-home.de>
33737         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
33739         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
33740         (rst-svn-timestamp)
33741         (rst-official-version, rst-official-cvs-rev)
33742         (rst-package-emacs-version-alist): Maintain version numbers.
33743         (rst-forward-indented-block): Fix. Start searching at next
33744         line again. Fixes fontification of comments continuing on the
33745         same line they started.
33747 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33749         Remove @SET_MAKE@ from manually-maintained files
33751         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
33752         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
33753         * src/Makefile.in: Remove @SET_MAKE@.
33755 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
33757         Fix a problem with `start-file-process' in Tramp
33759         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
33760         `start-file-process' shall work when `non-essential' is
33761         non-nil, but there is already an established connection.
33762         <https://github.com/company-mode/company-mode/issues/462>
33764 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
33766         Fix selecting SQLite database files with sql-mode (Bug#23566)
33768         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
33769         SQLite database file name, by default.
33770         (sql-get-login-ext): Fixed read-file-name arguments to provide
33771         path completion even if a database name pattern is customized and to
33772         allow creation of new SQLite database files.
33774 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33776         Clarify major mode switching
33778         * doc/emacs/modes.texi (Major Modes):
33779         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
33780         buffer has exactly one major mode and can't be "turned off", only
33781         switched away from (Bug#25357).
33783 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33785         Add helpful comment to compile-command's docstring
33787         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
33788         docstring (Bug#25337).
33790 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33792         Specify encoding of the bookmark file
33794         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
33795         Accept an argument CODING and include a 'coding:' cookie in the
33796         bookmark file preamble.
33797         (bookmark-upgrade-file-format-from-0): Call
33798         'bookmark-insert-file-format-version-stamp' with the file buffer's
33799         encoding, as detected when it was read.
33800         (bookmark-file-coding-system): New variable.
33801         (bookmark-load): Set bookmark-file-coding-system to the encoding
33802         of the loaded file.
33803         (bookmark-write-file): Bind coding-system-for-write to either the
33804         user setting via "C-x RET c" or to the existing file encoding,
33805         defaulting to 'utf-8-emacs'.  Update the value of
33806         bookmark-file-coding-system.  (Bug#25365)
33808 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33810         Avoid infloop in 'ispell-region'
33812         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
33813         Protect against 'ispell-skip-region-alist' being nil.  Reported by
33814         Ernest Adrogué <nfdisco@gmail.com>, see
33815         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
33817 2017-01-06  Philipp Stephani  <phst@google.com>
33819         Add support for Unicode whitespace in [:blank:]
33821         See Bug#25366.
33823         * src/character.c (blankp): New function for checking Unicode
33824         horizontal whitespace.
33825         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
33826         whitespace.
33827         (BIT_BLANK): New bit for range table.
33828         (re_wctype_to_bit, execute_charset): Use it.
33829         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
33830         unit test for [:blank:] character class.
33831         * test/src/regex-tests.el (test): Adapt unit test.
33832         * doc/lispref/searching.texi (Char Classes): Document new Unicode
33833         behavior for [:blank:].
33835 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
33837         Fix ':version' of 'select-enable-primary'
33839         * lisp/select.el (select-enable-primary): Fix a typo in
33840         ':version'.  (Bug#25375)
33842 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
33844         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
33846         Author:
33848         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
33849         Avoid add-to-list on local variables.
33851 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
33853         Fix isearch handling of C-u C-u...
33855         * lisp/isearch.el: Add `isearch-scroll' property to
33856         universal-argument-more so that `isearch-allow-scroll' will apply to it
33857         as well.
33858         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
33859         `universal-argument-more' as well (Bug#25302).
33861 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
33863         Shorten autogen.sh script
33865         * autogen.sh: Use a shorter script, as some 'sed' implementations
33866         mishandle long scripts.
33868 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33870         Yet another fix for autogen.sh
33872         * autogen.sh (gnulib.mk): Make the Sed script more portable.
33874         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
33875         the changes in autogen.sh.
33877 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33879         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
33881 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33883         Fix dependencies of nt/gnulib.mk
33885         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
33886         of nt/gnulib.mk on lib/Makefile.in.
33888 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33890         Unbreak macOS build
33892         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
33893         Sed.
33895 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
33897         Fix term.el handling of ^Z-sequences spanning chunks
33899         Bash will after each command send ?\032 and the current directory "/tmp"
33900         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
33901         command outputs roughly 4096 bytes then the end of the first chunk will
33902         be "/tm" (Bug#13350).
33904         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
33905         end of the ?\032 sequence to use \n instead of $, the latter can match
33906         end of string as well.
33908 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
33910         Turn on lexical-binding in mb-depth.el
33912         * lisp/mb-depth.el: Turn on lexical-binding.
33913         (minibuffer-depth-setup): Bind things used multiple times.
33915 2017-01-04  Alan Third  <alan@idiocy.org>
33917         Revert "Rework NS event handling (bug#25265)"
33919         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
33921 2017-01-04  Glenn Morris  <rgm@gnu.org>
33923         Update remaining copyright years with admin.el M-x set-copyright
33925         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
33927 2017-01-04  Glenn Morris  <rgm@gnu.org>
33929         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
33931 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
33933         Port recent autogen.sh changes to Darwin
33935         Problem reported by Sam Steingold (Bug#25347).
33936         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
33937         POSIX does not require it and it does not work on Darwin.
33939 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33941         Avoid add-to-list on local variables
33943         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
33944         (nnir-retrieve-headers): Use pcase.
33945         (nnir-search-thread): Avoid add-to-list on local variables.
33947         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
33948         (smime-verify-region): Avoid add-to-list on local variables.
33950         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
33951         (rmail-digest-parse-mime, rmail-digest-rfc1153)
33952         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
33954         * lisp/net/ldap.el (ldap-search): Move init into declaration.
33956         * lisp/net/newst-backend.el (newsticker--cache-add):
33957         Avoid add-to-list on local variables; Simplify code with `assq'.
33959         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
33960         (dbus-debug): Remove declaration, unused.
33961         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
33962         (zeroconf-service-browser-handler, zeroconf-publish-service):
33963         Avoid add-to-list and *-hook on local variables.
33965         * lisp/org/org-archive.el (org-all-archive-files):
33966         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
33967         Avoid add-to-list on local variables.
33969         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
33970         (org-publish-projects): Use it to avoid run-hooks on a local variable.
33971         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
33972         local variables.
33974         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
33975         (ada-prj-load-from-file): Avoid add-to-list on local variables.
33977         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
33978         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
33979         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
33981         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
33982         Avoid add-to-list on local variables.
33984 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
33986         Turn on lexical-binding in md4.el
33988         * lisp/md4.el: Turn on lexical-binding.
33989         * test/lisp/md4-tests.el: New file.
33991 2017-01-03  Stefan Merten  <stefan@merten-home.de>
33993         Lots of refactorings and a few minor improvements.
33995         User visible improvements and changes:
33996         * Improve and debug `rst-forward-section` and `rst-backward-section`.
33997         * Auto-enumeration may be used with all styles for list insertion.
33998         * Improve and debug `rst-toc-insert`.
33999         * Adapt change in Emacs to use customization group `text` instead of `wp`.
34000         * Bind `n` and `p` in `rst-toc-mode`.
34001         * `z` in `toc-mode` returns to the previous window configuration.
34002         * Require Emacs version >= 24.1.
34004         Lots of refactorings including:
34005         * Silence byte compiler.
34006         * Use lexical binding.
34007         * Use `cl-lib`.
34008         * Add tests and raise test coverage.
34010 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
34012         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
34014         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
34015         emit a warning for those coders who forgot to put a default value in
34016         their slot.
34018 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
34020         Small patch for ffap.el
34022         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
34023         while walking 'ffap-alist'.
34025 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
34027         Generate nt/gnulib.mk from lib/gnulib.mk
34029         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
34030         with the purpose of avoiding manual maintenance of
34031         nt/gnulib.mk.
34033         * nt/gnulib-modules-to-delete.cfg: New file.
34034         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
34035         (am__v_GEN_1): New variables.
34036         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
34037         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
34039         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
34040         files to link.
34041         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
34042         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
34043         running autoreconf.
34044         * Makefile.in (gnulib_mk): New variable.
34045         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
34046         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
34047         name.
34048         * .gitignore: Add nt/gnulib.mk.
34050         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
34051         build the acl-permissions module from Gnulib.
34053 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
34055         Handle multibyte chars spanning chunks in term.el
34057         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
34058         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
34059         buffer-local twice.
34060         (term-emulate-terminal): Check for bytes of incompletely decoded
34061         characters, and save them until the next call when they can be fully
34062         decoded (Bug#25288).
34064 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
34066         Finish work on filenotify-tests.el
34068         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
34069         New variable.
34070         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
34071         (file-notify--test-read-event, file-notify-test02-events)
34072         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
34073         (file-notify-test03-autorevert)
34074         (file-notify-test08-watched-file-in-watched-dir):
34075         Set `file-notify--test-desc' for proper work of
34076         `file-notify--test-monitor'.  (Bug#21804)
34078 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
34080         Check also for "gvfs-monitor-dir.exe" in Tramp
34082         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
34083         for "gvfs-monitor-dir.exe".
34085 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
34087         Fix compilation --without-x
34089         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
34090         font_range only if it is compiled in.  (Bug#25334)
34092 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
34094         Fix RefTeX to show table of contents for dtx files (tiny change)
34096         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
34097           section regexp so that it accepts lines starting with the comment
34098           character. (tiny change)
34099         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
34100           gathered toc entries, accepting a commented entry if and only if the
34101           source file is a ".dtx" file. (tiny change)
34103 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
34105         Remove mistakenly-added files
34107         Problem reported by Glenn Morris in:
34108         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
34109         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
34110         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
34111         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
34112         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
34113         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
34114         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
34115         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
34116         Remove files that were added by mistake during a merge.
34118 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
34120         Warn about incomplete untarring of link files
34122         The current tar-mode doesn't really support unpacking symlinks, it
34123         simply creates an empty file of the same name.
34125         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
34126         `tar--check-descriptor'.
34127         (tar-untar-buffer): Use it to warn about imperfectly untarred link
34128         files.
34130 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
34132         Remove sh-mode's skeleton-end-hook
34134         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
34135         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
34136         and also respects `skeleton-end-newline' (Bug#16634).
34138 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34140         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
34142 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
34144         Add term/tmux.el
34146         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
34147         with xterm and screen terminfos.  This is simply a duplication of
34148         term/screen.el with screen -> tmux.
34149         * lisp/term/tmux.el: New file.
34151 2017-01-01  Philipp Stephani  <phst@google.com>
34153         Fix encoding of JSON surrogate pairs
34155         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
34156         individual code points; cf. Bug #24784.
34158         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
34159         pairs.
34160         (json--decode-utf-16-surrogates): New defun.
34162         * test/lisp/json-tests.el (test-json-read-string): Add test for
34163         surrogate pairs.
34165 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
34167         Remove tramp-gw.el, which was synced from emacs-25 by accident
34169 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34171         Do not use Gnulib’s m4/wint_t.m4.
34173         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
34174         Fix typo so that warn-on-use.m4 is removed too.
34175         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
34176         * m4/wint_t.m4: Remove.
34178 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34180         Merge from gnulib, continued
34182         * m4/wint_t.m4: New file, copied from gnulib.
34184 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34186         Update copyright year to 2017 in master
34188         Run admin/update-copyright in the master branch.  This fixes files
34189         that were not already fixed in the emacs-25 branch before it was
34190         merged here.
34192 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34194         Remove test/automated detritus from merge
34196 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34198         Merge from gnulib
34200         This incorporates:
34201         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
34202         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
34203         2016-12-17 getlogin: Port to newer mingw
34204         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
34205         2016-12-17 Avoid redefinition errors on MSVC
34206         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
34207         * m4/stdint.m4, m4/unistd_h.m4:
34208         Copy from gnulib.
34209         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
34210         Plus, this commit updates the indenting on copyright notices to
34211         match that of gnulib.
34213 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34215         Merge from origin/emacs-25
34217         2e2a806 Fix copyright years by hand
34218         5badc81 Update copyright year to 2017
34220 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34222         Merge from origin/emacs-25
34224         665be69 ; Update ChangeLog.2 and AUTHORS files
34226         # Conflicts:
34227         #       etc/AUTHORS
34229 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34231         Merge from origin/emacs-25
34233         697167b ; Improve wording of previous change in variables.texi
34234         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
34235         8b71826 Don't modify minibuffer variables globally
34236         5b5e036 Revert to pre-25.1 behavior in ffap
34237         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
34238         3ace730 Attempt to fix 64-bit AIX build
34239         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
34240         c04ac8a Document that variable binding order is unspecified
34241         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
34242         08de101 Fix M-x hints on Mac port
34243         86a297a Work around reporting a dpi change in apply_xft_settings
34244         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
34245         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
34246         88cdf14 Improve skeleton docstrings
34248 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34250         Merge from origin/emacs-25
34252         4179238 Improve documentation of 'w32-scroll-lock-modifier'
34254 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34256         Merge from origin/emacs-25
34258         9adb101 Document 'describe-fontset'
34259         229315c ; Add missing symbol quoting.
34260         3d94931 Repair desktop restoration on text terminals
34261         43022f9 Ignore forward-sexp-function in js-mode indentation code
34262         b19fb49 Improve documentation of 'define-coding-system'
34263         467768f Fix Bug#25162
34264         6db78ae Fix a typo in define-abbrev-table
34265         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
34266         442e2f6 Fixes related to select-enable-clipboard
34267         e4ac450 Define struct predicate before acccesors
34268         08decbd Doc fix for vc-git
34269         5531e75 Further improve make-dist checking
34270         953bf67 Improve previous make-dist change
34271         129645a Make make-dist --snapshot do some sanity checks
34273         # Conflicts:
34274         #       lisp/menu-bar.el
34276 2017-01-01  Alan Mackenzie  <acm@muc.de>
34278         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
34280         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
34281         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
34283         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
34284         t to (&rest def-form).
34286 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34288         Fix copyright years by hand
34290         These are dates that admin/update-copyright did not update, or
34291         updated incorrectly.
34293 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34295         Update copyright year to 2017
34297         Run admin/update-copyright.
34299 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
34301         Clarify internal_catch etc.
34303         The recent change to internal_catch and friends relied on some
34304         confusion I introduced to the code in 2013.  Attempt to fix
34305         the confusion by clarifying the code instead.  This saves an
34306         instruction and a load dependency in the typical case.
34307         * src/eval.c (internal_catch, internal_condition_case)
34308         (internal_condition_case_1, internal_condition_case_2)
34309         (internal_condition_case_n): Undo the previous change.  Instead,
34310         use use ‘c’ rather than ‘handlerlist’ in the typical case.
34311         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
34313 2016-12-31  Ken Brown  <kbrown@cornell.edu>
34315         Further improve filenotify-tests.el
34317         * test/lisp/filenotify-tests.el
34318         (file-notify--test-read-event): Adapt to file monitors of type
34319         GFamFileMonitor, which occur on Cygwin.
34320         (file-notify--test-monitor): Update doc string.
34322 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
34324         * src/xdisp.c (string_from_display_spec): Simplify.
34326 2016-12-31  Alan Third  <alan@idiocy.org>
34328         Rework NS event handling (bug#25265)
34330         * src/nsterm.m (unwind_apploopnr): Remove.
34331         (ns_read_socket): Remove references to apploopnr.  Make processing the
34332         NS event loop conditional on being in the main thread.
34333         (ns_select): Remove references to apploopnr.  Remove all fd_handler
34334         related stuff.  Check if there are events waiting on the NS event
34335         queue rather than running the event loop.  Remove unused variables and
34336         code.
34337         (fd_handler): Remove.
34338         (ns_term_init): Remove creation of fd_handler thread.
34339         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
34340         EmacsView:windowDidExpose): Remove send_appdefined.
34341         (ns_send_appdefined): Always check the event queue for
34342         applicationDefined events rather than relying on send_appdefined var.
34343         * src/nsterm.h: Remove reference to fd_handler method.
34345 2016-12-31  Philipp Stephani  <phst@google.com>
34347         Checkdoc: use syntax functions instead of regex
34349         In checkdoc.el, get rid of the error-prone regex to find definition
34350         forms, and use existing syntax-based navigation functions instead.
34351         This fixes a corner case with one-argument `defvar' forms.
34353         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
34354         (checkdoc-next-docstring, checkdoc-defun): Use it.
34355         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
34356         Add unit test.
34358 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
34360         Don't define NOMINMAX on MS-Windows
34362         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
34363         longer needed with the current sources and MinGW headers, while
34364         defining NOMINMAX causes an annoying compiler warning.
34366 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
34368         Simplify code in eval.c that calls 'setjmp'
34370         * src/eval.c (internal_catch, internal_condition_case)
34371         (internal_condition_case_1, internal_condition_case_2)
34372         (internal_condition_case_n): Factor out the common tail of the
34373         functions.
34375 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
34377         Simplify code in 'string_from_display_spec'
34379         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
34380         test before the loop.
34382 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
34384         Serialize random number generation on MS-Windows
34386         * src/w32.c (rand_as183): New function.
34387         (random): Use it instead of MS runtime's 'rand'.  This avoids
34388         producing separate and identical random series in each Lisp
34389         thread.
34390         (srandom): Modify to supply 3 seed values to 'rand_as183'.
34392 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
34394         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
34396 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
34398         Don't call xg_select for a NextStep build.
34400         NextStep builds use glib but don't use xg_select.
34402         * src/process.c (wait_reading_process_output): Don't call xg_select
34403         for a NextStep build.
34405 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
34407         Increase the obarray size.
34409         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
34410         the time we've started.  The old obarray size ensured an average chain
34411         length of 10 or more.
34413         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
34415 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
34417         Initialize thread support for Xlib.
34419         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
34420         before doing anything else with X.
34422 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
34424         Rename primary_thread to main_thread
34426         This avoids the confusion of using two different phrases "main thread"
34427         and "primary thread" internally to mean the same thing.  See:
34428         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
34429         * src/thread.c (main_thread): Rename from primary_thread,
34430         since the new name no longer clashes with main_thread_id
34431         and Emacs internals normally call this the "main thread".
34432         (init_main_thread): Rename from init_primary_thread.
34433         (main_thread_p): Rename from primary_thread_p.
34434         All uses changed.
34436 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
34438         Rename main_thread to main_thread_id and simplify
34440         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
34441         [HAVE_PTHREAD]: Do not include pthread.h.
34442         (main_thread): Remove.  All uses replaced by main_thread_id,
34443         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
34444         the main_thread_id established by sysdep.c, there is no need for a
34445         separate copy of the main thread ID here.
34446         (module_init): Remove.  All uses removed.
34447         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
34448         Rename from main_thread.  All uses changed.  Now extern.
34450 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
34452         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
34454 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
34456         * src/sysdep.c (deliver_process_signal): Improve comment.
34458 2016-12-30  Alan Mackenzie  <acm@muc.de>
34460         CC Mode: Fix the fontification of a spuriously recognized enum member.
34462         The "enum" was in an argument list, but triggered the fontification of a
34463         following identifier in the function block as though it were in an enum
34464         declaration.
34466         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
34467         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
34468         call to c-font-lock-enum-body.
34470         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
34471         variable.
34473 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
34475         Bump Emacs version to 25.1.91
34477         * README:
34478         * configure.ac:
34479         * msdos/sed2v2.inp:
34480         * nt/README.W32: Bump Emacs version.
34481         * lisp/ldefs-boot.el: Update.
34483 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
34485         Attempt to fix crashes with threads in GTK builds
34487         * src/xgselect.c (xg_select): Call pselect via thread_select, not
34488         directly, to avoid running Lisp (via unblock_input) when more than
34489         one thread could be running.  (Bug#25247)
34490         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
34491         xg_select directly instead of through thread_select.
34492         * src/xgselect.h (xg_select): Last 2 arguments are no longer
34493         'const', for consistency with thread_select.
34495 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
34497         Add entry for biblatex
34499         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
34500         entry for biblatex macros.
34502 2016-12-30  Alan Mackenzie  <acm@muc.de>
34504         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
34506         The ambiguity was whether INITVALUE is evaluated when it's not going to be
34507         used to set SYMBOL's value.
34509         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
34511         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
34513 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
34515         ffap-string-at-point: Limit max length of active region
34517         Prevents that 'ffap-guesser' waste time checking large strings
34518         which are likely not valid candidates (Bug#25243).
34519         * lisp/ffap.el (ffap-max-region-length): New variable.
34520         (ffap-string-at-point): Use it.
34521         * test/lisp/ffap-tests.el: New test suite.
34522         (ffap-tests-25243): Add test for this bug.
34524 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
34526         last-chance: Also ignore NEWS files + typo fixes
34528         * admin/last-chance.el: Fix typo in copyright notice.
34529         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
34530         (last-chance-cleanup): Fix typo in docstring.
34532 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
34534         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
34536 2016-12-29  Alan Mackenzie  <acm@muc.de>
34538         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
34540         The ambiguity was whether INITVALUE is evaluated when it's not going to be
34541         used to set SYMBOL's value.
34543         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
34545 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
34547         Improve filenotify-tests.el
34549         * src/inotify.c (Finotify_valid_p):
34550         * src/kqueue.c (Fkqueue_valid_p):
34551         * src/w32notify.c (Fw32notify_valid_p):
34552         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
34553         (Fgfile_monitor_name): New defun.
34554         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
34556         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
34557         New defun, derived from `file-notify--test-read-event-timeout'.
34558         Replace all calls of `read-event' by this.
34559         (file-notify--test-timeout): Fix docstring.
34560         (file-notify--test-monitor): New defun.
34561         (file-notify--deftest-remote): Do not bind
34562         `file-notify--test-read-event-timeout' anymore.
34563         (file-notify-test00-availability): Print also monitor, if existent.
34564         (file-notify--test-with-events): Add an additional
34565         `file-notify--test-read-event' call, in order to get it work
34566         after `file-notify-add-watch'.  Remove special timeout for cygwin.
34567         (file-notify-test02-events): Make a better check for cygwin.
34568         (file-notify-test06-many-events): Improve event list for cygwin.
34569         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
34571 2016-12-29  Alan Mackenzie  <acm@muc.de>
34573         Partially correct fontification of "(b*3)", and the like, in C++ Mode
34575         This problem is caused by the fundamental ambiguity in C++ between
34576         argument declarations and initialization clauses.
34578         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
34579         paren preceded by an arithmetic operator, we give this the context nil, not
34580         'arglist.
34582         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
34583         New lang consts and vars.
34585 2016-12-29  Alan Mackenzie  <acm@muc.de>
34587         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
34589         This is because there are times when this variable is changed by setcar before
34590         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
34591         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
34593         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
34595 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34597         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34599         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34600         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
34602 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
34604         Release Tramp 2.3.1
34606         * doc/misc/trampver.texi:
34607         * lisp/net/trampver.el: Change version to "2.3.1".
34609         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
34610         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
34612         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
34613         (tramp-compat-file-name-quote)
34614         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
34616 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34618         Simplify prog1 implementation
34620         Inspired by a suggestion from Chris Gregory in:
34621         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
34622         On my platform, this generates exactly the same machine insns.
34623         * src/eval.c (prog_ignore): Rename from unwind_body, since
34624         it’s more general than that.  All callers changed.
34625         (Fprog1): Simplify by using prog_ignore.
34626         (Fwhile): Clarify by using prog_ignore.
34628 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
34630         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34632         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34634 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
34636         Remove a use of lexical-let
34638         * lisp/gnus/message.el (message-completion-function): Just use let,
34639         since the file now uses lexical-binding.
34641 2016-12-27  Ken Brown  <kbrown@cornell.edu>
34643         Improve filenotify-tests.el on Cygwin (Bug #21804)
34645         * test/lisp/filenotify-tests.el [CYGWIN]
34646         (file-notify--test-read-event-timeout): Increase.
34647         (file-notify--test-with-events): Add delay before executing body.
34648         (file-notify-test02-events, file-notify-test04-file-validity):
34649         Adjust expected results.
34651 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
34653         Fix expand-file-name on DOS_NT systems when /: escaping is used
34655         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
34656         file names escaped by "/:".  Don't recursively expand
34657         default-directory escaped with "/:" which is not followed by a
34658         drive spec.  (Bug#25183)
34660 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34662         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
34664         * doc/misc/gnus.texi (Mail Source Specifiers):
34665         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
34666         the correct `((group))' value.  (bug#25275) (tiny change)
34668 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34670         Fix bug in customizing `mail-sources' variable (bug#25274)
34672         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
34673         for lone argument. (bug#25274) (tiny change)
34675 2016-12-26  Philipp Stephani  <phst@google.com>
34677         Checkdoc: Don't require a space before an arg list
34679         See Bug#24998.
34681         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
34682         space before a argument list.
34683         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
34684         Add unit test.
34686 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
34688         Document 'default-toplevel-value' and 'set-default-toplevel-value'
34690         * doc/lispref/variables.texi (Default Value): Document
34691         'default-toplevel-value' and 'set-default-toplevel-value'.
34693 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
34695         Add zshrc and zshenv detection to sh-mode (bug#25217)
34697         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
34699 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34701         Fix typo in lisp.h reordering patch
34703         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
34704         Reported by Eli Zaretskii (Bug#25128#19).
34706 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34708         regex.h now includes sys/types.h
34710         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
34711         Do not include sys/types.h; no longer needed.
34712         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
34713         glibc regex.h does, and POSIX has blessed this since 2008.
34715 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34717         Reorder lisp.h to declare types before using them
34719         This puts basic functions for types to be after the corresponding
34720         type definitions.  This is a more-common programming style in C,
34721         and will make it easier to port Emacs to gcc
34722         -fcheck-pointer-bounds, since the functions now have access to the
34723         corresponding types' sizes.  This patch does not change the code;
34724         it just moves declarations and definitions and removes
34725         no-longer-needed forward declarations (Bug#25128).
34726         * src/buffer.c, src/data.c, src/image.c:
34727         Include process.h, for PROCESSP.
34728         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
34729         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
34730         * src/termhooks.h (TERMINALP, XTERMINAL):
34731         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
34732         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
34733         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
34734         Move here from lisp.h.
34735         * src/intervals.h: Include buffer.h, for BUFFERP.
34736         Include lisp.h, for Lisp_Object.
34737         * src/lisp.h: Reorder declarations and definitions as described
34738         above.  Move thread includes to be later, so that they can use the
34739         reordered definitions.  Move some symbols to other headers (noted
34740         elsewhere).  Remove forward decls that are no longer needed.
34741         * src/thread.h: Include systhread.h here, not in lisp.h,
34742         since lisp.h itself does not need systhread.h.
34744 2016-12-25  Leo Liu  <sdl.web@gmail.com>
34746         Don't modify minibuffer variables globally
34748         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
34750 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34752         diff-mode auto-refines only after a successful motion
34754         Prior to this patch (if enabled) auto-refinement would kick in after all
34755         hunk navigation commands, even if the motion failed.  This would result
34756         in a situation where the hunk navigation would signal an error and beep,
34757         but yet still accomplish potentially useful work, by auto-refining.
34758         This patch moves the auto-refinement code to only run when a motion was
34759         successful
34761         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
34762           diff--internal-hunk-prev): Removed auto-refinement-triggering code
34763         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
34764           auto-refinement-triggering code
34766 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34768         diff-mode is able to better handle file headers
34770         This fixes a regression introduced in
34772           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
34774         This bug was filed in
34776           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
34778         Patches generated from a VCS such as git contain a patch message at the
34779         start, and diff-mode is now once-again able to properly able to ignore
34780         this message when issuing navigation commands around the message.
34782         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
34783           thoroughly ignore the header when looking for a beginning of file
34784           diffs.
34786 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34788         Use libpng-config --ldflags, not --libs
34790         Problem reported by James K. Lowden (Bug#25268).
34791         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
34793 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
34795         Revert to pre-25.1 behavior in ffap
34797         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
34798         the same behavior as in Emacs 24.x.  (Bug#25264)
34799         Explain the trade-offs of customizing this in the doc string.
34801 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34803         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
34805 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34807         Remove redundant `save-match-data' in whitespace.el
34809         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
34810         (whitespace-report-region): Remove redundant `save-match-data' calls.
34812 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34814         Fix whitespace eob cleanup
34816         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
34817         of empty lines at end of buffer.
34818         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
34819         (whitespace-tests--cleanup-string): New helper function for tests.
34821 2016-12-24  Hong Xu  <hong@topbug.net>
34823         Fix timezone detection of parse-iso8601-time-string
34825         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
34826         parsing.  Add a doc string.  (Bug#25086)
34827         * src/editfns.c (Fdecode-time): Doc fix.
34828         * doc/misc/emacs-mime.texi (time-date): Add an example for
34829         parse-iso8601-time-string.
34830         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
34831         tests for parse-iso8601-time-string.
34833 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34835         Simplify exec_byte_code via moving decls etc.
34837         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
34838         initializers into decls, and by omitting some unnecessary changes
34839         to ‘top’.
34841 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34843         Remove interpreter’s byte stack
34845         This improves performance overall on my benchmark on x86-64,
34846         since the interpreted program-counter resides in a machine
34847         register rather than in RAM.
34848         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
34849         is no longer a byte stack to decode.
34850         * src/bytecode.c (struct byte_stack, byte_stack_list)
34851         (relocate_byte_stack): Remove.  All uses removed.
34852         (FETCH): Simplify now that pc is now local (typically, in a
34853         register) and no longer needs to be relocated.
34854         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
34855         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
34856         (exec_byte_code): Allocate a copy of the function’s bytecode,
34857         so that there is no problem if GC moves it.
34858         * src/lisp.h (struct handler): Remove byte_stack member.
34859         All uses removed.
34860         * src/thread.c (unmark_threads): Remove.  All uses removed.
34861         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
34862         All uses removed.  m_stack_bottom is now the first non-Lisp field.
34864 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34866         BYTE_CODE_SAFE typo fix
34868         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
34869         not on whether it is defined.
34871 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34873         BYTE_CODE_SAFE cleanups
34875         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
34876         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
34877         Remove unused members ‘top’ and ‘bottom’.
34878         (exec_byte_code): Nest inside { } to avoid GCC warning about
34879         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
34881 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
34883         last-chance: new utility lib for dangling deterrence
34885         * admin/last-chance.el: New file.
34887 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34889         Use max_align_t instead of void *
34891         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
34893 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34895         Attempt to fix 64-bit AIX build
34897         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
34898         type-casts that assumed 32-bit pointers.  (Bug#25141)
34900 2016-12-23  Philipp Stephani  <phst@google.com>
34902         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
34904         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
34906 2016-12-23  Philipp Stephani  <phst@google.com>
34908         Document that variable binding order is unspecified
34910         * doc/lispref/variables.texi (Local Variables):
34911         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
34912         'cl-letf' is unspecified.
34914 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34916         Prevent infloops in redisplay due to truncate-lines and overlays
34918         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
34919         redisplay_window when a screen line ends in an overlay string with
34920         a newline.  (Bug#25246)
34922 2016-12-23  Philipp Stephani  <phst@google.com>
34924         Treat incomplete integer literals as errors
34926         See Bug#25120.
34928         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
34929         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
34930         incomplete integer literals.
34932 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34934         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
34936 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
34938         Fix M-x hints on Mac port
34940         * lisp/simple.el (execute-extended-command--shorter): Call
34941         input-pending-p to trigger input processing on some systems, such
34942         as Mac port.  (Bug#23002)
34944 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
34946         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
34948 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34950         Avoid aborts due to unaligned byte stack of threads
34952         * src/thread.c (run_thread): Make sure the pointers to thread byte
34953         stack are properly aligned.  (Bug#25247)
34955 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
34957         Pacify --enable-gcc-warnings
34959         * src/charset.c (load_charset_map):
34960         * src/coding.c (decode_coding_object):
34961         * src/frame.c (make_frame):
34962         * src/window.c (Frecenter):
34963         Mark locals with UNINIT to silence false alarms from
34964         -Wmaybe-uninitialized.
34965         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
34966         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
34967         Check and assume that values are nonnull.  This pacifies
34968         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
34969         Fmake_local_variable.
34971 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
34973         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
34975         * src/thread.c (primary_thread_p): New function.
34976         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
34977         meant for thread objects allocated dynamically.
34978         * src/thread.h (primary_thread_p): Add prototype.
34980 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
34982         Work around reporting a dpi change in apply_xft_settings
34984         * src/xsettings.c (apply_xft_settings): Don't report a change
34985         when dpi settings do not differ substantially.
34987 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
34989         Use completion-at-point in verilog-mode
34991         There were some functions in verilog-mode that implemented in-buffer
34992         completion, but this needlessly duplicates completion-at-point
34993         functionality, and the popup window management had problems
34994         (see Bug #23842).  We need to keep them for backwards compatibility with
34995         older emacs versions, but use completion-at-point if available.
34997         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
34998         obsolete if completion-cycle-threshold is available.
34999         (verilog-mode-map, verilog-menu): Bind completion-at-point and
35000         completion-help-at-point in preference to verilog-complete-word and
35001         verilog-show-completions, respectively.
35002         (verilog-mode): Add verilog-completion-at-point to
35003         completion-at-point-functions.
35004         (verilog-completion-at-point): New function.
35005         (verilog-show-completions, verilog-complete-word): Use it to avoid code
35006         duplication.
35008 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
35010         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
35012         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
35013         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
35014         retain their hardwired values, and all other dictionaries are given
35015         sensible defaults.
35017 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
35019         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
35020         and xetex commands.
35022 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
35024         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
35026         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
35027         for thread objects.  They are marked via the all_threads list, and
35028         therefore don't need to be inserted into the red-black tree, so
35029         mem_find will never find them.  Reported by Daniel Colascione
35030         <dancol@dancol.org> in
35031         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
35033 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
35035         * src/data.c (Fmake_variable_frame_local): Remove
35037         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
35039         * src/data.c (swap_in_symval_forwarding, set_internal)
35040         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
35041         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
35042         Don't pay attention to ->frame_local any more.
35043         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
35044         Smake_variable_frame_local.
35046         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
35047         of make-variable-frame-local.
35049         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
35050         frame-local case.
35052         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
35054         * src/frame.c (store_frame_param):
35055         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
35057         * src/widget.c (first_frame_p): Remove, unused.
35059 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
35061         Port dumping better to WSL
35063         Problem reported by Angelo Graziosi in:
35064         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
35065         * src/sysdep.c (disable_address_randomization):
35066         Detect buggy platforms where 'personality' always returns 0.
35068 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
35070         Remove gateway methods in Tramp
35072         * doc/misc/tramp.texi (Top, Configuration): Remove section
35073         `Gateway methods', insert section `Firewalls' in menu.
35074         (History): Gateways are removed now.
35075         (Gateway methods): Remove section.
35076         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
35077         (Firewalls): New section.
35079         * etc/NEWS: Gateway methods in Tramp have been removed.
35081         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
35082         (tramp-file-name-port, tramp-accept-process-output): Simplify.
35084         * lisp/net/tramp-gw.el: Remove.
35086         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
35087         (tramp-gw-socks-method): Remove declarations.
35088         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
35089         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
35090         (tramp-do-copy-or-rename-file-out-of-band)
35091         (tramp-compute-multi-hops, tramp-maybe-open-connection):
35092         Remove gateway support.
35094         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
35095         Remove gateway tests.
35097 2016-12-20  Alan Mackenzie  <acm@muc.de>
35099         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
35101         lisp/progmodes/cc-defs.el: Amend the version number.
35102         etc/NEWS: Add an item explaining the change.
35104 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
35106         files-test-read-file-in-: Delete temporary dir on exit
35108         * test/lisp/files-tests.el (files-test-read-file-in-~):
35109         Create subdir inside dir.
35111 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
35113         ibuffer: New filters and commands
35115         Add several new filters and improve documentation.
35116         See discussion on:
35117         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
35118         * lisp/ibuf-ext.el: Add paragraph to file commentary.
35119         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
35120         (ibuffer-filter-groups): Update doc string.
35121         (ibuffer-unary-operand): Add new function that transparently
35122         handles 'not' formats for compound filters.
35123         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
35124         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
35125         (ibuffer-decompose-filter): Handle 'and' as well,
35126         and handle 'not' consistently with other uses.
35127         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
35128         (ibuffer--or-and-filter): New defun.
35129         (ibuffer-or-filter, ibuffer-and-filter): Use it.
35130         (ibuffer-format-qualifier): Handle 'and' filters as well.
35131         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
35132         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
35133         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
35134         Add new pre-defined filters.
35135         (ibuffer-filter-chosen-by-completion): Add new interactive command
35136         for easily choosing a filter from the descriptions.
35137         * lisp/ibuffer.el (ibuffer-mode-map):
35138         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
35139         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
35140         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
35141         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
35142         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
35143         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
35144         and '/ DEL' respectively.
35145         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
35146         skip specification.
35147         Add menu entries for the new filters.
35148         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
35149         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
35150         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
35151         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
35152         ibuffer-decompose-filter, ibuffer-and-filter
35153         ibuffer-or-filter): Add new tests; they are skipped unless
35154         ibuf-ext is loaded.
35156 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
35158         Update NEWS
35160         * etc/NEWS (Image-Dired): New section.
35162 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
35164         Recognize graphicsmagick in image-dired
35166         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
35167         (image-dired-cmd-create-thumbnail-options):
35168         (image-dired-cmd-create-temp-image-program):
35169         (image-dired-cmd-create-temp-image-options):
35170         (image-dired-cmd-create-standard-thumbnail-options):
35171         (image-dired-cmd-rotate-thumbnail-program):
35172         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
35173         gm(1) executable.
35175 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
35177         Improve skeleton docstrings
35179         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
35180         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
35181         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
35182         `skeleton-end-hook' above the explanation of skeleton syntax.
35184 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
35186         Implement asynchronous thumbnail generation in image-dired
35188         Additionally, all FOO-options defcustoms that were in fact shell command
35189         strings have been converted to argument lists.  Another method for
35190         shrinking PNG thumbs with optipng(1) has been added.
35191         * lisp/image-dired.el: Remove TODO item in commentary.
35192         (image-dired-cmd-create-thumbnail-options):
35193         (image-dired-cmd-create-temp-image-options):
35194         (image-dired-cmd-rotate-thumbnail-options):
35195         (image-dired-cmd-rotate-original-options):
35196         (image-dired-cmd-write-exif-data-options):
35197         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
35198         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
35199         Change string type to file.
35200         (image-dired-cmd-create-standard-thumbnail-command): Remove.
35201         (image-dired-cmd-pngnq-options):
35202         (image-dired-cmd-create-standard-thumbnail-options):
35203         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
35204         New defcustoms.
35205         (image-dired-queue, image-dired-queue-active-jobs):
35206         (image-dired-queue-active-limit): New variables.
35207         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
35208         (image-dired-optipng-thumb): New functions.
35209         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
35210         Use start-process instead of call-process.  Set file modes.  Trigger
35211         PNG file optimization in process sentinel.
35212         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
35213         (image-dired-display-thumbs):
35214         (image-dired-create-thumbs): Don't expect call-process return value.
35215         (image-dired-display-image, image-dired-rotate-thumbnail): Use
35216         start-process instead of call-process.
35217         (image-dired-rotate-original, image-dired-set-exif-data):
35218         (image-dired-get-exif-data): Adapt to arguments being an arg list.
35220 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
35222         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
35224         * src/indent.c (restore_window_buffer): New function.
35225         (Fvertical_motion): Use it to restore window's buffer.
35227 2016-12-19  Glenn Morris  <rgm@gnu.org>
35229         Improve default load-path for uninstalled CANNOT_DUMP builds
35231         * src/lread.c (load_path_default) [CANNOT_DUMP]:
35232         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
35233         I think this became an issue several years ago when we stopped
35234         using EMACSLOADPATH in the Makefiles; however this change should
35235         improve the CANNOT_DUMP uninstalled case in general.
35237 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
35239         Improve documentation of 'w32-scroll-lock-modifier'
35241         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
35242         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
35244         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
35245         fix.  (Bug#25204)
35247 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
35249         Document 'describe-fontset'
35251         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
35252         (Bug#25216)
35254 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
35256         Document 'describe-fontset'
35258         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
35259         (Bug#25216)
35261 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
35263         Fix crashes upon C-g on Posix TTY frames
35265         * src/thread.h (struct thread_state): New member not_holding_lock.
35266         (maybe_reacquire_global_lock): Add prototype.
35267         * src/thread.c: Include syssignal.h.
35268         (maybe_reacquire_global_lock): New function.
35269         (really_call_select): Set the not_holding_lock member of the
35270         thread state before releasing the lock, and rest it after
35271         re-acquiring the lock when the select function returns.  Block
35272         SIGINT while doing this to make sure we are not interrupted on TTY
35273         frames.
35274         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
35275         functions.
35276         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
35277         Add prototypes.
35278         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
35279         maybe_reacquire_global_lock.  (Bug#25178)
35281 2016-12-19  Sam Steingold  <sds@gnu.org>
35283         avoid Eager macro-expansion failure: (void-function string-to-list)
35285         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
35286           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
35287           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
35289 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
35291         Fix Bug#24980
35293         * lisp/ido.el (ido-add-virtual-buffers-to-list):
35294         Suppress Tramp invocation.  (Bug#24980)
35296 2016-12-18  Philipp Stephani  <phst@google.com>
35298         Add a new compile error regexp for Clang includes
35300         Clang uses a slight variation of GCC's include format, causing includes
35301         to be treated as warnings instead of informational messages.  Use a new
35302         regular expression instead.
35304         * lisp/progmodes/compile.el
35305         (compilation-error-regexp-alist-alist): New element
35306         `clang-include' for Clang-style "included from" lines.
35307         * test/lisp/progmodes/compile-tests.el
35308         (compile-tests--test-regexps-data): Add unit test.
35310 2016-12-18  Alan Third  <alan@idiocy.org>
35312         Reinstate ispell character offset (bug#25219)
35314         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
35315         ispell-offset used to be.
35317 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
35319         Bind new image-mode scroll commands in image-dired
35321         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
35322         to new image-mode commands.
35324 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
35326         Fix rx-any with range with ?\] and ?-
35328         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
35329         list (Bug#25123).
35330         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
35332 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
35334         Use floor of mtime instead of rounding for thumb property
35336         This seems to be the correct thing to do, at least more in line with
35337         what at least one other implementation does.  Anything using
35338         gnome-desktop [0] effectively does the same, as
35339         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
35340         comparison and time_t on GNU/Linux is a signed int.
35341         [0] https://git.gnome.org/browse/gnome-desktop/
35342         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
35344 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
35346         Fix spelling mistake in private defun name (Bug#25218)
35348         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
35349         `flyspell-adjust-cursor-point'.
35351 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
35353         Remove XEmacs support from flyspell.el (Bug#25218)
35355         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
35356         (flyspell-word, flyspell-delete-region-overlays):
35357         (flyspell-correct-word-before-point): Remove XEmacs support.
35358         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
35360 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
35362         More tests for Tramp
35364         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
35365         file names.
35367         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
35368         name properly.
35370         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
35371         Mark quoted file name as absolute.  (Bug#25183)
35372         (tramp--test-windows-nt-and-batch)
35373         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
35374         (tramp--test-windows-nt-or-smb-p): Rename from
35375         `tramp--test-smb-windows-nt-p'.  Adapt callees.
35376         (tramp--test-check-files): Improve checks for environment variables.
35377         (tramp-test33-special-characters)
35378         (tramp-test33-special-characters-with-stat)
35379         (tramp-test33-special-characters-with-perl)
35380         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
35381         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35382         (tramp-test34-utf8-with-ls): Add more checks for skip.
35384 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
35386         Fix comments
35388         * src/thread.h (struct thread_state): Fix comments.
35389         * src/process.c (wait_reading_process_output): Fix a typo in
35390         commentary.
35392 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
35394         Repair desktop restoration on text terminals
35396         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
35397         frame here, instead of in desktop-restoring-frameset.  That's
35398         because desktop-read wants to know whether frameset will actually
35399         be restored, and has fallback procedures up its sleeve when it
35400         won't be; these fallbacks need to be invoked when the frameset is
35401         not going to be restored.  (Bug#24298)
35403 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
35405         Fix crashes on MS-Windows during dumping
35407         * src/unexw32.c (get_section_info): Make extra_bss_size be the
35408         maximum of extra_bss_size and extra_bss_size_static.  This avoids
35409         computing the size of the output file smaller than it actually
35410         needs to be, which then causes copy_executable_and_dump_data to
35411         write beyond the requested size of the file mapping, thus relying
35412         on the OS roundup to page boundary to save us from ourselves.  See
35413         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
35414         for the details.
35416         * lib/stdio-impl.h: Revert the workaround fix of not including
35417         errno.h for MinGW.
35419 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
35421         Ignore forward-sexp-function in js-mode indentation code
35423         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
35424         (js--maybe-goto-declaration-keyword-end):
35425         Bind forward-sexp-function to nil (bug#25215).
35427 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
35429         Be more selective clearing the image cache
35431         * lisp/image-dired.el (image-dired-create-thumbs):
35432         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
35433         the current thumbnail file from the image cache.
35435 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
35437         Unbreak the MinGW build
35439         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
35440         this, temacs crashes while dumping.
35442 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
35444         Make seq-into return the sequence when no conversion needed
35446         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
35447           no conversion is needed.
35448         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
35449           a regression test checking for identity.
35451 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
35453         Improve documentation of 'define-coding-system'
35455         * lisp/international/mule.el (define-coding-system): Warn against
35456         possible infinite recursion in pre-write-conversion and
35457         post-read-conversion functions.  (Bug#25203)
35459 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
35461         New commands image-scroll-left and image-scroll-right
35463         * etc/NEWS: Mention them.
35464         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
35465         functions.
35467 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
35469         More image-dired refactoring
35471         * lisp/image-dired.el (image-dired-thumbnail-mode):
35472         (image-dired-display-image-mode): Add :group 'image-dired so
35473         customize-mode works.
35474         (image-dired-display-image): Rearrange.
35475         (image-dired-copy-with-exif-file-name): This map is for side effect.
35476         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
35478 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
35480         * lisp/image-dired.el: Turn on lexical-binding.
35482 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
35484         Teach image-dired to also generate large thumbs
35486         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
35487         standard-large option.
35488         (image-dired-thumb-size): Add condition for standard-large storage.
35489         (image-dired-insert-thumbnail): Check for new option.  Change
35490         thumbnail path conditionally.
35491         (image-dired-thumb-size): New function.
35492         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
35494 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
35496         Merge from gnulib
35498         This incorporates:
35499         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
35500         2016-12-12 fpending: port to native Windows with MSVC
35501         * .gitignore: Do not ignore lib/stdio-impl.h.
35502         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
35503         Copy from gnulib.
35504         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
35505         * lib/stdio-impl.h:
35506         New file, copied from gnulib.
35507         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
35509 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
35511         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
35512         Append newline.
35514 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35516         Don't abuse princ and spam messages
35518         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
35519         (image-dired-display-thumb-properties):
35520         (image-dired-dired-display-properties): Nix princ.  Bind
35521         message-log-max to nil.
35523 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35525         Inherit things from special-mode and image-mode
35527         * lisp/image-dired.el: Require image-mode library.
35528         (image-dired-thumbnail-mode-map): Remove superfluous binding.
35529         (image-dired-display-image-mode-map): Remove superfluous binding.
35530         Add movement remaps from image-mode-map.
35531         (image-dired-thumbnail-mode): Derive from special-mode.
35532         (image-dired-display-image-mode): Derive from special-mode. Call
35533         image-mode-setup-winprops.
35535 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35537         Fix some image-dired customization types
35539         * lisp/image-dired.el (image-dired): Add info link to defgroup.
35540         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
35541         (image-dired-db-file, image-dired-temp-image-file):
35542         (image-dired-cmd-create-thumbnail-program):
35543         (image-dired-cmd-create-temp-image-program):
35544         (image-dired-cmd-rotate-thumbnail-program):
35545         (image-dired-cmd-rotate-original-program):
35546         (image-dired-temp-rotate-image-file):
35547         (image-dired-cmd-write-exif-data-program):
35548         (image-dired-cmd-read-exif-data-program): Set type to file.
35549         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
35550         type at runtime, since setting image-dired-thumb-size does not
35551         automatically set image-dired-thumb-width and image-dired-thumb-height.
35553 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
35555         Prevent crashes in xg_select due to concurrency
35557         * src/xgselect.c (xg_select): Don't call Glib functions that use
35558         'context' if we failed to acquire it.  This means some other
35559         thread owns the context, in which case both using the context and
35560         calling block_input/unblock_input will step on that thread's toes
35561         and eventually lead to crashes.  (Bug#25172)
35563 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
35565         Fix circular list handling in seq-mapn
35567         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
35568         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
35569           Add a regression test.
35571 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
35573         Check in tramp-tests.el, that environment variables are set correctly
35575         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
35576         Check also, that environment variables are set correctly.
35578 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
35580         Protect environment variables with double quotes in Tramp
35582         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
35583         Protect environment variables with double quotes.
35585 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
35587         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
35589 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35591         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
35593 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35595         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
35597 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35599         Recognize pngnq or pngnq-s9
35601         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
35602         pngnq-s9 as a possible executable.
35604 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35606         Update standard image-dired thumbnail location
35608         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
35609         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
35611 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35613         Reset window scroll when displaying an image
35615         When viewing a large image full size and scrolling, for instance, to
35616         the lower right corner, then selecting a much smaller image in the
35617         thumbnail buffer, the window stays scrolled so the new image is out of
35618         the window.  One must scroll back to the "origin" to view the new
35619         displayed image, or just kill the image-dired-display-image buffer and
35620         try again.  This fixes the issue.
35621         * lisp/image-dired.el (image-dired-display-window-width):
35622         (image-dired-display-window-height): Operate on a window as argument.
35623         (image-dired-display-image): Bind (image-dired-display-window) and use
35624         it. Set window vscroll and hscroll to zero when refreshing the
35625         buffer's contents.
35627 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35629         More image-dired polish
35631         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
35632         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
35633         undo list. Add image-dired-file-name-at-point to
35634         file-name-at-point-functions to facilitate find-file and friends.
35635         (image-dired-thumbnail-display-external):
35636         (image-dired-dired-display-external): Use start-process instead, to
35637         avoid needlessly blocking and using a shell.
35639 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
35641         Replace ldefs-boot with a much smaller file
35643          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
35644            (bootstrap): Depend on bootstrap-build.
35645          * admin/ldefs-clean.el: New file.
35646          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
35647          * lisp/ldefs-boot.el: Remove.
35648          * lisp/ldefs-boot-auto.el: New file.
35649          * lisp/ldefs-boot-manual.el: New file.
35650          * lisp/loadup.el: Load ldefs-boot-manual.el.
35651          * src/emacs.c (generating_ldefs_boot): New variable.
35652            (main): Check whether we are generating ldefs.
35653          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
35654            requested.
35655          * src/lisp.h (generating_ldefs_boot): New variable.
35656          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
35657            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
35658            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
35659            ldefs-boot.
35660          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
35662 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35664         Remove support for aspell < 0.60 (from 2004)
35666         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
35667         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
35669 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35671         Minor docstring and comment fixes to ispell.el
35673         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
35674         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
35675         (ispell-set-spellchecker-params): Change double-single quotes to
35676         single single quotes in comment.
35678 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35680         Remove unused variable
35682         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
35684 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35686         Remove XEmacs-specific ispell-with-no-warnings
35688         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
35689         defmacro, needed only for XEmacs.
35690         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
35692 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35694         Remove meaningless defconst ispell-version
35696         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
35697         firmly part of Emacs, and the version hasn’t changed since 2003, and
35698         isn’t used anywhere, remove it.  3rd-party code can better use the
35699         Emacs version, or feature or function checks.
35700         (ispell-check-version): No longer report ispell.el version.
35702 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35704         Remove boundp test for always-bound symbol
35706         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
35707         defvar’d at the top of the file, so remove a test to see if it is
35708         bound.
35710 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35712         Remove support for ispell < 3.1.12
35714         * lisp/textmodes/ispell.el (ispell-offset): Remove.
35715         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
35716         (ispell-process-line): No longer use ispell-offset.
35718 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35720         Remove unused constant
35722         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
35724 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35726         Remove support for old versions of supercite and GNUS from ispell.el
35728         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
35729         and GNUS >= 5.  Not exactly the bleeding edge!
35731 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35733         Remove remaining mentions of XEmacs from ispell.el
35735         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
35736         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
35737         comments.
35739 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35741         Remove XEmacs-specific minibuffer handling code from ispell.el
35743         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
35744         XEmacs.
35746 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35748         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
35750         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
35751         XEmacs-specific code.
35753 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35755         Remove XEmacs-specific code dealing with enable-multibyte-characters
35757         * lisp/textmodes/ispell.el (ispell-decode-string):
35758         (ispell-init-process):  Remove XEmacs-specific guard.
35760 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35762         Remove XEmacs-specific code from ispell.el
35764         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
35765         (ispell-menu-map-needed): Remove XEmacs-specific check.
35766         (ispell-word): Remove XEmacs-specific extent code.
35767         (ispell-init-process): Remove XEmacs workaround for local add-hook.
35768         Assume we have set-process-query-on-exit-flag.
35769         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
35770         workaround for called-interactively-p.
35772 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35774         Remove some commented-out code
35776         lisp/textmodes/ispell.el (ispell-process)
35777         ispell-valid-dictionary-list): Remove commented-out code.
35779 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35781         Remove XEmacs and old Emacs highlighting code
35783         * lisp/textmodes/ispell.el
35784         (ispell-highlight-spelling-error-xemacs): Remove.
35785         (ispell-highlight-spelling-error): Assume display-color-p exists.
35787 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35789         Assume Emacs supports [:alpha:] in regexps
35791         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
35792         (ispell-set-spellchecker-params): Remove tests of
35793         ispell-emacs-alpha-regexp.
35795 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35797         Remove some XEmacs-specific code from ispell.el
35799         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
35800         (ispell-int-char): Remove.
35802 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35804         Generalize over-specific documentation
35806         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
35807         document precise personal wordlist filenames for only two supported
35808         spelling checkers, simply say that the default personal dictionary
35809         depends on the chosen spelling checker.  The user can check the
35810         spelling checker’s documentation if necessary.  This is simpler, and
35811         works for other supported (and future, or unknown) spelling checkers.
35813 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35815         Remove tests for built-in functions
35817         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
35818         back-up definition.
35819         (ispell-add-per-file-word-list): Remove tests for comment-padright and
35820         comment-normalize-vars.
35822 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35824         Remove unused ispell-looking-back
35826         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
35828 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35830         Assume we have version<= for checking ispell version
35832         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
35833         (ispell-check-version): Use version<= directly.
35835 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35837         Remove ispell.el pre-GNU Emacs comments
35839         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
35840           details, as Emacs version, bug report address and so forth should be
35841           used instead for this version.  Remove in-line change history; use
35842           git instead.
35844 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35846         More small fixes for image-dired
35848         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
35849         node.
35850         (image-dired--with-db-file): Add declare forms.
35851         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
35852         run through the whole list.
35854 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35856         Remove image-dired-kill-buffer-and-window
35858         This breaks window layout, especially when quitting a
35859         image-dired-display-image-mode buffer.
35860         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
35861         (image-dired-display-image-mode-map): Replace in keymap and menu items
35862         bindings to image-dired-kill-buffer-and-window with quit-window.
35863         (image-dired-kill-buffer-and-window): Remove.
35865 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35867         Replace image-dired-setup-dired-keybindings with a minor mode
35869         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
35870         remove mention of nonexistent image-dired-dired and to refer to the
35871         new minor mode.
35872         (image-dired-minor-mode-map): New keymap assimilated from
35873         image-dired-setup-dired-keybindings.  In the future, the keymap parent
35874         should be removed, and perhaps also the duplicate bindings that
35875         already exist in dired-mode-map.
35876         (image-dired-setup-dired-keybindings): Remove.  Replace with an
35877         obsolete function alias.
35878         (image-dired-minor-mode): New minor mode, assuming the role of
35879         image-dired-setup-dired-keybindings.
35881 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
35883         * test/src/regex-resources/PTESTS: Convert to UTF-8.
35885 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35887         Clarify thread-signal semantics
35889         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
35890         thread will be signaled as soon as possible.
35892 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35894         Clean up var watcher disabling on thread switching
35896         * src/data.c (Fset_default): Move code into new C level function,
35897         `set_default_internal'.
35898         (set_default_internal): New function, like `Fset_default' but also takes
35899         additional bindflag parameter.
35900         (set_internal): Only call `notify_variable_watchers' if bindflag is not
35901         SET_INTERNAL_THREAD_SWITCH.
35902         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
35903         passed on to set_internal and set_default_internal.  Adjust callers.
35904         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
35905         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
35906         temporarily adjusting symbol's trapped_write field.
35908 2016-12-13  Glenn Morris  <rgm@gnu.org>
35910         Minor fix for define-derived-mode
35912         * lisp/emacs-lisp/derived.el (define-derived-mode):
35913         Do not let eg eval-defun reset the values of syntax or abbrev tables,
35914         since they might have been defined externally.  (Bug#16160)
35916 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35918         * build-aux/git-hooks/pre-commit: Add whitespace comment.
35920 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
35922         Move backtrace to ELisp using a new mapbacktrace primitive
35924         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
35925         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
35926         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
35928         * lisp/subr.el (backtrace--print-frame): New function.
35929         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
35930         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
35932         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
35933         `mapbacktrace' instead of searching for "(debug" in the output of
35934         `backtrace'.
35936         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
35937         (subr-test-backtrace-integration-test): New tests.
35939         * doc/lispref/debugging.texi (Internals of Debugger): Document
35940         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
35942 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35944         Use C99 syntax for font drivers
35946         Problem reported by Daniel Colascione in:
35947         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
35948         * src/ftcrfont.c (ftcrfont_driver):
35949         * src/ftfont.c (ftfont_driver):
35950         * src/ftxfont.c (ftxfont_driver):
35951         * src/macfont.m (macfont_driver):
35952         * src/nsfont.m (nsfont_driver):
35953         * src/xfont.c (xfont_driver):
35954         * src/xftfont.c (xftfont_driver):
35955         Use C99 syntax, not the old GNU C syntax.
35957 2016-12-12  Glenn Morris  <rgm@gnu.org>
35959         Obsolete gs.el
35961         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
35962         * doc/lispref/display.texi (Image Formats): Remove postscript.
35963         (PostScript Images): Remove section.
35964         * doc/lispref/elisp.texi: Update menu.
35966 2016-12-12  Glenn Morris  <rgm@gnu.org>
35968         Un-revert recent Ffset change
35970         * src/data.c (Ffset): Reinstate the check for "nil".
35972 2016-12-12  Glenn Morris  <rgm@gnu.org>
35974         Minor advice.el fix
35976         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
35977         Avoid setting the function definition of nil.
35978         This was happening during bootstrap of org-compat.el,
35979         apparently due to eager macro expansion of code behind
35980         a (featurep 'xemacs) test.
35982 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35984         Make etags-tests work in out-of-tree builds
35986         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
35987         (etags-bug-23164): Make them work in an out-of-tree build.
35988         Reported by Ken Brown <kbrown@cornell.edu>.
35990 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35992         Avoid crashing if a new thread is signaled right away
35994         * src/thread.c (post_acquire_global_lock): Don't raise the pending
35995         signal if the thread's handlers were not yet set up, as that will
35996         cause Emacs to exit with a fatal error.  This can happen if a
35997         thread is signaled as soon as make-thread returns, before the new
35998         thread had an opportunity to acquire the global lock, set up the
35999         handlers, and call the thread function.
36001         * test/src/thread-tests.el (thread-signal-early): New test.
36003 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
36005         Fix point motion in cloned buffers
36007         * src/thread.c (post_acquire_global_lock): Call
36008         set_buffer_internal_2 instead of tricking set_buffer_internal_1
36009         into resetting the current buffer even if it didn't change.  This
36010         avoids bug#25165, caused by failing to record the modified values
36011         of point and mark, because current_buffer was set to NULL.  Also,
36012         don't bother re-setting the buffer if there was no thread switch,
36013         as that just wastes cycles.
36014         * src/buffer.c (set_buffer_internal_2): New function, with most of
36015         the body of set_buffer_internal_1, but without the test for B
36016         being identical to the current buffer.
36017         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
36018         identical to the current buffer.
36019         * src/buffer.h (set_buffer_internal_2): Add prototype.
36021         * test/src/thread-tests.el (thread-sticky-point): New test.
36023 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
36025         Further improvements in Tramp's file name unquoting
36027         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
36028         (tramp-adb-handle-write-region): Unquote localname.
36029         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
36030         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
36032         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
36033         (tramp-handle-file-name-case-insensitive-p):
36034         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
36035         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
36036         (tramp-gvfs-maybe-open-connection):
36037         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
36038         * lisp/net/tramp-smb.el (tramp-smb-get-share)
36039         (tramp-smb-get-localname): Use it.
36041         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
36042         (tramp--test-special-characters, tramp-test34-utf8)
36043         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
36044         (tramp-test34-utf8-with-ls): Use it.
36046 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
36048         Strengthen conditions for resizing sibling windows (Bug#25169)
36050         * lisp/window.el (window-resize, delete-window): Resize other siblings
36051         only if `window-combination-resize' equals t (Bug#25169).
36053 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
36055         Quote filenames containing '~' in prompts
36057         When in a directory named '~', the default value given by
36058         `read-file-name' should be quoted by prepending '/:', in order to
36059         prevent it from being interpreted as referring to the $HOME
36060         directory (Bug#16984).
36062         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
36063         (completion--sifn-requote, read-file-name-default): Use it instead of
36064         `minibuffer--double-dollars'.
36065         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
36067 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
36069         Undo part of last change
36071         * src/thread.h:
36072         * src/keyboard.c:
36073         * src/keyboard.h: Undo part of last change:
36074         input_available_clear_time is again a global variable.
36076 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
36078         Avoid aborts when a thread signals an error
36080         * src/thread.h (struct thread_state): Add members
36081         m_waiting_for_input and m_input_available_clear_time.
36082         (waiting_for_input, input_available_clear_time): New macros.
36083         * src/keyboard.c (waiting_for_input, input_available_clear_time):
36084         Remove; they are now macros that reference the current thread.
36085         (Bug#25171)
36086         * src/w32select.c: Don't include keyboard.h.
36088         * test/src/thread-tests.el (thread-errors): New test.
36090 2016-12-11  Philipp Stephani  <phst@google.com>
36092         Clean up compile-tests.el
36094         Switch to lexical binding.  Make checkdoc happy.
36096         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
36097         (compile-test-error-regexps): Instead of checking a single Boolean
36098         value, use `should' for each attribute of the message to be compared.
36099         (compile-tests--test-regexps-data): Document sixth list element
36100         TYPE.
36102 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
36104         Fix Bug#25162
36106         * doc/emacs/files.texi (Reverting): Document
36107         auto-revert-remote-files and auto-revert-verbose.
36109         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
36110         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
36112 2016-12-11  Glenn Morris  <rgm@gnu.org>
36114         Fix a typo in define-abbrev-table
36116         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
36118 2016-12-11  Glenn Morris  <rgm@gnu.org>
36120         Improve previous cperl-mode change
36122         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
36123         Improve previous change.
36125 2016-12-11  Glenn Morris  <rgm@gnu.org>
36127         Mark default cperl abbrevs as system ones
36129         * lisp/progmodes/cperl-mode.el (cperl-mode):
36130         Mark our abbrevs as system ones.  (Bug#10934)
36132 2016-12-11  Glenn Morris  <rgm@gnu.org>
36134         Revert earlier Ffset change
36136         * src/data.c (Ffset): Allow nil again, since it caused
36137         eager macro-expansion failures.
36139 2016-12-11  Glenn Morris  <rgm@gnu.org>
36141         Tweaks for message bogus address detection
36143         * lisp/gnus/message.el (message-bogus-recipient-p):
36144         Do not require "@", since some mailers deliver to local addresses
36145         without one.  (Bug#23054)
36146         Move "@.*@" from here...
36147         (message-bogus-addresses): ...to here, so it can be customized.
36149 2016-12-11  Glenn Morris  <rgm@gnu.org>
36151         Do not allow nil to be defined as a function
36153         * lisp/emacs-lisp/byte-run.el (defun):
36154         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
36156 2016-12-11  Glenn Morris  <rgm@gnu.org>
36158         Bump makeinfo requirement from 4.7 to 4.13
36160         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
36161         We need at least 4.8, and that may be buggy, so go for the last
36162         of the 4 series, which is 8 years old.  (Bug#25108)
36164 2016-12-11  Glenn Morris  <rgm@gnu.org>
36166         Fixes related to select-enable-clipboard
36168         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
36169         (clipboard-kill-region):
36170         * lisp/eshell/esh-io.el (eshell-virtual-targets)
36171         (eshell-clipboard-append):
36172         Replace option gui-select-enable-clipboard with
36173         select-enable-clipboard; renamed October 2014.  (Bug#25145)
36175 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
36177         Add some sanity checking of defun arglist
36179         * lisp/emacs-lisp/byte-run.el (defun):
36180         Check for malformed argument lists.  (Bug#15715)
36182 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
36184         Minor shell-mode fix for zsh
36186         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
36187         becoming confused by zsh abbreviations.  (Bug#24632)
36189 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
36191         Define struct predicate before acccesors
36193         The accessor functions use the predicate function, which causes problems
36194         when reloading after unload-feature: the compiler-macro property is
36195         still present on the predicate symbol, and the compiler fails to find
36196         the definition when trying to inline it into the accessor
36197         function (Bug#25088).
36199         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
36200         before field accessor definitions.
36202 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
36204         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
36205         system unit file.
36207 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
36209         Support concurrency in Emacs Lisp
36211         Merge branch 'test-concurrency'
36213         * src/thread.c:
36214         * src/thread.h:
36215         * src/systhread.c:
36216         * src/systhread.h: New files.
36217         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
36218         xnmalloc unconditionally.
36219         * src/window.c (struct save_window_data): Rename current_buffer to
36220         f_current_buffer.
36221         * src/w32proc.c (sys_select): Change the function signature to
36222         closer fit 'pselect' on Posix hosts.
36223         * src/search.c:
36224         * src/regex.h: Convert some globals to macros that reference
36225         thread-specific values.
36226         * src/process.c (pset_thread, add_non_keyboard_read_fd)
36227         (add_process_read_fd, add_non_blocking_write_fd)
36228         (recompute_input_desc, compute_input_wait_mask)
36229         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
36230         (compute_write_mask, clear_waiting_thread_info)
36231         (update_processes_for_thread_death, Fset_process_thread)
36232         (Fprocess_thread): New functions.
36233         (enum fd_bits): New enumeration.
36234         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
36235         'condition' to 'flags'.
36236         (set_process_filter_masks, create_process, create_pty)
36237         (Fmake_serial_process, finish_after_tls_connection)
36238         (connect_network_socket, deactivate_process)
36239         (server_accept_connection, wait_reading_process_output)
36240         (Fcontinue_process, Fstop_process, keyboard_bit_set)
36241         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
36242         (delete_keyboard_wait_descriptor): Use the new functions instead
36243         of manipulating fd flags and masks directly.
36244         (syms_of_process): Defsubr the new primitives.
36245         * src/print.c (print_object): Print threads, mutexes, and
36246         conditional variables.
36247         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
36248         and PVEC_CONDVAR.
36249         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
36250         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
36251         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
36252         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
36253         f_lisp_eval_depth.
36254         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
36255         (rebind_for_thread_switch, do_one_unbind)
36256         (unbind_for_thread_switch): New functions.
36257         (init_eval): 'handlerlist' is not malloc'ed.
36258         (specbind): Call do_specbind.
36259         (unbind_to): Call do_one_unbind.
36260         (mark_specpdl): Accept 2 arguments.
36261         (mark_specpdl): Mark the saved value in a let-binding.
36262         * src/emacs.c (main): Call init_threads_once, init_threads, and
36263         syms_of_threads.
36264         * src/data.c (Ftype_of): Support thread, mutex, and condvar
36265         objects.
36266         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
36267         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
36268         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
36269         (BYTE_CODE_QUIT): Add back.
36270         (exec_byte_code): Add back byte stack manipulation.
36271         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
36272         conditional variables.
36273         (mark_stack): Now extern; accept additional argument 'bottom'.
36274         (flush_stack_call_func): New function.
36275         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
36276         mark handlers.
36277         * src/.gdbinit (xbytecode): Add back.
36279         * test/src/thread-tests.el: New tests.
36280         * test/src/data-tests.el (binding-test-manual)
36281         (binding-test-setq-default, binding-test-makunbound)
36282         (binding-test-defvar-bool, binding-test-defvar-int)
36283         (binding-test-set-constant-t, binding-test-set-constant-nil)
36284         (binding-test-set-constant-keyword)
36285         (binding-test-set-constant-nil): New tests.
36287         * doc/lispref/processes.texi (Processes and Threads): New
36288         subsection.
36289         * doc/lispref/threads.texi: New file
36290         * doc/lispref/elisp.texi (Top): Include it.
36291         * doc/lispref/objects.texi (Thread Type, Mutex Type)
36292         (Condition Variable Type): New subsections.
36293         (Type Predicates): Add thread-related predicates.
36294         * doc/lispref/objects.texi (Editing Types):
36295         * doc/lispref/elisp.texi (Top): Update higher-level menus.
36297         * etc/NEWS: Mention concurrency features.
36299 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
36301         Fix error messages in thread.c
36303         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
36304         (Fcondition_notify, Fthread_join): Fix error messages.
36306 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
36308         Improve doc strings in thread.c
36310         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
36311         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
36312         (Fthread_join, Fall_threads): Doc fixes.
36314 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
36316         Fix building with check-lisp-object-type
36318         * src/thread.c (mark_one_thread): Use NILP to compare with
36319         m_saved_last_thing_searched, which is a Lisp object.  Reported by
36320         Andreas Politz <politza@hochschule-trier.de>.
36322 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
36324         Documentation and commentary improvements
36326         * src/lisp.h:
36327         * src/regex.c:
36328         * src/xgselect.c (xg_select): Improve commentary and formatting.
36330         * doc/lispref/objects.texi (Thread Type, Mutex Type)
36331         (Condition Variable Type): New subsections.
36332         (Type Predicates): Add thread-related predicates.
36333         * doc/lispref/objects.texi (Editing Types):
36334         * doc/lispref/elisp.texi (Top): Update higher-level menus.
36336 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
36338         Fix further problems with quoted file names in Tramp
36340         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
36341         (tramp-unquote-name): Move defsubst ...
36342         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
36343         (tramp-compat-file-name-quote)
36344         (tramp-compat-file-name-unquote): ... here. Adapt callees.
36346         * lisp/net/tramp-cache.el (tramp-flush-file-property)
36347         (tramp-flush-directory-property):
36348         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
36349         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
36350         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
36351         (tramp-smb-handle-substitute-in-file-name)
36352         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
36354 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
36356         *src/sysdep.c: Fix a comment.
36358 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
36360         Fix compilation error on Fedora 24
36362         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
36363         Reported by Paul Eggert <eggert@cs.ucla.edu>.
36365 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
36367         Fix compilation warnings due to prototype of thread_select
36369         * src/thread.h <int select_func>: Make the 5th and 6th arguments
36370         be 'const'.
36371         * src/process.c [WINDOWSNT]:
36372         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
36373         'const'.
36375 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
36377         Fix compilation on Debian GNU/Linux
36379         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
36380         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
36382 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
36384         Fix subtle errors with let-binding of localized variables
36386         * src/eval.c (do_specbind): Don't require a "symbol" that is
36387         actually a cons cell, in order to call set-default, as there are
36388         no longer such bindings.  This makes do_specbind work like the
36389         pre-concurrency implementation in specbind for bindings of
36390         forwarded symbols.  Use specpdl_kind to access the type of the
36391         binding.
36392         (specpdl_kind): New function.
36394 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
36396         Document file-name-quote, file-name-unquote and file-name-quoted-p
36398         * doc/lispref/files.texi (File Name Expansion):
36399         * etc/NEWS: Mention file-name-quote, file-name-unquote and
36400         file-name-quoted-p.
36402         * lisp/files.el (file-name-non-special): Revert using
36403         file-name-quote, file-name-unquote and file-name-quoted-p.
36405 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
36407         Fix bad quoting of python-shell-interpreter
36409         `python-shell-calculate-command' was using `shell-quote-argument' as if
36410         it was generating a shell command, but its callers don't pass the result
36411         to a shell, and they expect to parse it with `split-string-and-unquote'.
36412         This caused problems depending on the flavor of shell quoting in
36413         effect (Bug#25025).
36415         * lisp/progmodes/python.el (python-shell-calculate-command): Use
36416         `combine-and-quote-strings' to quote the interpreter, so that it can be
36417         parsed by `python-shell-make-comint' successfully using
36418         `split-string-and-unquote'.
36420 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
36422         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
36424 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
36426         Make read1 more reentrant
36428         This is needed if ‘read’ is called soon after startup, before the
36429         Unicode tables have been set up, and it reads a \N escape and
36430         needs to look up a value the Unicode tables, a lookup that in turn
36431         calls read1 recursively.  Although this change doesn’t make ‘read’
36432         fully reentrant, it’s good enough to handle this case.
36433         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
36434         (grow_read_buffer): Revamp to use locals, not statics, and to
36435         record memory allocation un the specpdl.  All callers changed.
36436         (read1): Start with a stack-based buffer, and use the heap
36437         only if the stack buffer is too small.  Use unbind_to to
36438         free any heap buffer allocated.  Use bool for boolean.
36439         Redo symbol loop so that only one call to grow_read_buffer
36440         is needed.
36441         (init_obarray): Remove no-longer-needed initialization.
36443 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
36445         Fix compilation warnings
36447         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
36448         compilation warning.
36450 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
36452         Fix unlikely substitute-command-keys memory leak
36454         * src/doc.c (Fsubstitute_command_keys):
36455         Free buffer when unwinding.
36457 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
36459         Add file-name-quoted-p, file-name-quote, file-name-unquote
36461         * lisp/files.el (file-name-quoted-p, file-name-quote)
36462         (file-name-unquote): New defsubst.
36463         (find-file--read-only, find-file-noselect)
36464         (file-name-non-special): Use them.
36466 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
36468         Add a NEWS entry.
36470 2016-12-08  Glenn Morris  <rgm@gnu.org>
36472         Minor fix for symbol-file
36474         * lisp/subr.el (symbol-file): Avoid false matches with "require"
36475         elements in load-history.  (Bug#25109)
36477 2016-12-08  Glenn Morris  <rgm@gnu.org>
36479         Doc fix for vc-git
36481         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
36483 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
36485         Fix Bug#24962
36487         * lisp/buff-menu.el (list-buffers--refresh):
36488         List buffers with name starting with " " if they visit a file.
36489         * test/lisp/buff-menu-tests.el (buff-menu-24962):
36490         Update test result as pass.
36492 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
36494         ediff-fixup-patch-map: Improve prompt
36496         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
36497         Make clear in the prompt when we are applying a multi patch.
36499 2016-12-08  Glenn Morris  <rgm@gnu.org>
36501         Retain message logging in map-y-or-n-p
36503         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
36504         Stop disabling logging to Messages buffer.  (Bug#13326)
36506 2016-12-08  Glenn Morris  <rgm@gnu.org>
36508         Doc fix for recent change
36510         * lisp/simple.el (region-modifiable-p): Doc fix.
36512 2016-12-08  Glenn Morris  <rgm@gnu.org>
36514         Quieten make-dist default operation
36516         * make-dist: Add --verbose option.  Default to quieter operation.
36518 2016-12-08  Glenn Morris  <rgm@gnu.org>
36520         Further improve make-dist checking
36522         * make-dist: Print status messages when checking.
36524 2016-12-08  Glenn Morris  <rgm@gnu.org>
36526         Improve previous make-dist change
36528         * make-dist: Let make check the info files more thoroughly.
36530 2016-12-08  Glenn Morris  <rgm@gnu.org>
36532         Make make-dist --snapshot do some sanity checks
36534         * make-dist: Snapshot mode no longer disables checks.
36535         Checks now includes checks for freshness.  (Bug#25084)
36536         Checks now exits with an error if problems were found.
36538 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36540         Fix regression introduced by commit 7b1e97f
36542         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
36543         of cadr; required after commit 20f5a5b.
36545 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36547         Put post-25 ChangeLog entries into ChangeLog.3
36549         * ChangeLog.2: Copy from emacs-25 branch.
36550         * ChangeLog.3: New file, with changes only in master.
36551         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
36553 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36555         Fix network streams.
36557         The original code messed up flags in fd_callback_data[], and also
36558         didn't call add_process_read_fd for process-related file descriptors.
36560 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36562         Minimize spurious diffs from master.
36564 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36566         Fix the test suite
36568         * test/automated/bindings.el: Contents moved to
36569         test/src/data-tests.el.
36570         * test/automated/threads.el: Moved to test/src/thread-tests.el.
36572 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36574         Fix a typo in bytecode.c.
36576 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
36578         Fix compilation problems.
36580         Fix merged code in process.c and eval.c.
36582 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
36584         Merge branch 'concurrency'
36586         Conflicts (resolved):
36587                 configure.ac
36588                 src/Makefile.in
36589                 src/alloc.c
36590                 src/bytecode.c
36591                 src/emacs.c
36592                 src/eval.c
36593                 src/lisp.h
36594                 src/process.c
36595                 src/regex.c
36596                 src/regex.h
36598 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
36600         Fix the MS-Windows build
36602         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
36604         * src/sysselect.h: Don't define fd_set and FD_* macros for
36605         MS-Windows here.
36606         * src/w32.h: Define them here.
36608         * src/process.h (sys_select): Declare prototype.
36610         * src/sysdep.c:
36611         * src/process.c:
36612         * src/filelock.c:
36613         * src/emacs.c:
36614         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
36615         * nt/inc/socket.h: Include w32.h instead of sysselect.h
36617 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
36619         merge from trunk
36621 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
36623         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
36624         specpdl stack.
36626 2013-10-18  Tom Tromey  <tromey@redhat.com>
36628         change condition-variablep to condition-variable-p
36630 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
36632         Fix crashes when unbind_for_thread_switch signals an error.
36634          src/eval.c (unbind_for_thread_switch): Accept a 'struct
36635          thread_state *' argument and use specpdl_ptr and specpdl of that
36636          thread.  Fixes crashes if find_symbol_value signals an error.
36637          src/thread.c (post_acquire_global_lock): Update current_thread
36638          before calling unbind_for_thread_switch.  Pass the previous thread
36639          to unbind_for_thread_switch.
36641 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
36643         Improve MS-Windows implementation of threads.
36645          src/systhread.c (sys_cond_init): Set the 'initialized' member to
36646          true only if initialization is successful.  Initialize wait_count
36647          and wait_count_lock.
36648          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
36649          'initialized' is false, do nothing.
36650          (sys_cond_wait): Fix the implementation to avoid the "missed
36651          wakeup" bug: count the waiting threads, and reset the broadcast
36652          event once the last thread was released.
36653          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
36654          PulseEvent.  Don't signal the event if no threads are waiting.
36655          (sys_cond_destroy): Only close non-NULL handles.
36656          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
36657          src/systhread.h (w32thread_cond_t): New member 'initialized'.
36658          Rename waiters_count and waiters_count_lock to wait_count and
36659          wait_count_lock, respectively.
36661 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
36663         Enable thread support in the MS-Windows build.
36665          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
36666          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
36667          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
36668          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
36669          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
36670          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
36671          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
36673          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
36674          if pthreads is not available.
36676 2013-08-27  Tom Tromey  <tromey@redhat.com>
36678         use condition-notify in the docs, not condition-signal
36680         zap until-condition docs
36682         zap until-condition
36684         rename thread-blocker to thread--blocker
36686         remove binding_symbol
36688         fix style of threadp, mutexp, and condition-variable-p
36690         make thread_check_current_buffer return bool
36692         add a comment before flush_stack_call_func
36694         fix whitespace_regexp warning
36696 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
36698         Fix MS-Windows build.
36700          src/callproc.c:
36701          src/emacs.c:
36702          src/filelock.c:
36703          src/process.c:
36704          src/sysdep.c:
36705          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
36706          redefinition of fd_set etc.
36707          src/process.c: Don't use num_pending_connects when
36708          NON_BLOCKING_CONNECT is not defined.
36709          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
36710          here from w32.h.
36711          src/w32proc.c (sys_select): Adjust the argument types to what
36712          thread.h expects.
36714          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
36715          of w32.h.
36717 2013-08-26  Tom Tromey  <tromey@redhat.com>
36719         use record_unwind_protect_void, avoid warning
36721         implement --enable-threads and a thread-less mode
36723 2013-08-25  Tom Tromey  <tromey@redhat.com>
36725         merge from trunk
36727 2013-08-20  Tom Tromey  <tromey@redhat.com>
36729         fix up some merge errors in process.c
36731         remove a dead function
36732         clean up a fixme I added in create_pty during the merge
36734 2013-08-20  Tom Tromey  <tromey@redhat.com>
36736         merge from trunk
36738 2013-07-26  Tom Tromey  <tromey@redhat.com>
36740         merge from trunk
36742 2013-07-13  Tom Tromey  <tromey@redhat.com>
36744         Merge from trunk
36746 2013-07-12  Tom Tromey  <tromey@redhat.com>
36748         Use thread_alive_p in a couple more spots
36750 2013-07-07  Tom Tromey  <tromey@redhat.com>
36752         fix xfree bug in run_thread
36754         this fixes run_thread to account for the dummy slot
36755         in specpdl
36757 2013-07-07  Tom Tromey  <tromey@redhat.com>
36759         merge from trunk
36761         this merges frmo trunk and fixes various build issues.
36762         this needed a few ugly tweaks.
36763         this hangs in "make check" now
36765 2013-07-06  Tom Tromey  <tromey@redhat.com>
36767         add assertion to flush_stack_call_func
36769         functions called via flush_stack_call_func are assumed
36770         to return with the global lock held again, and with
36771         current_thread reset.  this assertion verifies part of this
36773 2013-07-06  Tom Tromey  <tromey@redhat.com>
36775         call init_primary_thread from init_threads
36777 2013-07-05  Tom Tromey  <tromey@redhat.com>
36779         avoid SAFE_ALLOCA
36781         avoid SAFE_ALLOCA in xgselect.c.
36782         in this code it is just as easy to always use malloc;
36783         and it avoids thread-switching problems, as the safe-alloca
36784         stuff implicitly refers to the current thread
36786 2013-07-05  Tom Tromey  <tromey@redhat.com>
36788         avoid current_thread sometimes
36790         this tweaks thread.c to use 'self' instead of current_thread
36791         in a couple spots.  this is clearer and more robust
36793 2013-07-05  Tom Tromey  <tromey@redhat.com>
36795         initialize saved_value
36797         initialize the saved_value field in all needed cases
36798         also, add an assertion to do_one_unbind
36800 2013-07-04  Tom Tromey  <tromey@redhat.com>
36802         fix buglet in test case
36804 2013-07-04  Tom Tromey  <tromey@redhat.com>
36806         unlink thread later
36808         unlink thread from global list later
36809         also remove some unnecessary destruction code
36811 2013-07-04  Tom Tromey  <tromey@redhat.com>
36813         introduce thread_alive_p macro
36815         This introduces the thread_alive_p macro and changes
36816         thread-alive-p to use it.  This is a minor cleanup.
36817         It also changes all-threads to ignore dead threads.
36819 2013-07-03  Tom Tromey  <tromey@redhat.com>
36821         Don't call unbind_for_thread_switch in run_thread
36823         This removes the call to unbind_for_thread_switch from run_thread.
36824         This isn't necessary because acquire_global_lock does it properly.
36826 2013-07-03  Tom Tromey  <tromey@redhat.com>
36828         remove unused field from struct thread_state
36830         Fix a comment.
36832 2013-06-13  Tom Tromey  <tromey@redhat.com>
36834         merge from trunk
36836 2013-06-06  Tom Tromey  <tromey@redhat.com>
36838         fix a few latent issues in the thread patch
36840         * we called unbind_for_thread_switch unconditionally, but this
36841           is wrong if the previous thread exited
36842         * likewise, exiting a thread should clear current_thread
36843         * redundant assignment in run_thread
36844         * clean up init_threads - no need to re-init the primary thread
36846         This patch still sometimes causes weird hangs in "make check".
36847         However, I think that is a kernel bug, since Emacs enters the zombie
36848         state but its parent process hangs in wait.  This shouldn't happen.
36850 2013-06-04  Tom Tromey  <tromey@redhat.com>
36852         update eval.c to make it build again after the merge
36854 2013-06-03  Tom Tromey  <tromey@redhat.com>
36856         merge from trunk; clean up some issues
36858 2013-03-18  Tom Tromey  <tromey@redhat.com>
36860         don't let kill-buffer kill a buffer if it is current in any thread
36862 2013-03-18  Tom Tromey  <tromey@redhat.com>
36864         fix process bugs
36866         Fix some process-related bugs, mostly thinkos from the conversion to
36867         recording fd state as flags.
36868         This now passes the test suite without hanging.
36870 2013-03-17  Tom Tromey  <tromey@redhat.com>
36872         merge from trunk
36874 2013-03-08  Tom Tromey  <tromey@redhat.com>
36876         merge from trunk
36878 2013-01-16  Tom Tromey  <tromey@redhat.com>
36880         merge from trunk
36882 2013-01-06  Tom Tromey  <tromey@redhat.com>
36884         merge from trunk
36886 2012-12-23  Tom Tromey  <tromey@redhat.com>
36888         mention let bindings and lack of other ways to rewind
36890 2012-12-17  Tom Tromey  <tromey@redhat.com>
36892         Remove bit accidentally left over from the merge
36894         merge from trunk
36896 2012-09-04  Tom Tromey  <tromey@redhat.com>
36898         merge from trunk
36900         link from thread docs to match data
36902 2012-08-27  Tom Tromey  <tromey@redhat.com>
36904         cannot thread-join the current thread
36906         fix test suite for condition-variable-p name change
36908         add tests for variable bindings
36910 2012-08-25  Tom Tromey  <tromey@redhat.com>
36912         minor update to thread-join docs
36914 2012-08-24  Tom Tromey  <tromey@redhat.com>
36916         minor documentation updates
36918 2012-08-23  Tom Tromey  <tromey@redhat.com>
36920         document until-condition
36922         first draft of threads documentation
36924         rename condition-variablep to condition-variable-p
36926         document process-thread and set-process-thread
36928 2012-08-20  Tom Tromey  <tromey@redhat.com>
36930         pass the thread name to the OS if possible
36932         use prctl to pass the thread name to the OS, if possible
36934 2012-08-20  Tom Tromey  <tromey@redhat.com>
36936         add convenience macros with-mutex and until-condition
36938         with-mutex is a safe way to run some code with a mutex held.
36939         until-condition is a safe way to wait on a condition variable.
36941 2012-08-20  Tom Tromey  <tromey@redhat.com>
36943         Merge from trunk
36945 2012-08-19  Tom Tromey  <tromey@redhat.com>
36947         another docstring fixlet
36949         minor docstring fixup
36951         add condition-mutex and condition-name
36953         ensure name of a thread is a string
36955         ensure name of a mutex is a string
36957         use NILP
36959 2012-08-19  Tom Tromey  <tromey@redhat.com>
36961         condition variables
36963         This implements condition variables for elisp.
36964         This needs more tests.
36966 2012-08-19  Tom Tromey  <tromey@redhat.com>
36968         comment fixes
36970 2012-08-19  Tom Tromey  <tromey@redhat.com>
36972         refactor systhread.h
36974         This refactors systhread.h to move the notion of a "lisp mutex"
36975         into thread.c.  This lets us make make the global lock and
36976         post_acquire_global_lock static.
36978 2012-08-17  Tom Tromey  <tromey@redhat.com>
36980         write docstrings for the thread functions
36982         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
36984 2012-08-15  Tom Tromey  <tromey@redhat.com>
36986         add test case for I/O switching
36988 2012-08-15  Tom Tromey  <tromey@redhat.com>
36990         process changes
36992         This changes wait_reading_process_output to handle threads better.  It
36993         introduces a wrapper for select that releases the global lock, and it
36994         ensures that only a single thread can select a given file descriptor
36995         at a time.
36997         This also adds the thread-locking feature to processes.  By default a
36998         process can only have its output accepted by the thread that created
36999         it.  This can be changed using set-process-thread.  (If the thread
37000         exits, the process is again available for waiting by any thread.)
37002         Note that thread-signal will not currently interrupt a thread blocked
37003         on select.  I'll fix this later.
37005 2012-08-15  Tom Tromey  <tromey@redhat.com>
37007         Prepare process.c for threads by not having global select masks.
37008         The next step is to make it so selects can choose fds by thread.
37010 2012-08-15  Tom Tromey  <tromey@redhat.com>
37012         fix a latent bug in process.c
37014         * src/process.c (wait_reading_process_output): Check Writeok bits,
37015         not write_mask.
37017 2012-08-15  Tom Tromey  <tromey@redhat.com>
37019         This adds thread-blocker, a function to examine what a thread is
37020         blocked on.  I thought this would be another nice debugging addition.
37022         This adds names to mutexes.  This seemed like a nice debugging
37023         extension.
37025         This adds some tests of the threading code.
37027 2012-08-15  Tom Tromey  <tromey@redhat.com>
37029         This supplies the mutex implementation for Emacs Lisp.
37031         A lisp mutex is implemented using a condition variable, so that we can
37032         interrupt a mutex-lock operation by calling thread-signal on the
37033         blocking thread.  I did things this way because pthread_mutex_lock
37034         can't readily be interrupted.
37036 2012-08-15  Tom Tromey  <tromey@redhat.com>
37038         This adds most of the thread features visible to emacs lisp.
37040         I roughly followed the Bordeaux threads API:
37042         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
37044         ... but not identically.  In particular I chose not to implement
37045         interrupt-thread or destroy-thread, but instead a thread-signaling
37046         approach.
37048         I'm still undecided about *default-special-bindings* (which I did not
37049         implement).  I think it would be more emacs-like to capture the let
37050         bindings at make-thread time, but IIRC Stefan didn't like this idea
37051         the first time around.
37053         There are one or two semantics issues pointed out in the patch where I
37054         could use some advice.
37056 2012-08-15  Tom Tromey  <tromey@redhat.com>
37058         This turns thread_state into a pseudovector and updates various bits
37059         of Emacs to cope.
37061 2012-08-15  Tom Tromey  <tromey@redhat.com>
37063         This introduces some new functions to handle the specpdl.  The basic
37064         idea is that when a thread loses the interpreter lock, it will unbind
37065         the bindings it has put in place.  Then when a thread acquires the
37066         lock, it will restore its bindings.
37068         This code reuses an existing empty slot in struct specbinding to store
37069         the current value when the thread is "swapped out".
37071         This approach performs worse than my previously planned approach.
37072         However, it was one I could implement with minimal time and
37073         brainpower.  I hope that perhaps someone else could improve the code
37074         once it is in.
37076 2012-08-15  Tom Tromey  <tromey@redhat.com>
37078         This introduces the low-level system threading support.  It also adds
37079         the global lock.  The low-level support is a bit over-eager, in that
37080         even at the end of the present series, it will not all be used.  I
37081         think thiat is ok since I plan to use it all eventually -- in
37082         particular for the emacs lisp mutex implementation.
37084         I've only implemented the pthreads-based version.  I think it should
37085         be relatively clear how to port this to other systems, though.
37087         I'd also like to do a "no threads" port that will turn most things
37088         into no-ops, and have thread-creation fail.  I was thinking perhaps
37089         I'd make a future (provide 'threads) conditional on threads actually
37090         working.
37092         One other minor enhancement available here is to make it possible to
37093         set the name of the new thread at the OS layer.  That way gdb, e.g.,
37094         could display thread names.
37096 2012-08-15  Tom Tromey  <tromey@redhat.com>
37098         This parameterizes the GC a bit to make it thread-ready.
37100         The basic idea is that whenever a thread "exits lisp" -- that is,
37101         releases the global lock in favor of another thread -- it must save
37102         its stack boundaries in the thread object.  This way the boundaries
37103         are always available for marking.  This is the purpose of
37104         flush_stack_call_func.
37106         I haven't tested this under all the possible GC configurations.
37107         There is a new FIXME in a spot that i didn't convert.
37109         Arguably all_threads should go in the previous patch.
37111 2012-08-15  Tom Tromey  <tromey@redhat.com>
37113         This introduces a thread-state object and moves various C globals
37114         there.  It also introduces #defines for these globals to avoid a
37115         monster patch.
37117         The #defines mean that this patch also has to rename a few fields
37118         whose names clash with the defines.
37120         There is currently just a single "thread"; so this patch does not
37121         impact Emacs behavior in any significant way.
37123 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37125         Merge from origin/emacs-25
37127         eeecac7 Fix minor quoting problems in doc strings
37129 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37131         Merge from origin/emacs-25
37133         35ce3fb Don't assume window-point and point are the same
37135 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37137         Merge from origin/emacs-25
37139         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
37140         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
37141         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
37142         93d8346 Improve indexing of 'man'
37144 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37146         Merge from origin/emacs-25
37148         d31298d Fix documentation of `window-combination-resize'
37149         2086f4c Typo fixes in elisp manual
37151 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37153         Merge from origin/emacs-25
37155         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
37156         5878abf Fix 'expand-file-name' during startup on MS-Windows
37158 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37160         Merge from origin/emacs-25
37162         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
37163         6d27423 Tweak refcard note about documentation location
37164         e46a134 Improve treatment of Fortran's "class is"
37166 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37168         Merge from origin/emacs-25
37170         93c0f51 Handle TeX comments when making new paragraph
37171         e0884f1 Restore keystroke echo in 'C-q'
37172         a6213ce Improve documentation of 'current-word'
37173         0828126 Fix a typo in an Eshell defcustom
37174         2e361c7 Minor copyedits of electric-pair-mode
37175         7499ee8 ; Minor copyedit in the Emacs manual
37176         45b652b Fix documentation of 'invocation-directory'
37177         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
37178         ba48880 ; Fix pl-refcard.tex
37180 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37182         Merge from origin/emacs-25
37184         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
37186 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37188         Merge from origin/emacs-25
37190         3d63b48 Update ChangeLog files and authors.el
37191         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
37192         a725592 Avoid errors in shr-pixel-column due to dedicated windows
37193         3138598 Update format-time-string documentation
37195 2016-12-07  Sam Steingold  <sds@gnu.org>
37197         delete-trailing-whitespace: handle read-only text in buffer
37199         * lisp/simple.el (region-modifiable-p): New function.
37200         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
37202 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37204         Fix minor quoting problems in doc strings
37206 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37208         Fix --enable-gcc-warnings --with-ns on Fedora
37210         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
37211         (ALL_OBJC_CFLAGS): Use it.
37212         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
37213         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
37215 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
37217         Fix problems in quoting Tramp file names
37219         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
37220         (tramp-unquote-shell-quote-argument): New defun.
37221         (tramp-shell-quote-argument):
37222         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
37223         (tramp-make-copy-program-file-name):
37224         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
37225         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
37226         (tramp-smb-shell-quote-argument): Use it.
37228 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37230         ibuffer-map-deletion-lines: Re-included it
37232         It was deleted in previous commit, but it's referenced
37233         by the macro 'define-ibuffer-op'.
37234         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
37236 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37238         ibuffer-unmark-all: simplify code
37240         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
37241         (ibuffer-unmark-all): Simplify code.
37243 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37245         define-ibuffer-filter: Discard wrong filters
37247         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
37248         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
37249         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
37251 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
37253         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
37255         so that it matches the actual implementation.
37256         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
37258 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37260         ibuffer-decompose-filter-group avoid unwanted side effects
37262         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
37263         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
37264         All callers changed (Bug#25058).
37265         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
37267 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37269         ibuffer-unmark-backward: Unmark the region when is active
37271         * lisp/ibuffer.el (ibuffer-unmark-backward):
37272         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
37273         with the region boundary as the first 2 arguments (Bug#24987).
37275 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
37277         Docstring improvement for seq-some (bug#25129)
37279         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
37280           regarding the returned value.
37282 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37284         dired-unmark-backward: Unmark the region when is active
37286         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
37287         a non-nil second argument (Bug#24986).
37289 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37291         New test file for ediff
37293         Fix previous commit.
37294         * test/lisp/vc/ediff-ptch-tests.el: New test.
37296 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37298         ediff-context-diff-label-regexp: Detect the end of second file
37300         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
37301         '\n' in file names (Bug#25010).
37302         * test/lisp/vc/ediff-ptch-tests.el: New file.
37303         (ibuffer-test-bug25010): Add test for Bug#25010.
37305 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37307         ibuffer-decompose-filter: Avoid side effects on error
37309         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
37310         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
37311         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
37312         Update test result as pass.
37314 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37316         ibuffer: compare marks with EQ
37318         * lisp/ibuffer.el:
37319         (ibuffer-update-title-and-summary)
37320         (ibuffer-redisplay-current)
37321         (ibuffer-buffer-name-face, ibuffer-unmark-all)
37322         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
37323         Use 'eq' instead of 'char-equal' when comparing mark characters
37324         (Bug#25000).
37325         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
37326         Update test result as pass.
37328 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
37330         ibuffer-saved-filters: Remove extra nesting level
37332         Fix Bug#25049.
37333         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
37334         nesting level; add transparent setter to adjust old-format values;
37335         update doc string.
37336         (ibuffer-save-filters): Remove extra level of nesting
37337         in ibuffer-saved-filters values when saving new filters.
37338         (ibuffer-old-saved-filters-warning): New variable with
37339         clickable message with repair options to be displayed
37340         as a warning if 'ibuffer-repair-saved-filters' detects
37341         a format mismatch.
37342         (ibuffer-repair-saved-filters): Add new command to check and
37343         repair saved filters format.
37344         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
37345         Change access of saved filter data (cadr->cdr) to account
37346         for reduced nesting.
37347         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
37348         New test; check that filters are saved in the proper format.
37350 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
37352         Clean out some IRIX cruft
37354         * etc/MACHINES: Remove obsolete discussion of IRIX.
37355         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
37356         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
37357         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
37358         * src/unexelf.c [__sgi]: Don't include <syms.h>.
37359         (unexec) [__sgi]: Remove SGI-specific code.
37361 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
37363         Simplify FUNCTIONP implementation
37365         * src/bytecode.c (exec_byte_code):
37366         * src/image.c (parse_image_spec):
37367         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
37368         * src/eval.c (FUNCTIONP): Move here ...
37369         * src/lisp.h: ... from here.  No longer inline, as that
37370         bloats the text and does not help speed (at least on my platform).
37371         (functionp): Remove this name, since callers use FUNCTIONP.
37373 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
37375         Don't assume window-point and point are the same
37377         The function `cursor-sensor--detect' calls `bobp' to decide whether to
37378         check properties at (1- (window-point)).  However, (window-point) may be
37379         at beginning of buffer, even if (point) is not.  In this case an
37380         `args-out-of-range' error will be signaled (Bug#25104).
37382         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
37383         value of (window-point) against (point-min), rather than (bobp) to
37384         decide if (1- (window-point)) is accessible.
37386 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
37388         Give test-completion's PREDICATE the hashtable key
37390         For hashtable entries with symbol keys, `test-completion' would convert
37391         the key to a string before calling PREDICATE, unlike `try-completion'
37392         and `all-completions'.
37394         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
37396 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
37398         Give test-completion's PREDICATE full alist entry
37400         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
37401         calling test-completion with an alist collection, the predicate was
37402         recieving the string value instead of the alist entry (Bug#24966).
37404         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
37405         test STRING against `completion-regexp-list'.
37406         * test/src/minibuf-tests.el: New tests for `try-completion',
37407         `all-completions', and `test-completion'.
37409 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
37411         Fix ert-tests when running compiled
37413         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
37414         specific macroexpansion, just check result of evaluation.
37415         (ert-test-record-backtrace): Don't hardcode representation of closure in
37416         expected backtrace, this lets the test succeed even when the test code
37417         is compiled.
37419         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
37420         `byte-compile-macro-environment' to `macroexpand', this allows the
37421         `should' macro to properly handle macroexpansion of macros that were
37422         defined in the same file when it's being compiled (Bug #17851).
37424 2016-12-06  Glenn Morris  <rgm@gnu.org>
37426         Make "g" in vc push/pull buffers re-push/pull
37428         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
37429         * lisp/vc/vc-git.el (vc-git--pushpull):
37430         * lisp/vc/vc-hg.el (vc-hg--pushpull):
37431         Set compile-command so that "g" works.  (Bug#11446)
37433 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
37435         Change two _Noreturn functions to return void
37437         This is a bit clearer than _Noreturn functions that (do not)
37438         return a non-void type.
37439         * src/callproc.c (call_process) [MSDOS]:
37440         Use 'status' local to record status.
37441         (child_setup): Return CHILD_SETUP_TYPE.
37442         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
37443         All callers changed.
37444         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
37446 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37448         Fix GPG bug introduced by Oct file-missing change
37450         Problem with visiting nonexistent .gpg file
37451         reported by Herbert J Skuhra.
37452         * lisp/epa-file.el (epa-file--find-file-not-found-function):
37453         (epa-file-insert-file-contents, epa-file-write-region):
37454         Signal file-missing or file-error instead of epa-error.
37456 2016-12-05  Glenn Morris  <rgm@gnu.org>
37458         Tweak recent flymake change
37460         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
37461         Avoid double message when flymake-log-level >= 0.
37462         * doc/misc/flymake.texi (Customizable variables):
37463         No longer mention flymake-gui-warnings-enabled.
37465 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
37467         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
37469         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
37470         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
37471         `widget-backward' instead (bug#25091).
37473 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
37475         Remove compat code in Tramp
37477         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
37479         * lisp/net/tramp-compat.el (top): Require parse-time.
37481         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
37482         Use `parse-time-months'.
37484 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
37486         Don't try to split side windows in ibuffer (Bug#25115)
37488         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
37489         split a side window (Bug#25115).
37491 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
37493         * src/lisp.h: Update comment to kick -Og down the road.
37495 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
37497         More image-dired refactoring
37499         * lisp/image-dired.el: Remove TODO comment. This appears to have been
37500         implemented in 5d7433a "image-dired: Signal an error before calling a
37501         missing executable".
37502         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
37503         Add :version.
37504         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
37505         when. Remove superfluous call to image-dired-thumb-name. Move single nil
37506         binding and setq into dolist form.
37508 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
37510         Implement quoting the local part of a remote file name
37512         * doc/emacs/files.texi (Quoted File Names):
37513         * etc/NEWS: Mention quoting the local part of a remote file name.
37515         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
37516         `tramp-tramp-file-p'.
37517         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
37518         New defsubst.
37519         (tramp-handle-substitute-in-file-name)
37520         (tramp-handle-make-auto-save-file-name): Handle quoted files.
37521         (tramp-shell-quote-argument): Unquote argument.
37523         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
37524         Handle quoted files.
37526         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
37527         (tramp--test-make-temp-name): New argument QUOTED.
37528         (tramp-test01-file-name-syntax)
37529         (tramp-test02-file-name-dissect)
37530         (tramp-test04-substitute-in-file-name)
37531         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
37532         (tramp-test08-file-local-copy)
37533         (tramp-test09-insert-file-contents)
37534         (tramp-test10-write-region, tramp-test11-copy-file)
37535         (tramp-test12-rename-file, tramp-test13-make-directory)
37536         (tramp-test14-delete-directory, tramp-test15-copy-directory)
37537         (tramp-test16-directory-files)
37538         (tramp-test17-insert-directory)
37539         (tramp-test18-file-attributes)
37540         (tramp-test19-directory-files-and-attributes)
37541         (tramp-test20-file-modes, tramp-test21-file-links)
37542         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
37543         (tramp-test24-file-name-completion, tramp-test25-load)
37544         (tramp-test26-process-file, tramp-test27-start-file-process)
37545         (tramp-test28-shell-command, tramp-test30-vc-registered)
37546         (tramp-test31-make-auto-save-file-name)
37547         (tramp--test-check-files)
37548         (tramp-test35-asynchronous-requests): Test also quoted file names.
37549         (tramp--test-shell-command-to-string-asynchronously): Rename.
37550         (tramp-test29-environment-variables): Use it.
37552 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
37554         Fix typo in dired-omit-case-fold-p
37556         * lisp/dired-x.el (dired-omit-case-fold-p):
37557         Write 'file-name-case-insensitive-p' instead of
37558         'file-name-case-sensitive-p'.
37559         Add declaration of 'file-name-case-insensitive-p'.
37561 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
37563         Add HTML5 attributes for the input element
37565         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
37566         for the input element.
37568 2016-12-03  Glenn Morris  <rgm@gnu.org>
37570         Obsolete sc-load-hook in favor of eval-after-load
37572         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
37573         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
37574         No longer mention sc-load-hook.
37576 2016-12-03  Glenn Morris  <rgm@gnu.org>
37578         Obsolete calendar-load-hook in favor of eval-after-load
37580         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
37581         (calendar): Doc fix - no longer mention calendar-load-hook.
37582         * doc/emacs/cal-xtra.texi (Calendar Customizing):
37583         No longer mention calendar-load-hook.
37584         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
37585         Replace calendar-load-hook in example with with-eval-after-load.
37587 2016-12-03  Glenn Morris  <rgm@gnu.org>
37589         Fix markup in read-multiple-choice doc (Bug#25102)
37591         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
37593 2016-12-03  Glenn Morris  <rgm@gnu.org>
37595         Stop flymake using dialog boxes for errors (Bug#16622)
37597         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
37598         Mark as obsolete.
37599         (flymake-display-warning): Turn into an obsolete alias.
37600         (flymake-report-fatal-status): Just use message for a warning that
37601         was formerly displayed by default.
37603 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37605         Clean up keymap and menu code in image-dired
37607         A function to populate these maps is not necessary, just define the maps
37608         once and for all.
37609         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
37610         clearer and in the spirit of dired's.
37611         (image-dired-define-display-image-mode-keymap):
37612         (image-dired-define-thumbnail-mode-keymap): Remove.
37613         (image-dired-thumbnail-mode-map):
37614         (image-dired-thumbnail-mode-line-up-map):
37615         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
37616         menu code from the aforementioned removed functions.  Reorder so that
37617         the definitions are inherited properly.
37618         (image-dired-display-current-image-sized): Fix erroneous message.
37619         (image-dired-thumbnail-mode):
37620         (image-dired-display-image-mode): Remove defunct call.
37622 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
37624         Mention `file-name-case-insensitive-p' as magic file name
37626         * doc/lispref/files.texi (Magic File Names):
37627         Mention `file-name-case-insensitive-p'.
37629         * doc/lispref/variables.texi (Connection Local Variables):
37630         Fix typo.
37632 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37634         Clean up uses of cl-foo in image-dired
37636         Both instances here are just emulating cl-find-if.
37637         * lisp/image-dired.el: Use cl-lib at compile time.
37638         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
37639         Replace the cl-foo instances with equivalent cl-loops.
37641 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
37643         Avoid compilation warnings in nt/*.c files
37645         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
37646         (console_event_handler): Add prototypes.
37647         (canon_filename, skip_space, skip_nonspace, get_next_token)
37648         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
37649         (spawn, get_env_size): Now static.
37650         * nt/ddeclient.c (DdeCallback): Provide prototype.
37651         * nt/addpm.c (DdeCallback): Provide prototype.
37652         (add_registry): Now static.
37654 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37656         Display window before calculating width
37658         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
37659         before calling image-dired-line-up and friends, which in turn calculate
37660         the window width. Otherwise, the thumbnail layout will be wrong in
37661         a side-by-side split.
37663 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37665         Use pop-to-buffer-same-window
37667         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
37668         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
37669         use pop-to-buffer-same-window cf. Bug#22244.
37670         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
37672 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37674         Document watchpoints
37676         * doc/lispref/debugging.texi (Variable Debugging):
37677         * doc/lispref/variables.texi (Watching Variables): New section.
37678         * etc/NEWS: Add entry for watchpoints
37680 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37682         Add tests for watchpoints
37684         * test/src/data-tests.el (data-tests-variable-watchers):
37685         (data-tests-local-variable-watchers): New tests.
37687 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37689         Ensure redisplay using variable watcher
37691         This replaces looking up the variable name in redisplay--variables when
37692         setting it.
37694         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
37695         calls.
37696         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
37697         set the redisplay flag unconditionally.
37698         (Vredisplay__variables): Remove it.
37699         * src/data.c (set_internal): Remove maybe_set_redisplay call.
37701 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37703         Add function to trigger debugger on variable write
37705         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
37706         (debug--variable-list):
37707         (cancel-debug-on-variable-change): New functions.
37708         (debugger-setup-buffer): Add watchpoint clause.
37710 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37712         Show watchpoints when describing variables
37714         * src/data.c (Fget_variable_watchers): New function.
37715         * lisp/help-fns.el (describe-variable): Use it to detect watching
37716         functions.
37718 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37720         Add lisp watchpoints
37722         This allows calling a function whenever a symbol-value is changed.
37724         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
37725         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
37726         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
37727         (enum symbol_trapped_write): New enumeration.
37728         (struct Lisp_Symbol): Rename field constant to trapped_write.
37729         (make_symbol_constant): New function.
37731         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
37732         (set_symbol_trapped_write, restore_symbol_trapped_write):
37733         (harmonize_variable_watchers, notify_variable_watchers): New functions.
37735         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
37736         symbols.
37737         (set_internal): Change bool argument BIND to 3-value enum and call
37738         `notify_variable_watchers' for trapped symbols.
37740         * src/data.c (syms_of_data):
37741         * src/data.c (syms_of_data):
37742         * src/font.c (syms_of_font):
37743         * src/lread.c (intern_sym, init_obarray):
37744         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
37746         * src/alloc.c (init_symbol):
37747         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
37748         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
37749         (Fmake_variable_frame_local):
37750         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
37751         trapped_write instead of constant.
37752         (Ffuncall): Move subr calling code into separate function.
37753         (funcall_subr): New function.
37755 2016-12-02  Glenn Morris  <rgm@gnu.org>
37757         Starting doc of user options with "*" is long obsolete
37759         * lisp/battery.el (battery-upower-device): Doc fix.
37761 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37763         Fix bug#25087
37765         * etc/themes/manoj-dark-theme.el: Fix two typos.
37767         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
37769 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37771         Fix docstrings to have a complete sentence in first line
37773         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
37774         docstrings.
37776 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37778         Remove obsolete comments and commented code from dired-x.el
37780         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
37781         1997 answer about whether dired-mark-sexp is used.
37782         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
37783         commented out since before dired-x.el was added to RCS in 1994.
37785 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37787         Remove pre-customize dired-x.el documentation
37789         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
37790         use dired-x from .emacs.  It is now fully customizable.
37791         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
37792         how to set this custom variable in .emacs.  It should be customized.
37794 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37796         Allow files to be matched case-sensitively in dired-x
37798         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
37799         controls case folding for matching the regex (Bug#18716).
37800         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
37801         systems, `nil' otherwise.
37802         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
37803         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
37805 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37807         Add support for curly quotation marks to electric-pair-mode
37809         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
37810         entries for left/right single/double quotation marks, from
37811         electric-quote-chars. Note that this is safe for single quotation marks,
37812         unlike with the ASCII apostrophe, since, although the right quotation
37813         mark can be used as an apostrophe, it is the left quotation mark that is
37814         typed to get a pair (Bug#24901).
37816 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37818         Fix bug#25087
37820         * etc/themes/manoj-dark-theme.el: Fix two typos.
37822 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
37824         Handle quoted file names in Tramp
37826         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
37827         case the file name is quoted.  This is not trapped by the
37828         reassigned `tramp-file-name-regexp' anymore.
37830 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37832         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
37834 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37836         Support for rawrgb images using imagemagick
37838         * src/image.c (imagemagick_load_image): Set wand size before loading
37839         blob when ':width' and ':height' are provided.
37841         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
37843 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
37845         Fix 'sql-connect' on first invocation
37847         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
37848         param-var.  (Bug#19452)
37850 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37852         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
37854 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37856         Improve indexing of 'man'
37858         * doc/emacs/programs.texi (Man Page): Index 'man', not
37859         'manual-entry', as the latter is an alias for the former.
37860         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
37862 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37864         Port to Sun C 5.14
37866         Backport from master.  Sun C 5.14 supports C11 but not GCC
37867         extensions, and so refuses to compile Emacs without this patch.
37868         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
37869         size_t, as in general this macro is restricted to signed types.
37871 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37873         Fix type typo on Solaris
37875         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
37876         Fix type mismatch, caught by --enable-check-lisp-object-type.
37878 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37880         Merge from gnulib
37882         This incorporates:
37883         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
37884         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
37885         * build-aux/snippet/c++defs.h:
37886         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
37887         Copy from gnulib.
37889 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37891         Make struct font_drivers read-only
37893         This simplifies the code a bit, and makes the structs more
37894         shareable and less likely to become corrupt.
37895         * src/alloc.c (cleanup_vector):
37896         * src/font.c (valid_font_driver, font_prepare_cache)
37897         (font_finish_cache, font_get_cache, font_clear_cache)
37898         (register_font_driver, font_update_drivers):
37899         * src/font.h (struct font, struct font_driver_list)
37900         (valid_font_driver):
37901         struct font_drivers are now const.
37902         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
37903         Omit no-longer-necessary decls.
37904         * src/ftcrfont.c (syms_of_ftcrfont):
37905         * src/ftxfont.c (syms_of_ftxfont):
37906         * src/xftfont.c (syms_of_xftfont):
37907         Omit no-longer-necessary initialization code.
37908         * src/ftcrfont.c (ftcrfont_driver):
37909         * src/ftfont.c (ftfont_driver):
37910         * src/ftxfont.c (ftxfont_driver):
37911         * src/macfont.m (macfont_driver):
37912         * src/nsfont.m (nsfont_driver):
37913         * src/xfont.c (xfont_driver):
37914         * src/xftfont.c (xftfont_driver):
37915         Use C99-style initializer for ease of maintenance, and make it const.
37916         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
37917         Refer to functions like ftfont_text_extents directly.
37918         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
37919         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
37920         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
37921         (ftfont_variation_glyphs, ftfont_filter_properties)
37922         (ftfont_combining_capability):
37923         * src/xfont.c (xfont_get_cache):
37924         Now extern, so that other modules’ struct font_drivers can use
37925         them directly.
37926         * src/macfont.m (macfont_descriptor_entity):
37927         * src/nsfont.m (nsfont_open):
37928         Use constant directly; this is clearer.
37930 2016-12-01  Richard Stallman  <rms@gnu.org>
37932         Fix mail-combine-fields
37934         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
37935         avoid losing our place in the search loop.
37937         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
37939 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
37941         Forth related improvements for etags
37943         Generate correct tags names for things like "(foo)".
37944         Previously "(foo" created.
37946         Fix a bug where a tag for "-bar" was created when encountering things
37947         like "create-bar".
37949         Recognize more words from the Forth-2012 Standard.
37951         * lib-src/etags.c (Forth_words): Check for whitespace after defining
37952         words.  Create tag with make_tag instead of get_tag to avoid notiname
37953         which isn't appropriate for Forth.
37955         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
37956         * test/manual/etags/ETAGS.good_1:
37957         * test/manual/etags/ETAGS.good_2:
37958         * test/manual/etags/ETAGS.good_3:
37959         * test/manual/etags/ETAGS.good_4:
37960         * test/manual/etags/ETAGS.good_5:
37961         * test/manual/etags/ETAGS.good_6:
37962         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
37963         new test cases.
37965 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
37967         Fix bugs with buffer-local tags tables
37969         * lisp/progmodes/etags.el (visit-tags-table): After
37970         'visit-tags-table-buffer' returns, retrieve the value of
37971         'tags-file-name' from the buffer we started in.  Force
37972         recomputation of 'tags-completion-table' next time it is used,
37973         since the list of tags table has changed.
37974         (visit-tags-table-buffer): Accept an additional optional argument
37975         CBUF, the buffer in which to start processing, and switch to that
37976         buffer if CBUF is non-nil.  All callers changed to supply a
37977         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
37978         Doc fix.
37979         (tags-completion-table): Accept an optional argument, the buffer
37980         for which to build 'tags-completion-table', and build that
37981         buffer's completion table.
37982         (tags-lazy-completion-table): Pass the current buffer to
37983         'tags-completion-table'.
37984         (tags-file-name): Don't say in the doc string that setting this
37985         variable directly is enough; say that 'visit-tags-table' should be
37986         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
37988         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
37989         advice to set 'tags-file-name' directly.
37991         * test/lisp/progmodes/etags-tests.el: New tests.
37993 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
37995         Fix documentation of `window-combination-resize'
37997         * src/window.c (Vwindow_combination_resize): Fix doc-string.
37998         * doc/lispref/windows.texi (Recombining Windows): Fix
37999         documentation of `window-combination-resize'.
38001 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
38003         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
38005         All uses replaced by LISPSYM_INITIALLY.
38007 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
38009         Make Cairo safer for --enable-gcc-warnings
38011         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
38012         Avoid overflow warnings about ‘0xff << 24’.
38013         (xpm_load, gif_load): Avoid unnecessary casts.
38014         (gif_load): Fewer ifdefs.
38016 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
38018         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
38020         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
38021         !NILP.
38023 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
38025         Fix previous commit
38027         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
38028         of hunk before calling `diff-hunk-style'.
38030 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
38032         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
38034 2016-11-29  Glenn Morris  <rgm@gnu.org>
38036         Use archive-mode for .cbr files
38038         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
38040 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
38042         Pacify Sun C 5.14
38044         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
38045         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
38046         into this enum rather than into an anonymous enum.  This avoids
38047         diagnostics from Sun C 5.14 and is a bit clearer anyway.
38049 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
38051         Adjust lwlib to recent config.h change
38053         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
38055 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
38057         * src/eval.c (clobbered_eassert): Check E's syntax.
38059 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
38061         Improve user retrieval from auth-source in Tramp
38063         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
38064         Use user for auth-source request only in case it exists.
38066 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
38068         shr.el: Don't render a normal table twice
38070         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
38071         Don't render a table if it is called for the first time,
38072         IOW, recognize it to never be invalid (bug#25051).
38074 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
38076         Typo fixes in elisp manual
38078         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
38079         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
38080         definitions of 'string-prefix-p' and 'string-suffix-p'.
38081         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
38083 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
38085         Improve diff-mode navigation/manipulation
38087         This is Bug #17544.
38089         Navigation and use of diff buffers had several annoying corner cases
38090         that this patch fixes.  These corner cases were largely due to
38091         inconsistent treatment of file headers.  Say you have a diff such as
38092         this:
38094          --- aaa
38095          +++ bbb
38096          @@ -52,7 +52,7 @@
38097          hunk1
38098          @@ -74,7 +74,7 @@
38099          hunk2
38100          --- ccc
38101          +++ ddd
38102          @@ -608,6 +608,6 @@
38103          hunk3
38104          @@ -654,7 +654,7 @@
38105          hunk4
38107         The file headers here are the '---' and '+++' lines.  With the point on
38108         such a line, hunk operations would sometimes refer to the next hunk and
38109         sometimes to the previous hunk.  Most of the time it would be the
38110         previous hunk, which is not what the user would expect.  This patch
38111         consistently treats such headers as the next hunk.  So with this patch,
38112         if the point is on the '--- ccc' line, the point is seen as referring to
38113         hunk3.
38115         Specific behaviors this fixes are:
38117         1. It should be possible to place the point in the middle of a diff
38118         buffer, and press M-k repeatedly to kill hunks in the order they appear
38119         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
38120         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
38121         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
38122         This is fixed by this patch.
38124         2. Similarly, it should be possible to apply hunks in order.  Previously
38125         with the point at the start, C-c C-a would apply the hunk1, then move
38126         the point to the first @@ header, and thus C-c C-a would try to apply
38127         the same hunk again.
38129         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
38130         navigation logic to diff-{hunk,file}-{next,prev}.
38131         (diff-hunk-next, diff-hunk-prev):
38132         (diff-file-next, diff-file-prev): Better navigation logic if
38133         skip-hunk-start is true, which happens when called interactively.
38134         (diff-bounds-of-hunk, diff-find-source-location):
38135         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
38136         improve hunk navigation.
38138 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
38140         Upcase Path and ComSpec in process-environment
38142         Since 2016-07-18 "Keep w32 environment settings internal only", the
38143         upcasing of environment variables "Path" and "ComSpec" occurred after
38144         initializing process-environment.  This meant that Lisp code trying to
38145         override "PATH" environment had no effect (Bug #24956).
38147         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
38148         in Vprocess_environment.
38150 2016-11-28  Philipp Stephani  <phst@google.com>
38152         Guard terminal parameter in XTerm mouse mode
38154         It has been observed (in the HTerm terminal emulator) that the
38155         event stored in the 'xterm-mouse-last-down' terminal parameter gets
38156         overwritten during a mouse drag operation, causing Emacs to attempt to
38157         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
38158         the terminal parameter to protect against such modifications.
38160         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
38161         of input event list.
38163 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
38165         Fix template for module functions
38167         Reported by Syohei YOSHIDA (Bug#24932).
38168         * modules/modhelp.py (TEMPLATES):
38169         c_func’s 2nd arg is ptrdiff_t, not int.
38171 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
38173         Pacify gcc -Wswitch.
38175         * src/keyboard.c (kbd_buffer_store_buffered_event):
38176         Move initialization into default case.
38178 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
38180         Reuse already existing lisp symbols for ignore_event (bug#19547).
38182         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
38183         * src/keyboard.c (kbd_buffer_store_buffered_event):
38184         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
38185         and make-frame-visible for DEICONIFY_EVENT.
38186         (syms_of_keyboard): Remove unneeded symbols.
38188 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
38190         Allow configuring which event throw-on-input should ignore (bug#19547).
38192         * src/keyboard.c (kbd_buffer_store_buffered_event):
38193         Translate event to corresponding symbol from `while-no-input-ignore-events`
38194         and check them with Fmemq.
38195         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
38196         and its symbols.
38198         * lisp/subr.el (while-no-input-ignore-events): Add default values.
38200         * doc/lispref/commands.texi (Event Input Misc):
38201         Document while-no-input-ignore-events.
38202         * etc/NEWS: Same.
38204 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
38206         ash, lsh avoid code duplication
38208         See discussion in:
38209         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
38210         * src/data.c (ash_lsh_impl): New function.
38211         (ash, lsh): Use it.
38213 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
38215         Add will change module to CSS property list
38217         * lisp/textmodes/css-mode.el (css-property-alist)
38218         (css-value-class-alist): Add new property and value class from CSS
38219         Will Change Module.
38221 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
38223         Don't access pointers to freed storage in regex.c
38225         Remove __BOUNDED_POINTERS__ code, which does not work with
38226         -fcheck-pointer-bound and which has undefined behavior anyway.
38227         Problem found when trying to port to gcc -fcheck-pointer-bounds.
38228         (This code was removed from glibc and gnulib regex.c many years ago.)
38229         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
38230         (EXTEND_BUFFER): Use a more-portable approach that avoids
38231         undefined behavior due to inspecting pointers to freed storage.
38233 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
38235         Port build to gcc -fcheck-pointer-bounds
38237         This does not let Emacs run, just build.
38238         * lib-src/etags.c (main):
38239         * lib-src/profile.c (main):
38240         Use return, not exit.
38241         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
38242         Do not define, as -fcheck-pointer-bounds is incompatible with taking
38243         addresses of labels.
38244         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
38245         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
38247 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
38249         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
38251 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
38253         * lisp/rot13.el: Use lexical-binding
38255 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
38257         Add "using" to cl-loop debug spec (Bug#24750)
38259         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
38260         "using" hash table clause.
38262 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
38264         Allow user control of progress messages in cpp.el
38266         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
38267         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
38268         the doc string.
38269         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
38270         'message' to print messages.  (Bug#24861)
38272 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
38274         New input method 'polish-prefix'
38276         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
38277         method.  (Bug#24967)
38279         * etc/NEWS: Mention the new input method.
38281 2016-11-25  Damien Cassou  <damien@cassou.me>
38283         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
38285 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
38287         Add missing 'provide's in preloaded packages
38289         * lisp/composite.el:
38290         * lisp/replace.el:
38291         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
38293 2016-11-24  Alan Mackenzie  <acm@muc.de>
38295         Handle correctly an (undocumented) bare mode in hack-local-variables.
38297         lisp/files.el (hack-local-variables-prop-line): When a file's first line
38298         contains only a mode specification without the string "mode:", return the mode
38299         symbol only when `handle-mode' is t.
38301 2016-11-23  Dima Kogan  <dima@secretsauce.net>
38303         Clarify ediff-directories prompt
38305         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
38306         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
38307         ediff-directories3, ediff-merge-directories,
38308         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
38309         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
38310         filename filter in interactive ediff. The new message makes it clear what is
38311         being filtered
38313 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
38315         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
38317 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
38319         Fix Bug#24199.
38321         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
38322           bracket in doc string (make checkdoc happy).
38323           (icalendar-import-buffer),
38324           (icalendar-import-buffer),
38325           (icalendar--convert-ical-to-diary),
38326           (icalendar--add-diary-entry): Rename argument diary-file to
38327           diary-filename (make checkdoc happy).
38328           (icalendar--convert-recurring-to-diary): Take care of byday-clause
38329           in monthly recurring events.  Actually fix Bug#24199.
38331         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
38333 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
38335         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
38337 2016-11-22  Philipp Stephani  <phst@google.com>
38339         Comint: new user option for C-c M-r and C-c M-s
38341         This option allows the user to specify where to place point after these
38342         commands.
38344         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
38345         (comint-previous-matching-input-from-input): Use user option.
38347 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
38349         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
38351         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
38352         `eshell-first-time-mode-hook'.
38354 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
38356         Dump also connection local variables in Tramp bug reports
38358         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
38359         Dump also connection local variables.
38361 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
38363         Make sure elided long buffer names have ellipses added (Bug#24972)
38365         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
38366         string concat, and chop "strvar" less the width of the ellipsis.
38367         (ibuffer-compile-make-substring-form): Add space as padding, to fix
38368         off-by-one in alignment.
38370 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
38372         Buffer-menu-no-header: Detect a fake header
38374         * lisp/buff-menu.el (Buffer-menu-no-header): Use
38375         'tabulated-list-header-overlay-p' (Bug#24855).
38377 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
38379         buff-menu: Add command to unmark all buffers
38381         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
38382         to unmark all buffers (Bug#24880).
38383         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
38384         New predicate; return non-nil if tabulated-list has a fake header.
38385         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
38386         New command; remove all flags that use a particular mark from all the lines.
38387         Bind it to 'M-DEL'.
38388         (Buffer-menu-unmark-all):
38389         New command; remove all flags from all the lines.  Bind it to 'U'.
38390         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
38391         (Buffer-menu-delete, Buffer-menu-mark): Use them.
38392         (Buffer-menu-mode-map): Update menus.
38393         (Buffer-menu-mode): Update mode doc.
38394         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
38395         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
38396         (bs-mode): Update mode doc.
38397         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
38398         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
38399         to 'M-DEL'.
38400         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
38401         Use point instead of cursor in doc string.
38402         (electric-buffer-list): Update mode doc.
38403         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
38404         and Buffer-menu-unmark-all-buffers.
38406 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
38408         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
38410         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
38412 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
38414         Port htmlfontify to cl-lib
38416         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
38417         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
38418         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
38419         instances of cl aliases with their cl-lib counterparts.
38421 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
38423         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
38425 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
38427         Fix another CANNOT_DUMP problem
38429         Reported by Robert Pluim in:
38430         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
38431         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
38432         * src/lisp.h: ... to here.
38434 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
38436         Add further consideration to string-width (Bug#24972)
38438         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
38439         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
38441 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
38443         Don't collect strings existing out of <tr>...</tr>
38445         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
38446         Don't collect strings existing out of <tr>...</tr> to avoid
38447         duplication with what `shr-tag-table' renders.
38449 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
38451         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
38452         the last commit.
38454 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
38456         Add a variable to pass additional options to rcvstore
38458         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
38459         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
38460         the arguments that are passed to rcvstore.
38462         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
38463         and followups, i.e., ding mailing list.
38465 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38467         Fix undefined refs on some GNU/Linux hosts
38469         Problem reported by Ken Raeburn in:
38470         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
38471         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
38472         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
38473         removes unwanted references to my_endbss and my_endbss_static,
38474         which are not optimized away on some platforms.
38476 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38478         Make CANNOT_DUMP work better on GNU/Linux
38480         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
38481         lets the build succeed again, and fixes the testing framework so
38482         that most test cases now pass.  About twenty test cases still
38483         fail, though, and we still have Bug#24974.
38484         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
38485         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
38486         be any point to messing with a private memory allocator unless
38487         Emacs is dumping.
38488         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
38489         * src/image.c (reset_image_types):
38490         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
38491         Do not define if CANNOT_DUMP.
38492         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
38493         (daemon_pipe) [!WINDOWSNT]: Now static.
38494         * test/Makefile.in (mostlyclean): Remove *.tmp files.
38495         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
38497 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38499         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
38501 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38503         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
38505         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
38506         Do not define.  If defining, do it in a smaller scope.
38508 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
38510         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
38512 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
38514         Fix redrawing non-selected frame after resize on MS-Windows
38516         * src/xdisp.c (redisplay_internal): If all the frames were
38517         successfully updated, reset the "garbaged" flag of each frame, to
38518         make sure it doesn't stay set.
38520         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
38521         "garbaged", since expose_frame won't redraw the foreground then.
38522         (Bug#24642)
38524 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
38526         Add file-local-name
38528         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
38529         (Unique File Names): Use it.
38531         * etc/NEWS: Mention `file-local-name'.
38533         * lisp/files.el (file-local-name): New defun.
38534         (file-expand-wildcards):
38535         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
38536         * lisp/eshell/esh-ext.el (eshell-remote-command):
38537         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
38538         * lisp/org/ob-core.el (org-babel-local-file-name):
38539         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
38540         * lisp/progmodes/python.el (python-shell-send-file):
38541         * lisp/shell.el (shell):
38542         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
38543         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
38545 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
38547         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
38549 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
38551         * src/editfns.c (format-time-string): Mention %q in doc string.
38553 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38555         Document format-time-string %q
38557         * doc/lispref/os.texi (Time Parsing):
38558         * etc/NEWS: Document new %q functionality taken from gnulib.
38560 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38562         Merge from gnulib
38564         This incorporates:
38565         2016-11-15 sys_time: add gnulib::timeval for C++
38566         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
38567         2016-11-13 strftime: don't use __THROW
38568         2016-11-12 strftime: tune %q
38569         2016-11-12 Merge strftime.c changes from glibc
38570         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
38571         2016-11-05 strftime,strptime: support %q to represent the quarter
38573         The glibc changes in turn incorporate the following strftime.c changes:
38574         2015-10-20 Convert misc function definitions to prototype style
38575         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
38576         2010-01-09 Add support for XPG7 testing
38577         2009-10-30 Implement Burmese language locale for Myanmar
38578         2008-06-13 [BZ #6612] pass reference to tzset_called around
38579         2007-10-16 [BZ #5184] Add tzset_called argument
38581         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
38582         * m4/manywarnings.m4: Copy from gnulib.
38584 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38586         Merge from origin/emacs-25
38588         07f45d7 ; Spelling fix
38589         1a210f0 * admin/release-process: Update versions and blocking bug num...
38590         36bafc9 Improve documentation of functions that accept time values
38592         # Conflicts:
38593         #       admin/release-process
38594         #       src/editfns.c
38596 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38598         Merge from origin/emacs-25
38600         4af5981 Add a comment in generated refcards about the source
38601         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
38602         4887e7c js-mode: Fix indent problem after a regexp
38603         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
38604         1fc101b Don't confuse how Texinfo outputs @var with the input
38605         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
38606         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
38607         5b0cddd More fixes in copyright notices in etc/refcards/
38608         f994c20 Update copyright text in refcards
38609         9ad2ae7 Fix Outline command names
38610         26c3554 Send text received by bracketed paste to process
38611         db0b58d Correct the statement about programming modes always running ...
38612         78aece4 Improve documentation of 'occur'
38613         eb364fd Do call debugger on failed cl-assert
38614         3ef4ee8 Avoid infloop in python
38615         8da810f Don't refer to obsolete FEATURE-unload-hook
38616         4f478ca Improve documentation of dabbrevs
38617         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
38618         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
38619         3b199f7 Improve documentation of some Help commands
38620         93d3a0e Fix documentation of yes-or-no prompts
38621         af04919 Fix documentation of partial completion style
38622         ed80184 Fix documentation of the mode line on emacsclient frames
38623         e6be855 Fix description of 'C-z' in User manual
38624         16f7007 Improve and clarify documentation of Outline Mode
38625         31d93aa Add Emacs version number to nt/README.W32
38626         0b6b815 Fix python-mode hideshow regexp
38627         dc152c5 Modernize usage of 'macOS' in doc and comments
38628         84c5343 Prefer comments /* like this */ in C code
38629         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
38630         3ef86fd Clarify documentation of face attribute functions
38631         de51d59 ; * nt/README.W32: Minor copyedits.
38632         db436e9 Don't call debug on failed cl-assert
38634         # Conflicts:
38635         #       doc/emacs/cmdargs.texi
38636         #       etc/NEWS
38637         #       etc/PROBLEMS
38638         #       lisp/auth-source.el
38639         #       lisp/net/tramp-sh.el
38641 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
38643         Port RefTeX to cl-lib
38645         * lisp/textmodes/reftex-auc.el:
38646         * lisp/textmodes/reftex-cite.el: Use cl-lib.
38647         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
38648         macros.
38649         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
38650         (reftex-view-regexp-match): Substitute cl-lib macro.
38651         * lisp/textmodes/reftex-global.el: Use cl-lib.
38652         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
38653         (reftex-translate): Substitute cl-lib macros.
38654         * lisp/textmodes/reftex-index.el: Use cl-lib.
38655         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
38656         (reftex-index-next-phrase, reftex-index-phrases-info):
38657         (reftex-query-index-phrase): Substitute cl-lib macros.
38658         * lisp/textmodes/reftex-parse.el: Use cl-lib.
38659         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
38660         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
38661         Substitute cl-lib macros.
38662         * lisp/textmodes/reftex-ref.el: Use cl-lib.
38663         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
38664         macros.
38665         * lisp/textmodes/reftex-sel.el: Use cl-lib.
38666         (reftex-select-shared-map): Set keymap parent to special-mode-map.
38667         Flatten loop and remove digits and hyphen definitions from the map.
38668         (reftex-select-label-mode-map):
38669         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
38670         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
38671         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
38672         cl-pushnew.
38673         * lisp/textmodes/reftex.el: Use cl-lib.
38674         (reftex-docstruct-symbol): Use cl-incf.
38675         (reftex-ref-style-toggle): Replace add-to-list with append.
38676         (reftex-compile-variables): Use cl-lib macros, and functions with
38677         compiler macros. cl-first is just an alias.
38678         (reftex-parse-args, reftex-scanning-info-available-p):
38679         (reftex-select-external-document, reftex-get-file-buffer-force): Use
38680         cl-lib macros.
38681         (reftex-isearch-minor-mode): Replace add-to-list with append.
38683 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
38685         ibuffer-exchange-filters: Simplify code
38687         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
38689 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
38691         Implement getrlimit and setrlimit for MS-Windows
38693         * src/w32heap.c (getrlimit, setrlimit): New functions.
38694         Include w32.h.
38695         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
38696         should be compatible with 'struct rlimit' members.
38698         * nt/inc/sys/resource.h: New header file.
38700         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
38701         Set to "yes".
38703 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38705         Move key mappings into reftex-mode-map defvar
38707         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
38708         key mappings.
38709         (reftex-reset-mode): Just use dolist.
38711 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38713         Derive reftex-index-mode from special-mode
38715         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
38716         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
38717         from special-mode now.
38718         (reftex-index-mode): Derive from special-mode.
38719         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
38721 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38723         Clean up reftex-toc-mode-map
38725         * lisp/textmodes/reftex-toc.el: Remove cl.
38726         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
38727         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
38729 2016-11-18  Philipp Stephani  <phst@google.com>
38731         Prevent dubious argument lists
38733         See Bug#24912 and Bug#24913.
38735         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
38736         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
38737         more dubious argument lists.
38738         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
38739         test.
38741 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
38743         Add test suite for buff-menu.el
38745         * test/lisp/buff-menu-tests.el: New file.
38746         (buff-menu-24962): Add test for Bug#24962.
38748 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
38750         Add cyrillic-tuvan input method
38752         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
38753         method.  (Bug#24942)
38755         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
38757 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
38759         Extend 'indent-relative' when its arg is non-nil
38761         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
38762         (indent-relative-first-indent-point): Renamed from
38763         'indent-relative-maybe'.
38764         (indent-relative): Now accepts an additional optional argument.
38765         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
38766         the additional arg.  (Bug#24766)
38768 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
38770         Add example for bug#24854
38772         * test/manual/indent/js.js: Add example for bug#24854.
38774 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38776         Port registry.el the rest of the way to cl-lib
38778         This file already is using cl-lib functions at runtime; eieio ultimately
38779         loads cl-lib, which explains why doing so wasn't an issue.
38780         * lisp/registry.el: Require cl-lib.
38781         (registry-db, registry--match, registry-search, registry-delete):
38782         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
38783         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
38785 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38787         Fix arglist in python.el (Bug#24762)
38789         * lisp/progmodes/python.el: Remove unneeded second args.
38790         (python-define-auxiliary-skeleton): DOC arg should be &optional.
38792 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
38794         Add tests for rot13.el
38796         * lisp/rot13.el (rot13): Docstring correction.
38798         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
38800 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
38802         Fix Bug#24947 (Tramp + ido)
38804         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
38806         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
38807         Run remote tests only if a connection is established only.  (Bug#24947)
38809 2016-11-16  Ken Brown  <kbrown@cornell.edu>
38811         Unbreak the build on Darwin (Bug#24957)
38813         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
38814         mistakes in recent commit.
38816 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
38818         Do not use map.el in seq-tests.el
38820         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
38821         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
38822         Emacs 24.5.
38824 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
38826         Update parameter :version to 26.1 in several defcustom
38828         Following defcustom where added or modified for 25.2 release.
38829         In fact all these changes belong to 26.1 release.
38830         * lisp/battery.el (battery-linux-sysfs-regexp)
38831         * lisp/comint.el (comint-password-prompt-regexp)
38832         * lisp/dired.el (dired-always-read-filesystem)
38833         * lisp/image.el (image-scaling-factor)
38834         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
38835         (ibuffer-never-search-content-mode)
38836         * lisp/mouse.el (mouse-select-region-move-to-beginning)
38837         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
38838         (netstat-program, route-program, route-program-options)
38839         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
38840         * lisp/progmodes/grep.el (grep-save-buffers)
38841         * lisp/vc/add-log.el (change-log-directory-files)
38842         * lisp/url/url-vars.el (url-user-agent)
38843         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
38844         (vc-hg-use-file-version-for-mode-line-version)
38845         (vc-hg-parse-hg-data-structures)
38846         * lisp/wdired.el (wdired-create-parent-directories)
38847         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
38848         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
38849         (gnus-button-url-regexp)
38850         * lisp/window.el (switch-to-buffer-preserve-window-point)
38851         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
38852         (ibuffer-locked-buffer)
38853         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
38854         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
38855         * lisp/gnus/message.el (message-user-fqdn)
38856         * lisp/simple.el (shell-command-dont-erase-buffer)
38857         (extended-command-suggest-shorter)
38858         * lisp/net/shr.el (shr-use-fonts)
38859         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
38861 2016-11-15  Glenn Morris  <rgm@gnu.org>
38863         Add --new-daemon, which runs in the foreground and does not fork
38865         This is intended for modern init systems such as systemd,
38866         which manage many of the traditional aspects of daemon behavior
38867         themselves.  (Bug#2677)
38868         * src/emacs.c (daemon_type): New integer.
38869         (usage, standard_args): Add --old-daemon and --new-daemon.
38870         (main): Handle --old-daemon and --new-daemon arguments.
38871         Restrict all the forking and complicated daemon stuff to old-daemon.
38872         (Fdaemon_initialized): Handle new-style daemon.
38873         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
38874         Replace daemon_pipe with daemon_type.
38875         * doc/emacs/cmdargs.texi (Initial Options):
38876         * doc/emacs/glossary.texi (Glossary):
38877         * doc/emacs/misc.texi (Emacs Server):
38878         * doc/lispref/display.texi (Window Systems):
38879         * doc/lispref/os.texi (Startup Summary): Related doc updates.
38880         * etc/NEWS: Mention this.
38881         * etc/emacs.service: Use Type=simple and --new-daemon.
38883 2016-11-15  Glenn Morris  <rgm@gnu.org>
38885         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
38886         * doc/man/emacs.1.in: Likewise.
38888 2016-11-15  Ken Brown  <kbrown@cornell.edu>
38890         Simplify case-insensitivity checks on Mac OS X
38892         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
38893         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
38894         Leave in two alternatives conditionally compiled based on
38895         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
38897         * etc/PROBLEMS: Mention the possible problem with pathconf on
38898         Mac OS X.
38900 2016-11-15  Glenn Morris  <rgm@gnu.org>
38902         * src/emacs.c (sort_args): Warn about multiple matches.
38904 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
38906         Implement file name handler for `file-name-case-insensitive-p'
38908         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
38909         is also applicable for remote hosts.
38911         * lisp/net/tramp.el (tramp-methods): Improve docstring.
38912         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
38913         (tramp-handle-file-name-case-insensitive-p): New defun.
38915         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
38916         Add `tramp-case-insensitive' entry.
38918         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
38919         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
38920         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
38921         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
38922         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
38924 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
38926         Nix more uses of default-FOO variables (Bug#24946)
38928         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
38929         Check for header-line-format instead.
38930         * lisp/emulation/viper.el (viper-load-custom-file): Reference
38931         major-mode instead.
38932         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
38933         fill-column instead.
38935 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
38937         Complete the name of PostgreSQL databases
38939         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
38940         name.
38941         (sql-postgres-list-databases): New function returning a list of
38942         available PostgreSQL databases.
38944         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
38946 2016-11-14  Sam Steingold  <sds@gnu.org>
38948         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
38950         When `vc-git-print-log-follow' is true and all files are
38951         non-directory, pass "--follow" to "git log".
38952         This works around bug#8756 and bug#16422.
38954 2016-11-14  Sam Steingold  <sds@gnu.org>
38956         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
38958         vc-git-print-log: pass "--follow" to "log" to handle renamed files
38960 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
38962         Revert "Improve case-insensitive checks (Bug#24441)"
38964         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
38965         I see no reason for removing code, documentation, and comments
38966         in the original commit.
38968 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
38970         Update verilog-mode.el
38972         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
38973         (verilog-calc-1): Fix "default clocking" indentation and
38974         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
38975         (verilog-diff-report): Fix `verilog-diff-report'
38976         not returning bad status on differences, bug1087.  Reported by
38977         Eric Jackowski.
38978         (verilog-auto-inst-param-value)
38979         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
38980         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
38981         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
38982         (verilog-read-sub-decls-type): When
38983         `verilog-auto-inst-param-value-type' is set, which is now the
38984         default, AUTOINPUT etc will now substitute parameter types from
38985         submodules, bug1061.  Reported by Brad Dobbie.
38986         (verilog-auto-reset, verilog-backward-case-item)
38987         (verilog-extended-case-re, verilog-read-always-signals-recurse):
38988         Fix indentation of randcase, bug1072. Reported by David Rogoff.
38989         (verilog-read-sub-decls-expr)
38990         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
38991         in generated comments, bug1057. Reported by Kaushal Modi.
38992         (verilog-auto-wire-comment, verilog-insert-definition):
38993         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
38994         Eric Jackowski.
38995         (verilog-extended-complete-re): Fix indentation
38996         of class static functions, bug1053. Reported by Gregory
38997         Czajkowski.
38998         (verilog-module-filenames): Support tramp for
38999         finding verilog modules. Reported by Nevada Sanchez.
39001 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
39003         Improve case-insensitive checks (Bug#24441)
39005         * doc/lispref/files.texi (Truenames): Simplify documentation,
39006         to avoid giving too much platform-specific information that
39007         may not be accurate anyway.
39008         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
39009         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
39010         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
39011         back on an alternative rather than returning false.  Try skipping
39012         the Darwin code, as it (1) no longer seems to be needed and (2)
39013         does not seem to match the Apple documentation.  Leave in two
39014         alternatives conditionally compiled based on
39015         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
39017 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
39019         Fix documentation changes of connection-local variables
39021         * etc/NEWS: Fix last change.
39022         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
39023         * doc/lispref/elisp.texi (Top): Update the master menu.
39025 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
39027         Implement connection-local variables
39029         * doc/lispref/variables.texi (Connection Local Variables): New section.
39031         * etc/NEWS: Mention connection-local variables.
39033         * lisp/files-x.el (enable-connection-local-variables)
39034         (connection-local-variables-alist, connection-local-class-alist)
39035         (connection-local-criteria-alist): New defvars.
39036         (connection-local-get-classes)
39037         (connection-local-get-class-variables): New defsubst.
39038         (connection-local-set-classes)
39039         (connection-local-set-class-variables)
39040         (hack-connection-local-variables)
39041         (hack-connection-local-variables-apply): New defuns.
39042         (with-connection-local-classes): New defmacro.
39044         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
39046         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
39047         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
39048         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
39049         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
39051         * test/lisp/files-x-tests.el: New file.
39053 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
39055         tabulated-list: extend truncation into next align-right column
39057         See discussion on:
39058         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
39059         * lisp/emacs-lisp/tabulated-list.el
39060         (tabulated-list--near-rows): New variable.
39061         (tabulated-list-print, tabulated-list-set-col): Use it.
39062         (tabulated-list--col-local-max-widths): New defsubst.
39063         (tabulated-list-print-col): Use it.  If the next column is
39064         align-right, and has some space left then don't truncate to width,
39065         use some of the available space from the next column.
39067 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
39069         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
39071         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
39072         (shr-collect-extra-strings-in-table): Render images as well.
39074 2016-11-13  Ken Brown  <kbrown@cornell.edu>
39076         Use the new 'file-name-case-insensitive-p' function
39078         * lisp/international/mule.el (auto-coding-alist-lookup):
39079         * lisp/files.el (file-truename):
39080         (abbreviate-file-name, set-auto-mode, file-relative-name):
39081         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
39082         'file-name-case-insensitive-p' instead of 'system-type' to test
39083         case-insensitivity.
39085 2016-11-13  Glenn Morris  <rgm@gnu.org>
39087         Include a systemd user unit file.  (Bug#16507)
39089         * etc/emacs.service: New file.
39090         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
39091         * Makefile.in (libdir): New, set by configure.
39092         (systemdunitdir): New variable.
39093         (install-etc, uninstall): Handle the emacs.service file.
39095 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
39097         Port --enable-gcc-warnings to Ubuntu 16.10
39099         * src/gmalloc.c: Include <stdlib.h>, so it declares
39100         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
39101         so that GCC doesn't complain that hybrid_aligned_alloc is
39102         defined without being declared.
39104 2016-11-13  Ken Brown  <kbrown@cornell.edu>
39106         Silence tramp warning
39108         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
39109         'file-name-case-insensitive-p' as a known file primitive.
39110         (Bug#24936)
39112 2016-11-12  Ken Brown  <kbrown@cornell.edu>
39114         Check case-sensitivity when renaming files
39116         * src/fileio.c (file_name_case_insensitive_p)
39117         (Ffile_name_case_insensitive_p):  New functions.
39118         (Frename_file): Allow renames that simply change case when the
39119         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
39121         * lisp/dired-aux.el (dired-do-create-files): Use
39122         'file-name-case-insensitive-p' instead of 'system-type' to check
39123         for case-insensitivity.  (Bug#24441)
39125         * doc/lispref/files.texi (Truenames): Document
39126         'file-name-case-insensitive-p'.
39128 2016-11-12  Ken Brown  <kbrown@cornell.edu>
39130         Unbreak the build on Cygwin
39132         * configure.ac (system_malloc) [CYGWIN]: Unset.
39134 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
39136         Update chart.el
39138         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
39139         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
39140         fixed number of newlines, use window-height.
39141         (chart-bar):
39142         (chart-trim): Use dolist.
39143         (chart-file-count): The previous implementation was buggy and missed
39144         extensions.  Use file-name-extension instead to detect file extensions.
39145         Also use dolist and cl-incf to reduce verbosity.
39147 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
39149         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
39150         (shr-collect-extra-strings-in-table):
39151         Render extra tables in an invalid html as well.
39153 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
39155         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
39157 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
39159         Resurrect 'memory-limit' on MS-Windows
39161         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
39162         'memory-limit' will produce a trivial and useless result on Windows.
39164 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
39166         Update quickurl.el
39168         * lisp/net/quickurl.el (quickurl-format-function):
39169         (quickurl-sort-function): Use named function.
39170         (quickurl-list-mode-map): Remove lines that are extraneous now that the
39171         parent mode is special-mode.
39172         (quickurl-format-url, quickurl-sort-urls): New functions.
39173         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
39174         be used.
39175         (quickurl-list-mode): Derive from special-mode.  Nix setting
39176         buffer-read-only: special-mode does that.
39177         (quickurl-list-populate-buffer): Use dolist instead.
39178         (quickurl-list-quit): Use quit-window.  It looks like this was written
39179         before the quit-window rewrite.  quit-window is very useful now.
39181 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
39183         Refine multi-hop specs in Tramp
39185         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
39187         * test/lisp/net/tramp-tests.el
39188         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
39189         method.  "/h:" is allowed on non MS Windows.
39191 2016-11-08  Daniel Colascione  <dancol@dancol.org>
39193         Avoid infloop in python
39195         Fix bug#24905
39197         * lisp/progmodes/python.el (python-info-docstring-p): Improve
39198         infloop avoidance: replace (bobp) with generic test for
39199         forward progress.
39200         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
39201         test for bug#24905
39203 2016-11-08  Daniel Colascione  <dancol@dancol.org>
39205         Make gnus/message.el work correctly under lexical binding
39207         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
39208         `_' to shut up the byte compiler.
39209         (sha1-maximum-internal-length, smtpmail-smtp-server)
39210         (smtpmail-smtp-service): add missing defvars
39212 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
39214         Fix Bug#24889
39216         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
39217         defvar.  Fix docstring.
39218         (tramp-completion-file-name-handler-alist): Fix docstring.
39219         (tramp-register-file-name-handlers): Reassign
39220         `tramp-file-name-regexp' to the car of
39221         `tramp-file-name-structure'.  (Bug#24889)
39223 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
39225         Port to FreeBSD 11 AMD
39227         Problem reported by Ashish Shukla (Bug#24892).  I tested
39228         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
39229         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
39230         (sbrk): Check whether it exists.
39231         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
39232         Do not define, since this function is now used only on GNU/Linux,
39233         and sbrk might not exist on other platforms.
39234         (malloc_initialize_hook) [!GNU_LINUX]:
39235         Do not call my_heap_start, since its side effect will never be used.
39236         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
39237         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
39238         sbrk exists.
39240 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
39242         Port emacsclient to FreeBSD 11 etc.
39244         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
39245         platforms like FreeBSD 11 that use code involving strlen etc., and
39246         because <config.h> no longer includes string.h.
39248 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
39250         Prescribe history for read-regexp in query-replace
39252         In the fix for bug#24580, the history argument for read-regexp was
39253         removed erroneously; read-regexp's history argument defaults to
39254         regexp-history, not minibuffer-history.
39255         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
39256         minibuffer-history.  Fixes bug#24873.
39258 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
39260         Remove obsolete default-FOO variables
39262         * etc/NEWS: Indicate the removed variables.
39263         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
39264         * lisp/subr.el (default-mode-line-format, default-header-line-format):
39265         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
39266         (default-truncate-lines, default-left-margin, default-tab-width):
39267         (default-case-fold-search, default-left-margin-width):
39268         (default-right-margin-width, default-left-fringe-width):
39269         (default-right-fringe-width, default-fringes-outside-margins):
39270         (default-scroll-bar-width, default-vertical-scroll-bar):
39271         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
39272         (default-fringe-indicator-alist, default-fringe-cursor-alist):
39273         (default-scroll-up-aggressively, default-scroll-down-aggressively):
39274         (default-fill-column, default-cursor-type):
39275         (default-cursor-in-non-selected-windows):
39276         (default-buffer-file-coding-system, default-major-mode):
39277         (default-enable-multibyte-characters): Remove obsolete declarations.
39278         * src/buffer.c (default-mode-line-format, default-header-line-format):
39279         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
39280         (default-truncate-lines, default-left-margin, default-tab-width):
39281         (default-case-fold-search, default-left-margin-width):
39282         (default-right-margin-width, default-left-fringe-width):
39283         (default-right-fringe-width, default-fringes-outside-margins):
39284         (default-scroll-bar-width, default-vertical-scroll-bar):
39285         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
39286         (default-fringe-indicator-alist, default-fringe-cursor-alist):
39287         (default-scroll-up-aggressively, default-scroll-down-aggressively):
39288         (default-fill-column, default-cursor-type):
39289         (default-cursor-in-non-selected-windows):
39290         (default-buffer-file-coding-system, default-major-mode):
39291         (default-enable-multibyte-characters): Remove.
39292         * src/fileio.c (choose_write_coding_system): Fix comment.
39293         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
39295 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
39297         Improve the tutorial
39299         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
39300         * etc/tutorials/TUTORIAL.he: Follow suit.
39302 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39304         Restore file descriptor limit in subprocesses
39306         Problem reported by Philipp Stephani (Bug#24869).
39307         * src/callproc.c (child_setup) [!DOS_NT]:
39308         Call restore_nofile_limit in the child.
39309         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
39310         (restore_nofile_limit): New function.
39311         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
39313 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
39315         Remove some subr.el functions obsoleted in 22.1
39317         * etc/NEWS: Document removed functions.  Also mention the "face"
39318         variables that have been removed recently.
39319         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
39320         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
39322 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
39324         Prefer comments /* like this */ in C code
39326 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
39328         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
39330 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
39332         Support zstd compressed files
39334         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
39335         zstd compression info: <http://facebook.github.io/zstd/>.
39336         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
39337         compressed tar archives.  (Bug#24853)
39339 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
39341         Enlarge DUMPED_HEAP_SIZE
39343         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
39344         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
39346 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
39348         Update from gnulib
39350         This incorporates:
39351         2016-11-03 intprops: port to older XL C
39352         * lib/intprops.h: Copy from gnulib.
39354 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
39356         Merge from origin/emacs-25
39358         acae275 ; Spelling fixes
39359         d8fac73 Update README for precompiled windows Emacs.
39360         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
39361         f708cb2 Clarify doc string of 'transpose-sexps'
39362         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
39363         bdc89eb Improve documentation of 'font-lock-remove-keywords'
39364         4a0c590 Fix documentation of the command summary key
39365         0221b7a Mark relocation workarounds with REL_ALLOC
39367 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
39369         Merge from origin/emacs-25
39371         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
39372         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
39373         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
39374         9c247d2 Update category-table for Chinese characters
39375         43986d1 Inhibit buffer relocation during regex searches
39376         fee4cef Revert fixes to allocation of regex matching
39378 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
39380         Fix references to long obsoleted functions/aliases
39382         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
39383         * doc/misc/cl.texi (Conditionals):
39384         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
39385         not string-to-int.
39386         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
39387         default-major-mode.
39388         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
39389         here is not a function call, but shorten the binding names anyways.
39390         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
39391         Bug#22244.
39392         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
39393         read-input.
39395 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
39397         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
39399 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
39401         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
39402         that gathers extra strings in an invalid html.  (bug#24831)
39403         (shr-tag-table): Use it.
39405 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
39407         Add 'x-ctrl-keysym' support on X window system
39409         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
39410         Support 'x-ctrl-keysym'.
39411         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
39412         property on it.
39413         <x-ctrl-keysym>: New DEFVAR_LISP.
39414         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
39415         fix.  (Bug#24822)
39417         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
39419         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
39421 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
39423         Improve autoload error reporting
39425         * src/eval.c (Fautoload_do_load): Include the absolute file name
39426         in the error message.
39428 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39430         Stop force parameter of whitespace-report-region having global effect
39432         * lisp/whitespace.el (whitespace-report-region): Force parameter
39433         previously changed whitespace-style globally.  Fix this, and use
39434         whitespace-active-style, to take account of any changes the user may
39435         have made.  Simplify the documentation: the force parameter simply
39436         forces all classes of whitespace problem to be considered.
39437         (Bug#24745)
39439 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39441         Document use of `tab-width'
39443         * lisp/whitespace.el: When talking about `8 or more spaces', mention
39444         `tab-width' instead of 8.  (Bug#24745)
39446 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39448         Make whitespace-report-region respect current settings
39450         * lisp/whitespace.el (whitespace-report-region): Make it respect
39451         whitespace-style, including any additions made by the force parameter.
39452         This means that the function does not return t unless a whitespace
39453         problem that the user cares about is reported.  (Bug#24745)
39455 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39457         Fix whitespace-space-after-tab-regexp
39459         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
39460         (whitespace-regexp): Match all the spaces after tabs for highlighting,
39461         not just the first tab-width.  Fix whitespace-space-after-tab::space
39462         version so that it requires at least tab-width spaces, not just 1.
39463         (Bug#24745)
39465 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39467         Remove duplicate documentation
39469         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
39470           section which duplicate and in some places contradict (due to being
39471           out of date) the docstrings (Bug#24745).
39473 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
39475         Fix bob/eob checks
39477         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
39478         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
39479         work at beginning & end of buffer in whitespace-report-region, and only
39480         there (i.e. they will never match in regions that don't include the
39481         start or end of the buffer).  (Bug#24745)
39483 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
39485         (thing-at-point 'list) return nil if no list at point
39487         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
39488         Check first if we are at the beginning of a top-level sexp (Bug#24627).
39489         If point is inside a comment or string, look for a list out of the
39490         comment/string.
39491         Escape '[' in doc string.
39492         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
39493         expected test result as pass.
39495 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39497         Remove antlr face aliases obsoleted in 22.1
39499         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
39500         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
39501         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
39502         (antlr-tokenref-face, antlr-literal-face):
39503         (antlr-literal-face): Remove.
39504         (antlr-font-lock-additional-keywords): Use face symbols instead.
39506 2016-11-02  Daniel Colascione  <dancol@dancol.org>
39508         Revert "Disable bracketed paste in a terminal in char mode"
39510         This change causes regressions, and besides, disabling BPM frame-wide
39511         for the sake of one buffer is the wrong solution.
39513         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
39515 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39517         Revert change to eww-suggest-uris
39519         The introduced append is ugly and can yield '(nil); doing delq on it
39520         would be hacks on hacks.
39521         * lisp/net/eww.el: Require cl-lib at run time.
39522         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
39523         (eww): Remove erroneous append.
39524         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
39525         equal to eww-current-url, which is nil anyways if we are not in an EWW
39526         buffer.
39528 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39530         Add eww-open-in-new-buffer to EWW
39532         * doc/misc/eww.texi (Basic): Document new command and key.
39533         * etc/NEWS: Mention new key and its purpose.
39534         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
39535         (eww): Append (eww-current-url) to the prompt defaults.
39536         (eww-open-in-new-buffer): New command.
39537         (eww-mode-map): Bind it and add a menu item.
39539 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39541         Migrate auth-source to cl-lib
39543         * lisp/auth-source.el: Use cl-lib.
39544         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
39545         (auth-source-search): Replace cl calls with cl-lib ones.
39546         (auth-source-netrc-cache):
39547         (auth-source-forget+): Use cl-do-symbols instead.
39548         (auth-source-specmatchp, auth-source-netrc-parse):
39549         (auth-source-netrc-search, auth-source-netrc-create):
39550         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
39551         (auth-source-secrets-search, auth-source-secrets-create):
39552         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
39553         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
39554         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
39556 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
39558         Don't segfault on timed-out TLS connections
39560         * src/process.c (finish_after_tls_connection): Check that the
39561         file descriptor is still alive before proceeding (bug#24811).
39562         Also clean up the code slightly.
39564 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
39566         Support 'TARGETS' in clipboard selections on MS-Windows
39568         * src/w32select.c (Fw32_selection_targets): New function.
39570         * lisp/term/w32-win.el (w32--get-selection): Call
39571         'w32-selection-targets' to obtain the list of data formats
39572         available in the clipboard.
39574 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
39576         Fix documentation for 'eudc-options-file'
39578         * doc/misc/eudc.texi (The Server Hotlist): Update the default
39579         value of 'eudc-options-file'.
39581 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
39583         Fix documentation of 'eudc-inline-expansion-format'
39585         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
39586         'eudc-inline-expansion-format'. (Bug#24840)
39588 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39590         Turn on lexical-binding in some more libs
39592         * lisp/calendar/icalendar.el:
39593         * lisp/emacs-lisp/regexp-opt.el:
39594         * lisp/emacs-lisp/timer.el:
39595         * lisp/gnus/message.el:
39596         * lisp/hex-util.el: Turn on lexical-binding.
39598 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39600         Turn on lexical-binding in some net libs
39602         * lisp/net/dbus.el: Turn on lexical-binding.
39603         (dbus-list-hash-table, dbus-list-known-names):
39604         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
39605         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
39606         (dbus-introspect-get-property-names):
39607         (dbus-introspect-get-argument-names, dbus-get-all-properties):
39608         (dbus-property-handler, dbus-get-all-managed-objects):
39609         (dbus-managed-object-handler): Replace add-to-list with push. Add
39610         nreverse in some places where the APPEND argument of add-to-list was
39611         used.
39612         * lisp/net/network-stream.el: Turn on lexical-binding.
39613         * lisp/net/newsticker.el: Turn on lexical-binding.
39614         * lisp/net/shr.el: Turn on lexical-binding.
39615         (shr-make-placeholder-image): Remove unused variable binding.
39616         (shr-inspect-table): Replace ignored bindings with underscore.
39618 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39620         Turn on lexical-binding in some url libs
39622         * lisp/url/url-auth.el:
39623         * lisp/url/url-expand.el:
39624         * lisp/url/url-future.el:
39625         * lisp/url/url-parse.el:
39626         * lisp/url/url-util.el: Turn on lexical-binding.
39628 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
39630         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
39632         (Bug#24733)
39634 2016-10-30  Alan Mackenzie  <acm@muc.de>
39636         Handle chars of syntax word which are also flagged as comment delimiters
39638         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
39639         as the start/end of two char comment delimiters, recognize a comment delimiter
39640         in preference to a portion of a word.  This fixes bug #24767.
39642 2016-10-29  Daniel Colascione  <dancol@dancol.org>
39644         Speed up initialization by preferring /dev/urandom to GnuTLS
39646         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
39648 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
39650         Quote file names in dired compression commands
39652         * lisp/dired-aux.el (dired-do-compress-to): Change the string
39653         used as shell command for compression by quoting the filenames
39654         used for input and output (Bug #24620).
39656 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39658         Avoid errors in posn-at-point for large images
39660         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
39661         returns a 6-member list for a partially visible glyph, pass the
39662         sum of Y and RTOP to posn-at-x-y, since that's where the visible
39663         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
39664         (Bug#23809)
39666 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39668         Unbreak MS-Windows build
39670         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
39671         name is "wignore".
39672         (x_set_cursor_gc, x_set_mouse_face_gc)
39673         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
39674         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
39675         use s->window, which doesn't exist anymore.
39677         * src/w32term.h (XCreateGC): Adjust prototype.
39679 2016-10-28  Daniel Colascione  <dancol@dancol.org>
39681         Add double-buffering support to reduce flicker
39683         * src/dispextern.h (struct glyph_string): Remove window member
39684         (block_buffer_flips, unblock_buffer_flips)
39685         (buffer_flipping_blocked_p): Declare.
39687         * src/xterm.h (struct x_display_info): New member supports_xdbe.
39688         (struct x_output): New members draw_desc and need_buffer_flip.
39689         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
39690         (FRAME_X_DOUBLE_BUFFERED_P)
39691         (FRAME_X_NEED_BUFFER_FLIP): New macros.
39692         (set_up_x_back_buffer, tear_down_x_back_buffer)
39693         (initial_set_up_x_back_buffer): Declare.
39695         * src/xterm.c: Include Xdbe.h.
39696         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
39697         (x_draw_vertical_window_border, x_update_end)
39698         (x_setup_relief_color, x_draw_relief_rect)
39699         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
39700         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
39701         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39702         variables appropriately; substitute calls to XClearArea with
39703         x_clear_area, which DTRT for double buffering.
39704         (x_clear_window, x_clear_area): In double-buffering mode, use
39705         rect-drawing X functions instead of XClearWindow and
39706         XClearArea, which always operate on the front buffer.
39707         (show_back_buffer): New function.
39708         (XTframe_up_to_date): Call show_back_buffer when done.
39709         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
39710         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
39711         now independent X windows.
39712         (handle_one_xevent): Call font_drop_xrender_surfaces when
39713         XftDraw might need regenerating; perform buffer flip when
39714         responding to Expose events; issue front-buffer clearing
39715         commands as stopgap while we wait for redisplay.
39716         Call flush_dirty_back_buffers.
39717         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
39718         earlier in function.
39719         (x_free_frame_resources): Call tear_down_x_back_buffer when
39720         destroying frame.
39721         (x_term_init): Attempt to initialize double buffer extension.
39722         (x_flip_and_flush): New function.
39723         (x_redisplay_interface): Point to x_flip_and_flush instead of
39724         x_flip directly.
39725         (flush_dirty_back_buffers): New function.
39726         (x_create_terminal): Register buffer_flipping_unblocked_hook.
39728         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
39729         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39730         (xftfont_draw): Call x_mark_frame_dirty.
39731         (xftfont_drop_xrender_surfaces): New function.
39732         (syms_of_xftfont): Register it.
39734         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
39735         FRAME_X_WINDOW.
39737         * src/xfns.c: Include Xdbe.h.
39738         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
39739         (Fx_double_buffered_p): New functions.
39740         (x_window): Call initial_set_up_x_back_buffer.
39741         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39742         (Fx_create_frame): Configure `inhibit-double-buffering'
39743         frame parameter.
39744         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
39745         (x_frame_parm_handlers): Register
39746         x_set_inhibit_double_buffering.
39747         (syms_of_xfns): Register Sx_double_buffered_p.
39748         (x_mark_frame_dirty): Define.
39750         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
39751         FRAME_X_WINDOW.
39753         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
39754         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39755         (redisplay_internal): Restart redisplay if a frame is garbaged
39756         during updating; explain why. Block buffer flips
39757         during redisplay.
39758         (redisplay_preserve_echo_area): Block buffer flip during call
39759         to redisplay_internal.
39760         (buffer_flip_blocked_depth): New variable.
39761         (block_buffer_flips, unblock_buffer_flips)
39762         (buffer_flipping_blocked_p): New functions.
39763         (init_glyph_string): Stop setting window member of struct
39764         glyph_string.
39766         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
39767         x_set_inhibit_double_buffering.
39769         * src/termhooks.h (struct terminal): Add
39770         buffer_flipping_unblocked_hook.
39772         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
39773         x_set_inhibit_double_buffering.
39775         * src/image.c (x_create_bitmap_from_data)
39776         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
39777         (Create_Pixmap_From_Bitmap_Data)
39778         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
39779         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39780         variables appropriately.
39782         * src/gtkutil.c: Include Xdbe.h.
39783         (xg_get_widget_from_map): Forward declare.
39784         (xg_clear_under_internal_border): Remove obsolete calls to
39785         refresh scroll bars.
39786         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
39787         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
39788         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
39789         same reason.
39790         (xg_set_background_color): Set scroll bar background colors.
39791         (xg_finish_scroll_bar_creation): New function with common
39792         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
39793         scroll bars to be real X11 windows.
39794         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
39795         xg_finish_scroll_bar_creation.
39796         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
39797         Remove obsolete calls to refresh scroll bars; fix comments.
39799         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
39800         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
39801         FRAME_X_WINDOW.
39803         * src/frame.c (frame_parms): Add table entry for new
39804         `inhibit-double-buffering' frame parameter
39805         (syms_of_frame): Register Qinhibit_double_buffering.
39807         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
39808         (font_drop_xrender_surfaces): Declare.
39810         * src/font.c (font_drop_xrender_surfaces): New function.
39812         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
39814         * etc/NEWS: Mention use of double buffering
39816         * doc/lispref/frames.texi (Management Parameters): Document
39817         `inhibit-double-buffering' frame parameters.
39818         (Visibility of Frames): Document `x-double-buffered-p'.
39820         * configure.ac: Check for the X double buffer extension
39822 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
39824         Improve result of `auth-source-search' in Tramp
39826         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
39827         :user in result of `auth-source-search'.
39829 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
39831         Fix avl-tree alias docstrings
39833         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
39834         (avl-tree-stack-p, avl-tree-create):
39835         (avl-tree-compare-function): Add calling convention to docstrings.
39837 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39839         Update from gnulib
39841         This incorporates:
39842         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
39843         2016-10-13 stdint: port SIZE_MAX to glibc s390
39844         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
39845         * lib/gnulib.mk: Regenerate.
39846         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
39847         * m4/utimes.m4: Copy from gnulib.
39849 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39851         electric-quote-chars fixups
39853         * lisp/electric.el (electric-quote-chars): Check types and safety
39854         more carefully.
39855         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
39856         Omit no-longer-necessary runtime error diagnostic.
39858 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
39860         New user variable 'electric-quote-chars'
39862         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
39863         * lisp/electric.el (electric-quote-chars): New defcustom.
39864         (electric-quote-post-self-insert-function): Use it.
39866 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
39868         Add more tests for Bug#24627
39870         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
39871         Add tests for 'list-at-point'.
39873 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
39875         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
39877         * lisp/shell.el (shell--unquote&requote-argument): Fix
39878         off-by-one thinko.  Don't use match data after a failed string-match.
39880 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39882         * src/xwidget.c (webkit_js_to_lisp): Now static.
39884 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39886         xwidget: Map "previous-line" and "next-line" to scroll
39888         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
39889         procedures.
39891 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39893         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
39895         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
39896         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
39897         respectively.
39898         (xwidget-webkit-scroll-top,
39899         xwidget-webkit-scroll-bottom): New procedures.
39901 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39903         Implement zoom for WebKit widget.
39905         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
39906         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
39907         (xwidget-webkit-zoom): Declare procedure.
39908         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
39910 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39912         Dynamically resize WebKit widget.
39914         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
39915         xwidget-webkit-adjust-size-in-frame): New procedures.
39916         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
39917         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
39918         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
39919         add widget and window as arguments.
39920         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
39922 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39924         Let initial WebKit view fill window
39926         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
39927         WebKit widget to window size.
39929 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39931         xwidget: Remove title hack.
39933         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
39934         * lisp/xwidget.el (xwidget-webkit-get-title,
39935         xwidget-webkit-execute-script-rv): Remove procedures.
39937 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39939         xwidget: Get URL asynchronously.
39941         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
39943 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39945         xwidget: Get selection with asynchronous JavaScript
39947         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
39948         process selection.
39949         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
39951 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39953         xwidget: Add function to find element by CSS selector
39955         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
39957 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39959         xwidget: Simplify functions to scroll to elements
39961         * lisp/xwidget.el (xwidget-webkit-show-named-element,
39962         xwidget-webkit-show-id-element,
39963         xwidget-webkit-show-id-or-named-element): Simplify functions by
39964         scrolling exclusively with JavaScript.
39966 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39968         xwidget: Get title via asynchronous JavaScript.
39970         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
39971         asynchronously.
39973 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39975         xwidget: Do not use `xwidget-execute-script-rv' to insert string
39977         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
39978         return value via callback instead of using
39979         `xwidget-webkit-execute-script-rv'.
39981 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39983         Remove scrolled window container around WebKit widget
39985         The WebKit widget can scroll on its own and does not need to wrapped
39986         with a scrolled window container.
39988         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
39989         * src/xwidget.c: Remove widgetscrolledwindow_osr.
39990         (xwidget-set-adjustment): Remove.
39991         (xwidget-resize): Resize Webkit widget last.
39992         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
39993         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
39994         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
39995         Implement scrolling via JavaScript.
39997 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39999         xwidget: Pass JavaScript return value to optional callback procedure
40001         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
40002         callback argument.
40003         (xwidget-webkit-callback): Handle "javascript-callback" event type.
40004         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
40005         argument FUN, a Lisp procedure to execute on the JavaScript return
40006         value.
40007         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
40008         webkit_js_to_lisp): New procedures.
40010 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
40012         xwidget: Use WebKit2 API
40014         * configure.ac: Check for webkit2gtk-4.0.
40015         * src/xwidget.c: Adjust to use WebKit2 API.
40016         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
40017         `xwidget-event-type'.
40019 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
40021         Merge from origin/emacs-25
40023         4c3f738 Comment for bug#24793
40025 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
40027         Merge from origin/emacs-25
40029         96ac0c3 Yet another fix for using pointers into buffer text
40030         1047496 Another fix for using pointer to buffer text
40031         3121992 Fix Bug#24478
40033 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
40035         Merge from origin/emacs-25
40037         ee04aed Fix handling of buffer relocation in regex.c functions
40038         71ca4f6 Avoid relocating buffers while libxml2 reads its text
40039         1b3fc8a ; Remove redundant code in gmalloc.c
40040         9afea93 Attempt to catch reads from a buffer that is relocated
40042 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
40044         Minor fix in the documentation of seq-random-elt
40046         * doc/lispref/sequences.texi (Sequence Functions): Remove false
40047           sentence.
40049 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
40051         Minor copyedits in documentation of 'seq-random-elt'
40053         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
40054         last change.  Use 2 spaces between sentences.
40056 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
40058         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
40060 2016-10-25  Damien Cassou  <damien@cassou.me>
40062         Add seq-random-elt to seq.el
40064         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
40065           random element from it's sequence parameter.
40067         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
40068           test-seq-random-elt-return-nil): Test the new function
40070         * doc/lispref/sequences.texi: Document the new function
40072 2016-10-24  Ken Brown  <kbrown@cornell.edu>
40074         * configure.ac: Stop using mmap for buffers on Cygwin.
40076 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
40078         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
40080 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
40082         Don't prompt user when killing Flymake processes
40084         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
40085         Don’t prompt the user when killing Flymake processes.
40087         * doc/misc/flymake.texi (Starting the syntax check process):
40088         Document new behavior.
40090 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
40092         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
40094         This finishes the merge of the recent emacs-25 regex changes into
40095         master.
40097 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
40099         Merge from origin/emacs-25
40101         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
40102         6f1325e electric-quote mode no longer worries about coding
40103         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
40104         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
40105         b2ba630 Explain how to debug emacsclient lisp errors
40106         9da53e2 Let describe-function work for lambda again
40107         5c2da93 Fix kill-line's docstring
40108         ad66b3f Fix handling of allocation in regex matching
40109         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
40110         3877c91 vc-region-history: Search just on lines intersecting the region
40111         8988327 Fix documentation of 'alist-get'
40112         b6998ea * src/regex.h (re_match_object): Improve commentary.
40114         # Conflicts:
40115         #       etc/NEWS
40116         #       lisp/help-fns.el
40118 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
40120         Merge from origin/emacs-25
40122         8ad0d7d ; Fix quoting in etc/NEWS
40123         6b9dee1 Change Tramp version to "2.2.13.25.2"
40124         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
40125         b2f32e4 Don't scan compiled module files for autoloads
40126         9a758b4 Fix Bug#24698
40127         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
40128         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
40129         12da149 Update URL of MS-Windows optional DLLs
40130         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
40131         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
40132         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
40133         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
40135         # Conflicts:
40136         #       doc/misc/trampver.texi
40137         #       etc/NEWS
40138         #       lisp/net/tramp-sh.el
40139         #       lisp/net/trampver.el
40141 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
40143         Merge from origin/emacs-25
40145         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
40146         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
40147         993acb5 ; Minor fix for last change in characters.el
40148         30c4bb5 More char-width fixes
40149         4eb4463 Fix char-width-table values for some Emoji
40150         528997d Keep point when switching from and to *terminal* buffer
40151         2130005 * INSTALL: Use correct Emacs release number 25.
40152         10835b1 Avoid crashes due to objects read with the #n=object form
40153         4de671d Improve doc string of 'completion-at-point-functions'
40154         ceb46f0 Fix crash in evaluating functions
40155         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
40157 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
40159         Merge from origin/emacs-25
40161         2deb20c Port last_marked change to full-program optimizers
40162         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
40163         dac64e3 Avoid optimizing out the last_marked[] array
40165 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
40167         Avoid infinite hscrolling in redisplay
40169         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
40170         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
40171         redisplay (Bug #24633).
40173 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
40175         Fix error codes in Tramp
40177         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
40178         taken from tramp.el.
40179         (tramp-file-missing): New defconst.
40181         * lisp/net/tramp.el (tramp-user-error): Remove it.
40182         (tramp-check-proper-method-and-host)
40183         (tramp-dissect-file-name, tramp-debug-message)
40184         (tramp-handle-shell-command):
40185         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
40186         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
40187         Use `tramp-compat-user-error'.
40189         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
40190         (tramp-handle-load):
40191         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
40192         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
40193         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
40194         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
40195         Use `tramp-file-missing'.  (Bug#24714)
40197         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
40198         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
40199         Use `file-already-exists'.
40201 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
40203         Autoload all commands from misc.el
40205         Only two of the commands there were autoloaded, one of which is an
40206         easter egg.
40207         * lisp/misc.el (copy-from-above-command):
40208         * lisp/misc.el (zap-up-to-char):
40209         * lisp/misc.el (mark-beginning-of-buffer):
40210         * lisp/misc.el (mark-end-of-buffer):
40211         * lisp/misc.el (upcase-char):
40212         * lisp/misc.el (forward-to-word):
40213         * lisp/misc.el (backward-to-word):
40214         Add autoload cookie.
40216 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
40218         On terminal frames ignore minibuffer frame parameter (Bug#24758)
40220         * src/frame.c (Fmake_terminal_frame): Don't complain when the
40221         caller asks for a deviant minibuffer setting (Bug#24758).
40223 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
40225         New error file-missing
40227         This fixes a recently-introduced bug in delete-directory,
40228         where the code assumes the C locale when determining
40229         whether a file-error corresponds to a missing file (Bug#24714).
40230         * doc/lispref/errors.texi (Standard Errors):
40231         * doc/lispref/files.texi (Changing Files):
40232         * etc/NEWS:
40233         Document this.
40234         * doc/lispref/loading.texi (How Programs Do Loading):
40235         Say "a file-error" rather than "the error file-error" since
40236         it might be a file-missing now.
40237         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
40238         * lisp/epa-file.el (epa-file--find-file-not-found-function):
40239         (epa-file-insert-file-contents, epa-file-write-region):
40240         * lisp/ffap.el (find-file-at-point, dired-at-point):
40241         * lisp/jka-compr.el (jka-compr-insert-file-contents)
40242         (jka-compr-insert-file-contents):
40243         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
40244         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
40245         * lisp/progmodes/etags.el (visit-tags-table):
40246         * lisp/url/url-handlers.el (url-copy-file):
40247         * src/fileio.c (report_file_errno):
40248         Signal file-missing if appropriate.
40249         * lisp/epa-file.el (epa-file-insert-file-contents):
40250         * lisp/jka-compr.el (jka-compr-insert-file-contents):
40251         Don't assume file-error is a leaf in the error hierarchy.
40252         * lisp/files.el (files--force):
40253         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
40254         * lisp/jka-compr.el (jka-compr-insert-file-contents):
40255         Use file-missing to detect whether the file is missing.
40256         * lisp/url/url-handlers.el (url-copy-file):
40257         Signal file-already-exists if appropriate.
40258         * src/fileio.c (syms_of_fileio): Define file-missing.
40260         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
40262 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
40264         Teach browse-url to open man page urls
40266         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
40267         (browse-url): Add a condition to catch links matching "^man:".
40268         (browse-url-man): New function.
40270 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
40272         Improve fontification of footnote references in Info buffers
40274         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
40275         in parentheses as if they were footnote references.  See
40276         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
40277         for the details.
40279 2016-10-20  Philipp Stephani  <phst@google.com>
40281         Minor fixes to cc-mode-tests.el
40283         See Bug#24747.
40285         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
40286         file-local variable; add comments to make checkdoc happy.
40288 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
40290         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
40292 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
40294         Document, how to suppress iTerm2 shell integration in Tramp
40296         * doc/misc/tramp.texi (Frequently Asked Questions):
40297         Suppress iTerm2 shell integration.
40299 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
40301         cl-seq: Remove max limit on input sequence length
40303         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
40304         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
40305         Remove limit on maximum length for the input sequence
40306         (#Bug24264).
40307         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
40309 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
40311         Derive dig-mode from special-mode
40313         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
40314         mode-class assignment.
40315         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
40316         (dig-mode): Derive from special-mode.
40317         (dig-exit): Use quit-window instead.
40318         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
40319         (query-dig): Use pop-to-buffer-same-window.
40321 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
40323         cl-defstruct: Fix debug spec and check of slot options
40325         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
40326         option syntax.  Fix debug spec.  (Bug#24700)
40328 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
40330         isearch: Fix bug in defstruct syntax
40332         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
40333         options.  (Bug#24685)
40335 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
40337         Add an option for eshell-input-filter
40339         * etc/NEWS: Document changes.
40340         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
40341         symbol.  Change type to a radio for choosing functions.  Refer to both
40342         new functions.
40343         (eshell-input-filter-default): New function.  Same body as the previous
40344         value of eshell-input-filter.
40345         (eshell-input-filter-initial-space): New function.
40347 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
40349         delete-directory no longer errors when racing
40351         Problem reported by Glenn Morris for package-test.el (Bug#24714).
40352         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
40353         * lisp/files.el (files--force): New function.
40354         (delete-directory): Use it to avoid error in this case.
40356 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
40358         Support Shift selection in nxml-mode commands
40360         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
40361         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
40362         (nxml-backward-down-element, nxml-forward-element)
40363         (nxml-backward-element, nxml-forward-paragraph)
40364         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
40365         support shift-selection.
40367 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
40369         Simplify some loops and cons
40371         * lisp/net/mailcap.el: Replace cl with cl-lib.
40372         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
40373         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
40374         (mailcap-possible-viewers): Use push and dolist where possible.
40375         (mailcap-viewer-passes-test): Remove unused binding.
40376         (mailcap-add-mailcap-entry): Use push.
40377         (mailcap-mime-info): Remove unused binding.  Use push.
40378         (mailcap-parse-mimetypes): Use dolist.
40380 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
40382         Turn on lexical-binding in auth-source
40384         * lisp/auth-source.el: Turn on lexical-binding.
40385         (auth-source-netrc-parse, auth-source-netrc-normalize):
40386         (auth-source-token-passphrase-callback-function):
40387         (auth-source-netrc-create, auth-source-secrets-search):
40388         (auth-source-macos-keychain-search-items):
40389         (auth-source-plstore-search): Use let instead of lexical-let.
40391 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
40393         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
40395         * src/frame.c (do_switch_frame): Redirect frame focus also when
40396         the frame switched to has its minibuffer window on the selected
40397         frame.
40398         * src/window.c (candidate_window_p): To qualify as candidate
40399         it's not sufficient for the window's frame to just share the
40400         minibuffer window - it must be active as well.
40402 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
40404         Fix time-related data types in 2 editfns.c functions
40406         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
40407         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
40408         instead of relying on struct timespec's 'tv_sec' member to be of
40409         compatible type.
40411 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
40413         Document atomic windows in Elisp manual (Bug#18170)
40415         * lisp/window.el (display-buffer-in-atom-window): If no `side'
40416         alist entry was specified, use `below' as the doc tells.
40417         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
40418         * doc/lispref/windows.texi (Atomic Windows): New section.
40419         (Window Parameters): Update reference.
40421 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40423         New face homoglyph
40425         Suggested by Eli Zaretskii, from a feature request by
40426         Alan Mackenzie (Bug#24468).
40427         * doc/emacs/display.texi (Standard Faces, Text Display):
40428         * etc/NEWS: Document this.
40429         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
40430         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
40431         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
40432         * etc/themes/wombat-theme.el:
40433         Customize homoglyph to be the same as escape-glyph.
40434         * lisp/cus-theme.el (custom-theme--listed-faces):
40435         Add homoglyph.
40436         * lisp/faces.el (homoglyph): New face.
40437         * lisp/startup.el (startup--setup-quote-display): Use it.
40439 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40441         Port to Ubuntu 16.10, which needs gcc -nopie
40443         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
40444         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
40445         preference to -nopie (Bug#24682).
40447 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
40449         Fix bug#24665 in Tramp
40451         * doc/misc/tramp.texi (External methods): Do not confuse
40452         method names.  (Bug#24665)
40454 2016-10-15  Sam Steingold  <sds@gnu.org>
40456         use full time objects (lists) instead of floats when possible
40458         * lisp/midnight.el (midnight-buffer-display-time): Remove
40459         (clean-buffer-list): Use float time only for time comparison
40461 2016-10-15  Sam Steingold  <sds@gnu.org>
40463         Save and restore buffer-display-time
40465         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
40466         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
40467         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
40469 2016-10-15  Philipp Stephani  <phst@google.com>
40471         Disable bracketed paste in a terminal in char mode
40473         In char mode, a terminal doesn't accept bracketed paste events,
40474         therefore we should disable them; see Bug#24639.  To decouple the XTerm
40475         management from term.el, introduce a per-buffer setting to disable
40476         bracketed paste for that buffer.  If bracketed paste is inhiited for at
40477         least one buffer in a terminal, it is disabled for the whole terminal.
40479         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
40480         inhibit XTerm bracketed paste per buffer.
40481         (xterm--buffer-terminals, xterm--update-bracketed-paste)
40482         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
40483         functions.
40484         (xterm--init-bracketed-paste-mode): Remove unused helper
40485         function.
40486         (terminal-init-xterm): Update bracketed paste status when
40487         initializing an XTerm and on window configuration change.
40489         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
40490         bracketed paste in char mode.
40492 2016-10-15  Dima Kogan  <dima@secretsauce.net>
40494         Undo the effect of CapsLock when other modifiers are present
40496         * src/keyboard.c (make_lispy_event): Effectively undo the effect
40497         of CapsLock if any modifiers other than Shift are present in a key.
40498         (Bug#24456)
40500 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
40502         Add tests for foreign completions in CSS mode
40504         * test/lisp/textmodes/css-mode-tests.el
40505         (css-test-foreign-completions): New test for
40506         `css--foreign-completions'.
40507         (css-test-complete-selector-tag): Rename test.
40508         (css-test-complete-selector-class): New test testing completion of
40509         class names in selectors.
40510         (css-test-complete-selector-id): New test testing completion of IDs in
40511         selectors.
40513 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
40515         Cosmetic change to last mm-url change
40517         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
40518         Tweak last change slightly for more readability.
40520 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
40522         Fix problem with submitting binary data via HTTP forms
40524         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
40525         Document the parameters, clean up the code, and make uploading
40526         binary data really work (which it didn't if the binary bits
40527         were in the last part of the data).
40529 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
40531         * lisp/time.el (display-time-string-forms): Fix custom type.
40533 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
40535         Derive Man and WoMan modes from special-mode
40537         * lisp/man.el (Man-mode-map): Set parent to map composed from both
40538         button-buffer-map and special-mode-map.  Remove redundant bindings.
40539         Fix menu to refer to the quit-window command.
40540         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
40541         buffer-read-only binding.
40542         (Man-quit): Remove.
40543         * lisp/woman.el (woman-really-find-file): Use setq-local.
40544         (woman-mode-map): Refer to woman-mode in docstring.
40545         (woman-mode): Derive from special-mode.  Document woman-mode-map in
40546         docstring.  Use setq-local where possible; imenu-generic-expression is
40547         already buffer-local.
40548         (woman-negative-vertical-space): Replace unused binding with _.
40550 2016-10-13  Philipp Stephani  <phst@google.com>
40552         Fix crash in evaluating functions
40554         See Bug#24673
40556         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
40557         as (closure).
40559         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
40561 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
40563         Add test for Bug#24627
40565         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
40567 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
40569         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
40571 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40573         Work around Samba bug with ':' in symlink contents
40575         * src/filelock.c (current_lock_owner): When reading the contents
40576         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
40578 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
40580         If autoloads buffer is unchanged, mark it as such (bug#23692)
40582         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
40583         If autoloads buffer is unchanged, mark it as such (bug#23692).
40585 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
40587         Use "26.1" version string in Tramp, fix some comments
40589         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
40590         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
40591         Use "26.1" version string.
40593 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
40595         form-at-point work for all kind of THINGS
40597         * lisp/thingatpt.el (form-at-point):
40598         Use thing-at-point--read-from-whole-string only if thing-at-point
40599         returns a string (Bug#24605).
40601 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
40603         Fix compilation warnings on MS-Windows
40605         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
40606         definitions of these macros, which seem to be unneeded and cause
40607         compiler warnings.
40608         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
40609         macros.
40610         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
40611         make it external, to avoid compiler warning.
40613 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40615         Spelling and clarity fixes
40617 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40619         Merge from origin/emacs-25
40621         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
40622         44e402e Allow to disable compaction of font caches
40623         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
40624         c03d44b ; Fix last commit
40625         d4be4f3 ; Fix indexing in lispref manual
40626         ed399f2 ; Minor improvement in documentation of generators
40627         197a6bc Fix horizontal scrolling during Isearch
40628         3566644 Fix infloop in redisplay due to truncated lines and invisible...
40630         # Conflicts:
40631         #       etc/NEWS
40633 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40635         Merge from origin/emacs-25
40637         c4a5e7e Improve documentation of 'menu-bar-open'
40639 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40641         Merge from origin/emacs-25
40643         4b347fe Clarify that doc fixes are okay in feature freeze
40644         01669ad Avoid crashes when setting the cursor
40645         f2144ee Restore 'command-debug-status' functionality
40646         ec6e4b9 ; Minor addition to CONTRIBUTE
40648 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40650         Merge from origin/emacs-25
40652         74b4f13 Document nil args of compare-buffer-substrings
40653         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
40654         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
40656 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40658         Merge from origin/emacs-25
40660         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
40661         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
40662         bbf1ffd Regexp Functions doc minor fixes
40664 2016-10-08  Philipp Stephani  <phst@google.com>
40666         Don’t consider nested let-alist forms
40668         See Bug#24641.
40670         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
40671         consider symbols in nested ‘let-alist’ forms.
40673         * test/lisp/emacs-lisp/let-alist-tests.el
40674         (let-alist--deep-dot-search--nested): Add a unit test.
40676 2016-10-08  Alain Schneble  <a.s@realize.ch>
40678         Support SIGTRAP in kill emulation on Windows
40680         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
40681         'DebugBreakProcess' to cause a breakpoint exception to occur in the
40682         specified process.  On Windows versions prior to Windows XP that do
40683         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
40684         (as opposed to EINVAL before this change).
40685         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
40686         and global variable to track state of run-time dynamic linking of this
40687         function.
40689         * etc/NEWS: Add entry to document that 'signal-process' now supports
40690         SIGTRAP.
40692 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
40694         Deprecate 'wp' group and introduce a new group 'text'
40696         * lisp/textmodes/tildify.el (tildify):
40697         * lisp/textmodes/text-mode.el (text-mode-hook):
40698         * lisp/textmodes/table.el (table):
40699         * lisp/textmodes/rst.el (rst):
40700         * lisp/textmodes/refer.el (refer):
40701         * lisp/textmodes/refbib.el (refbib):
40702         * lisp/textmodes/picture.el (picture):
40703         * lisp/textmodes/nroff-mode.el (nroff):
40704         * lisp/textmodes/enriched.el (enriched):
40705         * lisp/textmodes/bib-mode.el (bib):
40706         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
40707         * lisp/nxml/rng-valid.el (relax-ng):
40708         * lisp/view.el (view):
40709         * lisp/ps-print.el (ps-print):
40710         * lisp/printing.el (printing):
40711         * lisp/outline.el (outlines):
40712         * lisp/lpr.el (lpr):
40713         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
40714         * lisp/cus-edit.el (wp): Remove the "text" tag.
40715         (text): New defgroup, inherits from the deprecated 'wp'.
40716         (outlines): Remove, in favor of the definition in outline.el.
40717         (tex): Inherit from 'text'.
40718         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
40720 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
40722         Extend dictionary and library-directory handling for Ispell
40724         * lisp/textmodes/ispell.el (ispell-check-version): Allow
40725         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
40726         ISPELL_DICTDIR).
40727         (ispell-valid-dictionary-list): If the -d option to Ispell
40728         specifies an absolute file name, use that regardless of
40729         ispell-library-directory.  (Bug#24439)
40731 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
40733         Fix unescaped \begin{...} in docstring
40735         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
40736         \begin{...} in docstring.
40738 2016-10-06  Noah Friedman  <friedman@splode.com>
40740         Update comment.
40742 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
40744         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
40746         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
40747         defining to avoid redefinition warnings.
40749         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
40750         inclusion of sys/stat.h from the system headers, which could then
40751         lead to compilation errors due to redefinition of 'struct stat'
40752         etc.  This is needed because latest versions of MinGW runtime
40753         include sys/stat.h from wchar.h.
40755         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
40756         redefine to 4 to avoid conflict between 2 definitions of
40757         MemoryBarrier.  (Bug#24613)
40759 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40761         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
40763 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40765         Autoload entry point testcover-start
40767         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
40768         testcover-start.
40770 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40772         Bump version of ntlm.el to 2.1.0
40774         * lisp/net/ntlm.el: Bump version to 2.1.0.
40776 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40778         lisp/net/ntlm.el: Fix comment and docstring formatting
40780 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40782         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
40784         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
40785         "negotiate domain supplied" bit when a domain is supplied.  Do
40786         not set "negotiate workstation supplied" bit.
40787         (ntlm-build-auth-response): Set domain to empty string by
40788         default.  Set workstation name to "WORKSTATION".  Set flags to
40789         logical and of Type 1 and Type 2 message flags.  Remove four
40790         trailing 0 bytes.  Always set LM response.  Hard-code domain
40791         offset.  Reorder buffer fields.
40793 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40795         Document return value of `display-buffer-in-side-window'
40797         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
40798         * lisp/window.el (display-buffer-in-side-window): Describe
40799         return value of `display-buffer-in-side-window'.
40801 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
40803         Improve wording in side windows documentation
40805         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
40806         (Side Window Options and Functions)
40807         (Frame Layouts with Side Windows): Minor wording improvements.
40809 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40811         Document and fix some bugs with side windows
40813         Add a documentation for side windows and fix some bugs
40814         found when testing their behavior.  Also add a new window
40815         parameter `no-delete-other-window', a new `display-buffer'
40816         alist member called `window-parameters', and functions to
40817         toggle and reverse side windows on a frame.  Add new function
40818         `window-swap-states' to exchange states of two live windows.
40820         * lisp/window.el (display-buffer-in-atom-window): Use
40821         `split-window-no-error'.
40822         (window-sides-vertical): Maybe change layouts when setting this
40823         variable.
40824         (window-sides-reversed): New option.
40825         (window-sides-slots): Rewrite doc-string and help echoes.
40826         (window-sides-shown): New buffer-local variable set when showing
40827         a buffer in a side window.
40828         (window--sides-inhibit-check): New variable.
40829         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
40830         (window--sides-reverse-all, window--sides-reverse-frame)
40831         (window--sides-reverse-side, window--sides-reverse)
40832         (window--sides-verticalize-frame, window--sides-verticalize)
40833         (window--sides-check-failed): New functions.
40834         (window--side-window-p): Remove function.
40835         (window--major-non-side-window): Rename to `window-main-window',
40836         adjust callers, rewrite doc-string.
40837         (window--major-side-window): Rename to
40838         `window--make-major-side-window-next-to', adjust caller, fix
40839         doc-string.
40840         (display-buffer-in-major-side-window): Rename to
40841         `window--make-major-side-window', adjust
40842         caller, rewrite doc-string.  Make `window-side' and
40843         `window-slot' parameters persistent (Bug#23858).  Don't set
40844         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40845         (delete-side-window): Remove function.
40846         (display-buffer-in-side-window): Fix doc-string.  Don't set
40847         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40848         (window--side-check): Rename to window--sides-check.  Rewrite
40849         completely.  Adjust caller.
40850         (window-resize-no-error): Don't describe PIXELWISE argument.
40851         (adjust-window-trailing-edge): Fix bug that disallowed
40852         re-enlarging windows that were too small.
40853         (window-deletable-p): Don't tell that a minibuffer window on a
40854         non-minibuffer-only frame can be deleted.  Fix doc-string.
40855         (delete-window): Handle deleting a side window here (the
40856         `delete-window' parameter is no more set for side windows).
40857         (delete-other-windows): Handle ‘no-delete-other-window'
40858         parameter. Don't treat side windows separately (see discussion
40859         of Bug#24368) but keep optimization that makes the main window
40860         the root window of its frame.
40861         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
40862         windows and buffers shown in side windows separately.
40863         (split-window-no-error): New function.
40864         (window--state-get-1): Use right buffer when storing window
40865         point and start positions and WRITABLE is nil (Bug#24368).
40866         (window--state-put-1): Fix handling of `window-combination-limit'.
40867         Use `split-window-no-error'.
40868         (window--state-put-2): Try to restore windows with preserved
40869         size to their original size.  Fix bug where a fixed window's width
40870         was not preserved.
40871         (window-state-put): When reducing an internal window to a live
40872         one, don't choose a side window.
40873         (window-swap-states): New function.
40874         (window-splittable-p): Don't call `window--side-window-p'.
40875         (window--display-buffer): Handle `window-parameters' ALIST entry.
40876         Minor rewrite.
40877         (display-buffer): Mention `window-parameters' entry in
40878         doc-string.
40879         (display-buffer-at-bottom): Call `split-window-no-error'.
40881         * doc/lispref/elisp.texi (Top): New section "Side Windows".
40882         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
40883         of `delete-window' and `delete-other-windows' wrt window
40884         parameters and side windows.
40885         (Display Action Functions): Mention `window-parameters' ALIST
40886         entry.
40887         (Side Windows): New section (Bug#18170).
40888         (Window Configurations): Describe new function `window-swap-states'.
40889         (Window Parameters): Say that functions may behave specially when
40890         their homonymous window parameter has been set.  Mention new
40891         parameter `no-delete-other-window'.  Add cross reference for
40892         `window-side' and `window-slot' parameters.
40894 2016-10-04  John Wiegley  <johnw@newartisans.com>
40896         Add documentation note from Alex
40898 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
40900         Avoid dynamic binding on a symbol
40902         Instead, bind history in the default minibuffer-history.
40903         Fixes bug#24580.
40904         * lisp/replace.el (query-replace-read-from): Let-bind
40905         minibuffer-history.  Change read-regexp and read-from-minibuffer's
40906         HISTORY arguments to nil so that they use minibuffer-history.
40908 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
40910         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
40912         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
40913         deleting the old buffer content.
40914         * src/lisp.h (del_range_byte):
40915         * src/insdel.c (del_range_byte): Drop the last argument.
40916         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
40918 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40920         Ibuffer: 'w' and 'B' default to buffer at current line
40922         See discussion in:
40923         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
40924         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
40925         return buffers near current line.
40926         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
40927         Add argument ARG; if a non-zero integer, return next ARG buffers.
40928         Otherwise return the marked buffers.
40929         If there are not marked buffers, return buffer at current line
40930         without prompting the user.
40931         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
40932         Append to kill ring when last command was a kill-region.
40933         (ibuffer-copy-filename-as-kill): Idem.
40934         Simplify the code.
40935         Use ibuffer-buffer-file-name instead of buffer-file-name to
40936         include buffers in Dired mode.
40938 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40940         dired-mark-extension: Unmark if called with C-u prefix
40942         See discussion in #Bug2518 and:
40943         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
40944         * lisp/dired-x.el (dired-mark-extension):
40945         Update interactive calls: a prefix arg C-u unmark files;
40946         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
40947         (dired-mark-sexp):
40948         Show in the prompt that we are unmarking if called with a prefix argument.
40949         * doc/misc/dired-x.texi (Advanced Mark Commands):
40950         Update documentation for 'dired-mark-extension'.
40952 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
40954         Document yank behavior in the right place
40956         * lisp/simple.el (yank): Document the handling of the
40957         `yank-handled-properties' and `yank-excluded-properties' variables,
40958         and the `yank-handler' text property.
40959         (yank-pop): Refer to `yank' now (bug#286)
40961         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
40962         (insert-for-yank-1): Refer to `insert-for-yank' now.
40964         See this thread for discussion:
40966           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
40967           From: Karl Fogel
40968           To: Emacs Devel
40969           Subject: Question about intended behavior of 'insert-for-yank-1'.
40970           Date: Mon, 12 Sep 2016 00:17:14 -0500
40971           Message-ID: <874m5lr92d.fsf@red-bean.com>
40973 2016-10-02  Philipp Stephani  <phst@google.com>
40975         Restart blink cursor timers on interval changes
40977         This prevents surprising behavior when timer interval customizations are
40978         only applied whenever the timers happen to be restarted (see Bug#24372).
40980         * lisp/frame.el (blink-cursor--start-idle-timer)
40981         (blink-cursor--start-timer): New functions.
40982         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
40983         the new helper functions.
40984         (blink-cursor-delay, blink-cursor-interval): Restart timers when
40985         the value is changed.
40987 2016-10-01  Philipp Stephani  <phst@google.com>
40989         Use a simple keyword for a non-nil argument
40991         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
40992         and non-nil values are distinguished.  Passing a number here is
40993         confusing.  Pass a descriptive symbol instead.
40995         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
40996         :repeat symbol instead of number for second argument of
40997         `run-with-idle-timer'
40999 2016-10-01  Philipp Stephani  <phst@google.com>
41001         Make querying to kill processes customizable
41003         Introduce a new customization option, `confirm-kill-processes', that
41004         users can set to nil if they don't want Emacs to nag them about killing
41005         processes.
41007         * lisp/files.el (confirm-kill-processes): New customization option.
41008         (save-buffers-kill-emacs): Use customization option.
41010         * test/lisp/files-tests.el
41011         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
41012         test for new customization option.
41014         * doc/emacs/entering.texi (Exiting): Document new user option.
41016         * doc/lispref/processes.texi (Query Before Exit): Document new
41017         user option.
41019         * etc/NEWS: Document new user option.
41021 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
41023         Set :version of 'debugger-stack-frame-as-list'
41025         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
41026         the ':version' attribute.
41028 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
41030         Bump Emacs version to 26.0.50
41032         * README:
41033         * configure.ac:
41034         * etc/NEWS:
41035         * etc/refcards/ru-refcard.tex:
41036         * msdos/sed2v2.inp:
41037         * src/msdos.c: Increment Emacs version to 26.0.50.
41038         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
41039         moved to etc/NEWS.
41041 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
41043         Avoid compilation warning on MinGW
41045         * src/w32.c: Include string.h, needed for the prototype of
41046         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
41047         warning about "no previous prototype".  The string.h header
41048         must be included after ms-w32.h, but before "#undef strerror".
41050 2016-09-30  Alan Third  <alan@idiocy.org>
41052         Fix compatibility with macOS 10.12 pmset (bug#24537)
41054         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
41055         present in output.
41057 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
41059         Limit <config.h>’s includes
41061         This follows up on recent problems with the fact that config.h
41062         includes stdlib.h etc.; some files need to include stdlib.h later.
41063         config.h generally should limit itself to includes that are
41064         universally safe; outside of MS-Windows, only stdbool.h makes
41065         the cut among the files currently included.  So, move the
41066         other includes to just the files that need them (Bug#24506).
41067         * configure.ac (config_opsysfile): Remove, as this generic hook
41068         is no longer needed.
41069         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
41070         * src/w32proc.c (_GNU_SOURCE):
41071         Remove, as it’s OK for config.h to do this now.
41072         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
41073         config_opsysfile, for simplicity as this old way of configuring is
41074         now done only for the MS-Windows port.  Do not include <ms-w32.h>
41075         if DEFER_MS_W32_H, for the benefit of the few files that want its
41076         effects later.  Do not include <alloca.h>, <string.h>, or
41077         <stdlib.h>.  Other files modified to include these headers as
41078         needed, or to not include headers that are no longer needed.
41079         * src/lisp.h: Include <alloca.h> and <string.h> here, since
41080         some of the inline functions need them.
41081         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
41082         we can rely on SAFE_ALLOCA.)  There is no longer any need to
41083         worry about HAVE_ALLOCA_H.
41084         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
41085         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
41086         Define before including <config.h> first, and include <ms-w32.h>
41087         after the troublesome headers.
41089 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
41091         New user option 'debugger-stack-frame-as-list'
41093         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
41094         variable.
41095         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
41096         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
41097         backtrace processing for the value of debugger-stack-frame-as-list.
41098         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
41099         processing for the value of debugger-stack-frame-as-list.
41100         * doc/lispref/debugging.texi (Internals of Debugger): Document
41101         debugger-stack-frame-as-list.
41102         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
41104 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
41106         * src/alloc.c: call only non-null finalizers
41108 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
41110         Avoid compiler warnings in image.c on MS-Windows
41112         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
41113         warning about unused macros.
41115 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
41117         * lisp/outline.el (outline-invisible-p): Only return `t' for
41118         the 'outline property.
41120 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41122         Fix problems found by static checking --with-ns
41124         This is for Fedora 24 when configured with --enable-gcc-warnings.
41125         Although it does not fix all the problems, it fixes many of them.
41126         * src/frame.c (XParseGeometry):
41127         * src/nsterm.m (mouseDown:):
41128         Mark locals with UNINIT to pacify --enable-gcc-warnings.
41129         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
41130         Remove unused macros.
41131         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
41132         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
41133         (xpm_put_color_table_v, xpm_get_color_table_v)
41134         (xpm_make_color_table_h, xpm_put_color_table_h)
41135         (xpm_get_color_table_h, xpm_load_image, xpm_load)
41136         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
41137         (svg_load_image):
41138         * src/nsfns.m (x_get_string_resource):
41139         * src/nsimage.m (ns_image_from_XBM):
41140         Fix pointer signedness problems.
41141         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
41142         (imagemagick_load_image): Omit unused locals.
41143         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
41144         (Fx_open_connection):
41145         * src/nsfont.m (ns_antialias_threshold):
41146         Move extern decl to nsterm.h so it can be checked.
41147         * src/nsmenu.m (svcsMenu, dockMenu):
41148         Move to the only file that uses them, so they can be static.
41149         * src/nsterm.h (find_and_call_menu_selection):
41150         * src/nsterm.m (x_set_frame_alpha):
41151         Omit duplicate decls.
41152         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
41153         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
41154         (ns_set_name_as_filename, x_set_menu_bar_lines)
41155         (x_set_tool_bar_lines, x_set_internal_border_width):
41156         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
41157         Now static.
41158         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
41159         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
41160         Remove; unused.
41161         * src/nsfont.m (ns_dump_glyphstring):
41162         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
41163         (ns_clear_frame, keyDown:):
41164         Fix signedness problem with printf arg.
41165         * src/nsterm.h (ns_input_events, ns_finish_events):
41166         * src/nsterm.m (ns_finish_events, hide_bell):
41167         Prototype the decls.
41168         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
41169         Omit unnecessary decl.
41170         (dockMenu):
41171         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
41172         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
41173         (toggleFullScreen:): Use FACE_FROM_ID instead of
41174         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
41175         result to be non-null.
41176         (applicationShouldTerminate:): Fix misleading indentation.
41178 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
41180         Turn on more lexical-binding
41182         * lisp/dom.el:
41183         * lisp/faces.el:
41184         * lisp/htmlfontify.el: Turn on lexical-binding.
41185         (htmlfontify-string): Use pushnew instead of add-to-list.
41186         * lisp/info-xref.el:
41187         * lisp/isearch.el:
41188         * lisp/man.el:
41189         * lisp/ps-def.el:
41190         * lisp/ps-print.el:
41191         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
41192         time.
41193         (multi-occur): Use cl-pushnew instead of add-to-list.
41194         (replace-match-string-symbols): Remove unused lexical variable.
41195         (replace-search, replace-highlight): Fix argument shadowing.
41196         * lisp/sort.el:
41197         * lisp/xml.el: Turn on lexical-binding.
41198         (xml--parse-buffer): Use push instead of add-to-list.
41199         * lisp/xt-mouse.el: Turn on lexical-binding.
41201 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
41203         * admin/notes/bug-triage: Do not mention closed bugs
41205         * admin/notes/bug-triage: Do not mention closed bugs, they are
41206         suppressed by default in debbugs-{gnu,org}.
41208 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
41210         * etc/PROBLEMS: Remove problem Bug#22814, again.
41212 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41214         Stick with debbugs-supported tags in triage
41216         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
41217         debbugs supports, rather than suggesting "doneunreproducible" or
41218         "unreproducable".
41220 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41222         Merge from origin/emacs-25
41224         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
41225         c14a1d4 Minor copyedits of MS-Windows installation instructions
41226         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
41228         # Conflicts:
41229         #       lisp/minibuffer.el
41231 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41233         Merge from origin/emacs-25
41235         0ae9a81 Document 'timerp'
41236         2c72c46 Improve documentation of overlay priorities
41237         f6fa160 Fix 'dired-compress-files'
41238         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
41240         # Conflicts:
41241         #       lisp/dired.el
41242         #       src/buffer.h
41243         #       src/character.h
41245 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41247         Merge from origin/emacs-25
41249         cf9e174 Document the optional zlib library in MS-Windows builds
41250         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
41251         73c67dd Fix tagging of DEFUN by etags
41252         ea1960b Avoid resetting track-mouse by mouse clicks
41253         505fef3 Improve nt/README.W32 instructions
41254         1229cc4 Document that desktop file overrides frame parameters
41255         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
41257         # Conflicts:
41258         #       ChangeLog.2
41259         #       admin/notes/unicode
41260         #       lisp/ldefs-boot.el
41262 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41264         Merge from origin/emacs-25
41266         0ffc9ce Update admin/authors.el
41267         0ad7410 Update Antinews in ELisp manual
41268         ea0f750 Fix comments on window height macros
41269         0bbdeed Fix 'url-http-create-request' when cookies are used
41270         0045998 Fix cross reference in frames.texi
41271         1392894 ; * etc/DEBUG: Minor copyedits.
41272         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
41273         56bf7d7 Fix regexp-opt documentation (bug #17862)
41274         803ad6f ; Fix documentation of seq-subseq
41275         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
41276         88ea396 ; Spelling fixes
41277         17197d0 Fix tags-query-replace docstring
41278         80a7f8b Clarify documentation of precision in format specs
41279         88a5052 Improve and clarify documentation of subprocesses
41280         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
41282         # Conflicts:
41283         #       etc/PROBLEMS
41284         #       src/process.c
41286 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
41288         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
41290 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41292         Fix 'dired-mark-extension' with prefix argument
41294         * lisp/dired-x.el (dired-mark-extension): Allow to specify
41295         MARKER-CHAR interactively as a string, not as a character's
41296         codepoint.  (Bug#24518)
41298         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
41299         behavior when invoked with a prefix arg.
41301 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
41303         Support completion of classes and IDs in CSS mode
41305         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
41306         holding the function to call for retrieving completions of class
41307         names.
41308         (css-id-list-function): New variable holding the function to call for
41309         retrieving completions of IDs.
41310         (css--foreign-completions): New function for retrieving completions
41311         from other buffers.
41312         (css--complete-selector): Support completing HTML class names and IDs
41313         from other buffers in addition to completing HTML tags.
41315         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
41316         variable holding a cache for `html-current-buffer-classes'.
41317         (html--buffer-ids-cache): New variable holding a cache for
41318         `html-current-buffer-ids'.
41319         (html-current-buffer-classes): New function returning a list of class
41320         names used in the current buffer.
41321         (html-current-buffer-ids): New function returning a list of IDs used
41322         in the current buffer.
41323         (html-mode): Set `css-class-list-function' and `css-id-list-function'
41324         to `html-current-buffer-classes' and `html-current-buffer-ids'
41325         respectively.
41327 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41329         Update test suite files due to removal of test/lisp/legacy
41331         * test/README: Reference file-organization.org.
41332         * test/file-organization.org: Remove the description of files in
41333         the lisp/legacy/ directory.
41335 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41337         Incorporate syntax-tests in lisp-tests.
41339         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
41340         test/lisp/legacy/syntax-tests.el.
41341         * test/lisp/legacy/syntax-tests.el: File deleted.
41343 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41345         Incorporate occur-tests in replace-tests
41347         * test/lisp/replace-tests.el: Add tests from
41348         test/lisp/legacy/occur-tests.el.
41349         * test/lisp/legacy/occur-tests.el: File deleted.
41351 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41353         Incorporate lexbind-tests.el in bytecomp-test.el
41355         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
41356         test/lisp/legacy/lexbind-tests.el.
41357         * test/lisp/legacy/lexbind-tests.el: File deleted.
41359 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41361         Improve integer overflow handling a bit
41363         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
41364         The machine code is the same on my platform.
41365         * src/doprnt.c (doprnt):
41366         * src/emacs-module.c (module_funcall):
41367         * src/font.c (font_intern_prop):
41368         * src/keyboard.c (Frecursion_depth):
41369         * src/lread.c (read1):
41370         Use WRAPV macros instead of checking overflow by hand.
41371         * src/editfns.c (hi_time, time_arith, decode_time_components):
41372         * src/emacs-module.c (Fmodule_load):
41373         Simplify by using FIXNUM_OVERFLOW_P.
41374         * src/emacs-module.c: Include intprops.h.
41375         * src/xdisp.c (percent99): New function.
41376         (decode_mode_spec): Use it to simplify overflow avoidance and
41377         formatting of %p and %P.
41379 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41381         Incorporate core-elisp-tests in lisp-tests
41383         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
41384         test/lisp/legacy/core-elisp-tests.el.
41385         * test/lisp/legacy/core-elisp-tests.el: File removed.
41387 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
41389         Move coding-tests.el and decoder-test.el to their places
41391         * test/src/coding-tests.el: Added all the tests from
41392         test/lisp/legacy/decoder-tests.el.
41393         * test/lisp/legacy/decoder-tests.el: File deleted.
41395 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
41397         Use correct TYPE value for displaying error messages in (erc-display-message)
41399 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
41401         Bump the version to 25.2.50
41403         * README:
41404         * configure.ac:
41405         * etc/NEWS:
41406         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
41408 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
41410         ibuffer-do-view-other-frame: Display each buffer in a new frame
41412         * lisp/ibuffer.el (ibuffer-do-view-1):
41413         When TYPE equals 'other-frame, then display each buffer
41414         in a new frame (Bug#24086).
41416 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41418         Update from gnulib
41420         This incorporates:
41421         2016-09-22 stdint: port to GCC 7
41422         2016-09-22 limits-h, stdint: don't assume extensions
41423         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
41425 2016-09-22  Alan Mackenzie  <acm@muc.de>
41427         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
41429 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
41431         Port recent flexmember changes to NetBSD
41433         The NetBSD library supports localtime_rz directly, and without
41434         this change 'configure' omitted the flexmember test that is marked
41435         as conditional on localtime_rz.  Emacs now needs to use
41436         flexmember.m4 even when localtime_rz works.
41437         Problem reported by Thomas Klausner.
41438         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
41439         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41441 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
41443         * doc/misc/texinfo.tex: Copy from gnulib.
41445 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
41447         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
41449 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
41451         Use flexmembers on IBM XL C for AIX
41453         This removes a workaround where Emacs did not use flexible
41454         array members when compiled with IBM XL C.  Instead, avoid
41455         the problem by making the aliasing issues more obvious to
41456         this compiler.
41457         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
41458         * m4/flexmember.m4: Copy from gnulib.
41459         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
41460         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
41461         problem that would otherwise mess up code generated for flexible
41462         array members by IBM XL C for AIX, V12.1.
41463         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
41464         by gnulib code.
41466 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
41468         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
41470         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
41471         `tramp-drop-volume-letter' any longer, it causes collateral
41472         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
41474 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
41476         Port January __morecore changes to AIX 7.1
41478         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
41479         (__after_morecore_hook):
41480         * src/ralloc.c (__morecore):
41481         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
41482         not defined.  <malloc.h> does not declare these in AIX 7.1.
41484 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
41486         Define _GNU_SOURCE in files delaying config.h
41488         Problem reported by Richard Copley in:
41489         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
41490         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
41491         Define early.
41493 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
41495         Update the bidi test code and data
41497         * test/manual/BidiCharacterTest.txt: Import the version from
41498         Unicode Standard 9.0.0.
41499         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
41500         in the 4th field of the test data.
41502 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
41504         ibuffer-do-toggle-read-only: Fix unused argument
41506         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
41507         'read-only-mode' with ARG when its an integer.
41508         Clarify the meaning of ARG in doc string.
41510 2016-09-17  Alan Mackenzie  <acm@muc.de>
41512         Improve accuracy of line/column numbers in byte compiler's warning messages.
41514         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
41515         value of byte-compile-last-position is not lower than old value.
41516         (byte-compile-function-warn): call byte-compile-set-symbol-position.
41518 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
41520         Minor Tramp tweaks
41522         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
41523         property "process-buffer" if already existing.
41524         (tramp-connectable-p): Suppress debug messages.
41526 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41528         Define _GNU_SOURCE in unexmacosx.c
41530         Problem reported by Bob Halley in:
41531         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
41532         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
41534 2016-09-16  Alan Mackenzie  <acm@muc.de>
41536         C Mode: Fix mis-fontification of macro invocation as function declaration
41538         This happened with a macro invocation which was followed by a statement block
41539         in braces.
41541         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
41542         between contexts nil and top, being less permissive in the former case.
41543         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
41545 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41547         Improve the doc string of 'format'
41549         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
41550         of a literal period.  (Bug#24407)
41552 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41554         Improve doc strings in whitespace.el
41556         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
41557         (global-whitespace-mode, global-whitespace-newline-mode): Improve
41558         the doc strings.  (Bug#24413)
41560 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41562         Improve detectability of 'next-logical-line' and 'previous-logical-line'
41564         * lisp/simple.el (next-line, previous-line): Mention
41565         'next-logical-line' and 'previous-logical-line' in the doc
41566         strings.  (Bug#24443)
41568 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41570         Update from gnulib
41572         This incorporates:
41573         2016-09-16 extensions: fix typo in comment
41574         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
41575         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
41577 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41579         Prefer now-standard int width macros
41581         * src/data.c (ULL_WIDTH):
41582         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
41583         * src/lread.c (read_integer):
41584         * src/term.c (produce_glyphless_glyph):
41585         * src/xterm.c (x_send_scroll_bar_event):
41586         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
41587         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
41588         with the *_WIDTH standard macros.  All uses changed.
41589         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
41590         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
41591         for consistency with the *_WIDTH standard macros.  All uses changed.
41592         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
41593         be the same as CHAR_WIDTH and avoids confusion with Elisp
41594         char-width, which counts columns not bits.
41595         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
41596         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
41597         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
41598         used directly.
41600 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41602         Update from gnulib
41604         This incorporates:
41605         2016-09-15 stdint: support new _WIDTH macros
41606         2016-09-15 limits-h: new module
41607         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
41608         2016-09-15 extensions: port to more ISO C TSes
41609         2016-09-13 intprops: new macro TYPE_WIDTH
41610         2016-09-13 extensions: port to recent ISO C TRs
41611         * .gitignore: Add lib/limits.h.
41612         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
41613         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
41614         * m4/sys_types_h.m4: Copy from gnulib.
41615         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41616         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
41617         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
41619 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
41621         Rework fixing Bug#24432
41623         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
41624         "process-buffer" in order to mark connection as active.
41626         * lisp/net/tramp-cache.el (tramp-get-hash-table)
41627         (tramp-set-connection-property)
41628         (tramp-dump-connection-properties): Do not use "active" property.
41629         (tramp-list-connections): Use "process-buffer" property.
41631         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
41632         properties prior deletion of process.
41634 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
41636         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
41638         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
41640 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41642         Avoid compiler warning on MS-Windows due to clone_file
41644         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
41645         call to it is not compiled in that build, and having it defined
41646         causes compiler warnings.
41648 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41650         Avoid aborts in GC due to abort_on_gc
41652         * src/lisp.h:
41653         * src/print.c (Fprin1_to_string):
41654         * src/eval.c (signal_or_quit):
41655         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
41656         and testing the value of abort_on_gc.  It is no longer needed, and
41657         using it causes rare aborts in GC for no good reason.  (Bug#23912)
41659 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
41661         Fix Bug#24432
41663         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
41664         connection as inactive.
41665         (tramp-set-connection-property): Make the connection active.
41666         (tramp-dump-connection-properties): Don't save "active" property.
41667         (tramp-list-connections): List only active connections.  (Bug#24432)
41669 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
41671         Don't bug out on all-whitespace URLs
41673         * lisp/net/shr.el (shr-expand-url): Don't bug out on
41674         degenerate all-whitespace URLs.
41676 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
41678         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
41680         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
41681         Rename from sieve-manage-ignore-broken-tls.  If it is set,
41682         sieve-manage will never use STARTTLS even if the server says
41683         it is capable (but may be broken).
41685 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41687         Port to ISO/IEC TS 18661-1:2014
41689         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
41690         All uses changed.
41692 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41694         dired-jump: Expand file-name before dired-goto-file call
41696         Command dired-goto-file requires its argument to be an absolute
41697         file name.  Interactively FILE-NAME is read with read-file-name,
41698         which could return an abbreviated file name (Bug#24409).
41699         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
41700         Clarify in doc string the meaning of arg FILE-NAME.
41702 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41704         Add test for Bug#21454
41706         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
41708 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
41710         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
41712 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41714         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
41716         * lisp/net/sieve.el (sieve-edit-script):
41717         Make the buffer to edit be not modified-p initially (bug#24423).
41719 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41721         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
41723         * lisp/net/sieve-manage.el
41724         (sieve-manage-ignore-broken-tls): New user option.
41725         (sieve-manage-open-server):
41726         Don't test STARTTLS capability if the option is set (bug#24422).
41728 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41730         Fix compiler thinking width and height may be unitialized in frame.c
41732         This fixes the following warning:
41734                 frame.c: In function ‘x_set_frame_parameters’:
41735                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
41736                         this function [-Werror=maybe-uninitialized]
41737                        adjust_frame_size (f, width_change ? width : -1,
41738                                  ^
41740         * src/frame.c (x_set_frame_parameters): Drop width_changed and
41741         height_changed variables in favor of storing that information in
41742         width and height variables.
41744 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41746         Fix compiler thinking tmpdir may be unitialized in emacsclient
41748         This fixes the following warning:
41750                 emacsclient.c: In function ‘set_local_socket’:
41751                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
41752                         ‘tmpdir’ may be used uninitialized in this function
41753                         [-Werror=maybe-uninitialized]
41754                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
41755                    ^
41756                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
41757                      const char *tmpdir;
41759         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
41760         variable and instead use tmpdir being non-NULL as sign that it should
41761         be used.
41763 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
41765         image-dired: Signal an error before calling a missing executable
41767         Reverts commit ca473907
41768         Add a defun to check if an executable exists, and call it
41769         on each function using an external program: when the executable
41770         is not available signal an error.
41771         See discussion on:
41772         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
41773         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
41774         Throw and error when the executable arg is missing.
41775         (image-dired-display-image, image-dired-rotate-thumbnail)
41776         (image-dired-rotate-original, image-dired-set-exif-data)
41777         (image-dired-get-exif-data):
41778         Use it.
41780 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
41782         Fix daemon shutdown when emacs-kill-hooks ask questions
41784         * lisp/server.el (server-start): Put the server's kill-emacs-hook
41785         last, to allow other hooks to have a frame to interact with the
41786         user.  (Bug#24326)
41788 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
41790         * src/casefiddle.c (casify_word): Simplify.
41792         * src/casefiddle.c (casify_word): Return Qnil.
41794 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41796         Refactor common code in {upcase,downcase,capitalize}-word functions
41798         * src/casefiddle.c (operate_on_word): Removed in favor of…
41799         (casify_word) …new function which does what operate_on_word did plus
41800         what all of the common code from *-word functions.
41801         (upcase-word, downcase-word, capitalize-word): Move code common between
41802         those functions (pretty much the whole body of those functions) into
41803         casify_word and use that instead of now deleted operate_on_word.
41805 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41807         * doc/lispref/files.texi: Remove @vindex.
41809 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41811         Remove unnecessary ref to coreutils manual
41813         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
41815 2016-09-11  Alan Mackenzie  <acm@muc.de>
41817         Correctly fontify C++ direct initializations with parens inside functions
41819         Or, more clearly, when something looks like a function declaration and it's
41820         inside a function, fontify it as a direct initialization.
41822         For this purpose, introduce a "brace stack" for each buffer, where an entry on
41823         the brace stack states how deeply nested a particular position is inside
41824         braces inside a "top level", which includes classes and namespaces.
41826         Also introduce a new "context", "top", with which c-font-lock-declarations
41827         signals to c-forward-decl-or-cast-1 that point is at the top level.
41829         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
41830         c-truncate-bs-cache.
41831         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
41832         (c-type-decl-operator-prefix-key): new language constants/variables.
41834         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
41835         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
41836         stack cache.
41837         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
41838         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
41839         (c-find-decl-prefix-search): Keep track of whether we're at top level.
41840         (c-find-decl-spots): New local variable cfd-top-level which records what it
41841         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
41842         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
41843         to non-nil when a match for c-type-decl-operator-prefix-key is found.
41844         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
41845         Introduce "CASE 9.5", which recognizes direct initializations.
41847         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
41848         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
41849         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
41850         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
41851         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
41852         participate in the decision whether to fontify an identifier as a function or
41853         a variable.
41854         (c-font-lock-declarations): The internal lambda function takes an additional
41855         argument `toplev' from c-find-decl-spots, which it uses in determining the
41856         "context" of a declaration.  Add appropriate `not-top' argument to calls to
41857         c-font-lock-declarators.
41858         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
41859         like for c-font-lock-declarators.
41861         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
41862         cache.
41864 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
41866         Avoid signaling errors when computing "Stop" in GDB menu
41868         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
41869         'gdb-running-threads-count' must have a numeric value.
41870         (Bug#24414)
41872 2016-09-11  Philipp Stephani  <phst@google.com>
41874         Stop calling ‘byte-compile-log-warning’
41876         For errors, use ‘byte-compile-report-error’ instead so that the error
41877         is registered and causes compilation to fail (Bug#24359).
41879         For warnings, use ‘byte-compile-warn’ instead so that
41880         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
41882         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
41883         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
41884         ‘byte-compile-log-warning’.
41886         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
41887         (byte-compile-setq, byte-compile-funcall): Use
41888         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
41889         (byte-compile-log-warning): Convert comment to documentation
41890         string.  Explain that the function shouldn’t be called directly.
41891         (byte-compile-report-error): Add optional FILL argument.
41893         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
41894         (cconv--analyze-function, cconv-analyze-form): Use
41895         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41897         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
41898         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41900         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
41901         of ‘byte-compile-log-warning’.
41902         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
41903         ‘byte-compile-log-warning’.
41905 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41907         * etc/NEWS: Remove comment lost in emacs-25 merge.
41909 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41911         Document file synchronization issues
41913         * doc/lispref/files.texi (Files and Storage): New section.
41915 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41917         copy-file now uses GNU/Linux file cloning
41919         From a suggestion by Kieran Colford (see Bug#23904).
41920         * configure.ac: Check for linux/fs.h.
41921         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
41922         (clone_file): New function.
41923         (Fcopy_file): Use it.
41925 2016-09-10  Alan Third  <alan@idiocy.org>
41927         Invert y coord of NS image files (bug#7847)
41929         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
41930         when compositing.
41932 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
41934         Don't require isearch-update before isearch-done
41936         It is useful to be able to call `isearch-done' unconditionally to
41937         ensure a non-isearching state.
41939         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
41940         is a live buffer before using it (Bug #21091).
41941         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
41943 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
41945         * lisp/emacs-lisp/ring.el: Use lexical-binding
41947         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
41948         argument of `dotimes' when the iteration variable isn't referred by
41949         it.
41950         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
41951         since it's the default.
41953 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41955         Split regex character class test into smaller chunks
41957         Having one test for all character classes it is not always trivial to
41958         determine which class is failing.  This happens when failure is caused
41959         by ‘(should (equal (point) (point-max)))’ not being met.
41961         With per-character class tests, it is immidiatelly obvious which test
41962         causes issues plus tests for all classes are run even if some of them
41963         fail.
41965         * test/src/regex-tests.el (regex-character-classes): Delete and split
41966         into…
41967         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
41968         regex-tests-ascii-character-class, regex-tests-blank-character-class,
41969         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
41970         regex-tests-graph-character-class, regex-tests-lower-character-class,
41971         regex-tests-multibyte-character-class,
41972         regex-tests-nonascii-character-class,
41973         regex-tests-print-character-class, regex-tests-punct-character-class,
41974         regex-tests-space-character-class,
41975         regex-tests-unibyte-character-class,
41976         regex-tests-upper-character-class, regex-tests-word-character-class,
41977         regex-tests-xdigit-character-class): …new tests.
41979 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41981         Don’t allocate char-table’s extra slots in regexp-out-charset
41983         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
41984         'case-table as charmap char-table’s property.  The function has nothing
41985         to do with casing and in addition using 'case-table causes unnecessary
41986         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
41988 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41990         Remove dead loop iterations in regex.c
41992         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
41993         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
41994         for byte8 characters.  This means that
41996                 c = RE_CHAR_TO_MULTIBYTE (ch);
41997                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
41999         is equivalent to:
42001                 c = c;
42002                 if (! false && re_iswctype (c, cc))
42004         for 0 ⪬ c < 0x80, and
42006                 c = BYTE8_TO_CHAR (c);
42007                 if (! true && re_iswctype (c, cc))
42009         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
42010         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
42012         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
42013         dead iterations and unnecessary macro calls.
42015 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
42017         Replace decimalnump with alphanumericp
42019         decimalnump was used in regex.c only in ISALNUM macro which ored it with
42020         alphabeticp.  Because both of those functions require Unicode general
42021         category lookup, this resulted in unnecessary lookups (if alphabeticp
42022         return false decimalp had to perform another lookup).  Drop decimalnump
42023         in favor of alphanumericp which combines decimelnump with alphabeticp.
42025         * src/character.c (decimalnump): Remove in favor of…
42026         (alphanumericp): …new function.
42028         * src/regex.c (ISALNUM): Use alphanumericp.
42030 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
42032         Remove inaccurate comment in regex.c
42034         * src/regex.c (regex_compile): Remove comment indicating that wctype of
42035         some character classes may be negative.  All wctypes are in fact
42036         non-negative.
42038 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
42040         STRING_CHAR does not unify characters; update documentation
42042         * src/character.h (STRING_CHAR): Update doc.
42043         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
42044         the function to use BYTE_POS_ADDR instead of open-coding it.
42046 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
42048         Add tests for ring.el
42050         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
42052 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
42054         New file test/src/marker-tests.el
42056 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
42058         Port flexible array members to GCC + valgrind
42060         These changes are needed to conform to the C standard's rule for
42061         allocating structs containing flexible array members.  C11 says
42062         that malloc (offsetof (struct s, m) + n) does not suffice to
42063         allocate a struct with an n-byte tail; instead, malloc’s arg
42064         should be rounded up to the nearest multiple of alignof (struct s).
42065         Although this is arguably a defect in C11, gcc -O2 + valgrind
42066         sometimes complains when this rule is violated, and when debugging
42067         it’s better to keep valgrind happy.
42068         For details please see the thread containing the message at:
42069         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
42070         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
42071         Include flexmember.h.
42072         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
42073         (register_namespace_alias):
42074         * src/alloc.c (SDATA_SIZE, allocate_string_data):
42075         * src/image.c (xpm_cache_color, imagemagick_create_cache):
42076         * src/process.c (Fmake_network_process):
42077         Use FLEXSIZEOF instead of offsetof and addition.
42078         * src/alloc.c (SDATA_SIZE, vector_alignment):
42079         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
42080         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
42081         Remove, as alloc.c can now calculate this on its own.
42083 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
42085         Update from gnulib
42087         This incorporates:
42088         2016-09-07 flexmember: new macro FLEXALIGNOF
42089         2016-09-07 flexmember: port better to GCC + valgrind
42090         2016-08-18 Port modules to use getprogname explicitly
42091         2016-09-02 manywarnings: add -fno-common
42092         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
42093         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
42094         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
42095         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
42096         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
42097         * m4/manywarnings.m4: Copy from gnulib.
42098         * lib/flexmember.h: New file, from gnulib.
42099         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
42101 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
42103         Don't --load directories
42105         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
42106         of --load when it refers to a normal file, since `load' doesn't handle
42107         directories (Bug #16406).
42109 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
42111         Avoid error in icalendar--read-element
42113         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
42114         stack overflow by not using regex to extract values from calendar
42115         events. (Bug#24315)
42117 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
42119         Fix back-white <-> black-white typo
42121         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
42123 2016-09-07  Alan Third  <alan@idiocy.org>
42125         Fix cursor at bottom left of rectangle (bug#24364)
42127         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
42128         require rectangle--point-crutches to be set.
42130 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
42132         Fix documentation of convert-standard-filename on MS-Windows
42134         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
42136         * etc/NEWS: Suggest a way for mirroring slashes where previously
42137         'convert-standard-filename' was used.
42139 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42141         Use DEV_TTY more consistently
42143         * src/conf_post.h (DEV_TTY): Move from here ...
42144         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
42145         to be visible everywhere.  Make it a constant.
42146         * src/keyboard.c (handle_interrupt, Fset_quit_char):
42147         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
42149 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
42151         Avoid assertion violations when using marker positions
42153         * src/intervals.c (set_point_from_marker): If MARKER comes from
42154         another buffer, recalculate its byte position before using it to
42155         set point.
42156         * src/marker.c (set_marker_internal): If POSITION is a marker from
42157         another buffer, recalculate its byte position before using it.
42158         (Bug#24368)
42160 2016-09-06  Alan Mackenzie  <acm@muc.de>
42162         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
42164 2016-09-06  Alan Mackenzie  <acm@muc.de>
42166         New options for handling of literals in c-syntactic-re-search-forward
42168         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
42169         be given the values `before-literal' and `after-literal', so that when a
42170         search fails, and the `bound' is inside a literal, point is left respectively
42171         before or after that literal.
42173 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
42175         Avoid assertion violations when scrolling narrowed buffer
42177         * src/window.c (window_scroll_pixel_based):
42178         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
42179         start outside the accessible portion of the buffer.  This avoids
42180         assertion violations when some Lisp narrows the buffer to less
42181         than the current window, and then attempts to scroll the buffer.
42183 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
42185         Treat SIGINT correctly in GUI sessions on MS-Windows
42187         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
42188         supported by MS runtime.
42189         * src/term.c (DEV_TTY): Move from here ...
42190         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
42191         for WINDOWSNT and for the rest.
42192         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
42193         a literal "/dev/tty".
42195         * etc/NEWS: Mention the behavior change.
42197 2016-09-04  Alan Third  <alan@idiocy.org>
42199         Fix synthetic bold on macOS retina displays
42201         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
42202         factor by the OS window backing scale factor.
42204 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
42206         image-dired: Report when a necessary executable is not found
42208         See discussion on:
42209         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
42210         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
42211         (image-dired-cmd-create-thumbnail-program)
42212         (image-dired-cmd-create-temp-image-program)
42213         (image-dired-cmd-rotate-thumbnail-program)
42214         (image-dired-cmd-write-exif-data-program)
42215         (image-dired-cmd-read-exif-data-program):
42216         Use executable-find to set the default value of this option.
42217         (image-dired-cmd-rotate-original-program): Idem.
42218         Search for program 'convert' if 'jpegtran' is not available.
42219         (image-dired-cmd-rotate-original-options):
42220         Set the default value consistent with the executable in
42221         image-dired-cmd-rotate-original-program.
42222         (image-dired-create-thumb, image-dired-display-image)
42223         (image-dired-rotate-thumbnail, image-dired-rotate-original)
42224         (image-dired-set-exif-data, image-dired-get-exif-data):
42225         Throw and error when the executable used in the function is missing.
42226         (image-dired-next-line, image-dired-previous-line):
42227         Use 'forward-line'.
42229 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
42231         image-type-from-file-name: Perform a case insensitive match
42233         Fix Bug#24317
42234         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
42235         to a non-nil value to force a case insensitive match.
42236         * lisp/image-dired.el (image-dired-rotate-original):
42237         Use image-type (Bug#24317).
42238         (image-dired-get-exif-file-name): Idem.
42239         Set 'no-exif-data-found' and 'data' in same setq call.
42240         Use file-attribute-modification-time.
42242 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
42244         image-increase-size: Fix non-interactive calls
42246         * lisp/image.el (image-increase-size, image-decrease-size):
42247         Compute a floating point division.
42248         Problem reported in:
42249         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
42251 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
42253         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
42255         Passing the prefix argument as the 3rd argument to 'call-interactively'
42256         causes the prefix argument to be interpreted as events, which is not
42257         only wrong, but also causes a type error, as 'current-prefix-arg' can
42258         never be a vector as 'call-interactively' expects.  'call-interactively'
42259         automatically passes its prefix argument to the called function, so just
42260         do that, eliminating faulty behavior.
42262         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
42263         (checkdoc-ispell-current-buffer):
42264         (checkdoc-ispell-interactive):
42265         (checkdoc-ispell-message-text):
42266         (checkdoc-ispell-start):
42267         (checkdoc-ispell-continue):
42268         (checkdoc-ispell-comments):
42269         (checkdoc-ispell-defun):
42270         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
42271         vector; merely allow it to propagate forward to the interactive call.
42273 2016-09-03  Richard Stallman  <rms@gnu.org>
42275         Fix mail-combine-fields
42277         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
42278         avoid losing our place in the search loop.
42280 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
42282         Check actual contents before promting about changed file
42284         * lisp/userlock.el (userlock--check-content-unchanged)
42285         (userlock--ask-user-about-supersession-threat): New functions.
42286         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
42287         * doc/lispref/buffers.texi (Modification Time): Update doc of
42288         ask-user-about-supersession-threat.
42290 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
42292         Make a reference to fakecygpty in the Tramp manual
42294         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
42295         fakecygpty on the Emacs Wiki.
42296         (Frequently Asked Questions): Fix url.
42298 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42300         Don’t create fd >= FD_SETSIZE
42302         This avoids a potential crash if too many subprocesses (Bug#24325).
42303         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
42304         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
42305         set it to FD_SETSIZE.
42307 2016-09-01  Alan Mackenzie  <acm@muc.de>
42309         Fix c-declaration-limits to return correct limits in all cases.
42311         This function is the guts of c-indent-defun and c-mark-function.
42313         In particular, when c-defun-tactic is nil, return a correct value rather than
42314         always nil, and when it's 'go-outward, go through an intricate algorithm to
42315         determine the requisite narrowing before the "top-level" defuns go to work.
42317         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
42318         to take additional optional parameter LEVEL, saying how many enclosing levels
42319         of decl-block to narrow to.
42320         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
42321         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
42322         lower bound.
42324 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
42326         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
42328 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
42330         Avoid compiler warnings with MinGW64 GCC 6
42332         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
42333         the GCC 6 builtin, to avoid warnings.  For more details, see
42334         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
42336 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42338         Fix over-substitution of quotes on error
42340         Problem reported by Tino Calancha in:
42341         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
42342         * src/print.c (print_error_message):
42343         Substitute quotes in errmsg only when gotten from a property.
42345 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
42347         Improve testing of etags
42349         * test/manual/etags/y-src/cccp.c:
42350         * test/manual/etags/y-src/parse.c: Correct #line directives to
42351         allow testing invalidate_nodes in etags.c.
42352         * test/manual/etags/ETAGS.good_1:
42353         * test/manual/etags/ETAGS.good_2:
42354         * test/manual/etags/ETAGS.good_3:
42355         * test/manual/etags/ETAGS.good_4:
42356         * test/manual/etags/ETAGS.good_5:
42357         * test/manual/etags/ETAGS.good_6:
42358         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
42360 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
42362         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
42364 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42366         Fix etags problems found by static checking
42368         * lib-src/etags.c (invalidate_nodes, put_entry):
42369         Remove now-unnecessary tests for null pointers.  Simplify.
42370         (put_entries): Rewrite to avoid GCC 6.2 warning about
42371         dereferencing null pointer.
42373 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
42375         Fix a thinko in etags.c
42377         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
42378         a null pointer.
42380 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
42382         Avoid recursive calls in etags
42384         * lib-src/etags.c (stack_entry): New struct.
42385         (push_node, pop_node, put_entry): New functions.
42386         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
42387         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
42389 2016-08-31  Leo Liu  <sdl.web@gmail.com>
42391         Add 451 to url-http-codes
42393         * lisp/url/url-http.el (url-http-codes): Add 451.
42395 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
42397         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
42399 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42401         Minor doc quoting fixes
42403         * doc/misc/htmlfontify.texi (Interactive):
42404         * lisp/htmlfontify.el (htmlfontify-buffer):
42405         Spell out character names, for clarity.  The old doc string
42406         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
42407         stands for a form feed character; this was confusing.
42408         * lisp/electric.el (electric-quote-mode):
42409         * src/doc.c (syms_of_doc):
42410         * src/editfns.c (Fformat_message):
42411         Remove no-longer-necessary ‘\=’s in doc strings.
42413 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42415         Update from gnulib
42417         This incorporates:
42418         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
42419         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
42420         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
42421         2016-08-29 intprops.h: use __typeof__ with GCC 7
42422         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
42423         2016-08-24 intprops: fix paren typo on old platforms
42424         2016-08-24 intprops: port to OpenVMS
42425         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
42427 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
42429         Fix rules for \phi and \varphi which were reversed
42431         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
42432           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
42433           were reversed which is not true (anymore?).
42435 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
42437         Fix prettification of \phi, \varphi, and \varsigma
42439         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
42440           prettification of \phi, \varphi, and \varsigma.
42442         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
42443         \varsigma was commented out with a FIXME that it was reversed with
42444         \sigma which it was not.
42446 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
42448         Use normal double quotes in TeX / LaTeX comments
42450         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
42451           default to inserting a normal double quote (") instead of TeX-style
42452           open (``) or close ('') quote marks.
42454         * etc/NEWS (TeX mode): Note the change.
42456         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
42458         See this thread for discussion:
42460           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
42461           From: Karl Fogel <kfogel {_AT_} red-bean.com>
42462           To: Emacs Development <emacs-devel {_AT_} gnu.org>
42463           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
42464           Date: Mon, 29 Aug 2016 14:44:12 -0500
42465           Message-ID: <87twe3icmr.fsf@red-bean.com>
42467 2016-08-30  Alan Mackenzie  <acm@muc.de>
42469         Correctly analyze C++ list initialization in member init areas.
42471         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
42472         superfluous call to c-backward-syntactic-ws.
42473         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
42474         reports encountering the Java "new" keyword.  Add, as an alternative, a check
42475         that we can move back over member initializations, and handle this as finding
42476         a brace block.
42477         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
42478         new calling convention of c-looking-at-or-maybe-in-bracelist.
42479         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
42480         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
42481         using the extra info from the value of that function to generate a
42482         topmost-into-cont element where needed (in Java).
42484         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
42485         calling convention of c-looking-at-or-maybe-in-bracelist.
42487         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
42488         convention of c-looking-at-or-maybe-in-bracelist.
42490 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
42492         Use `file-attribute-*' in Tramp
42494         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
42495         (tramp-compat-file-attribute-link-number)
42496         (tramp-compat-file-attribute-user-id)
42497         (tramp-compat-file-attribute-group-id)
42498         (tramp-compat-file-attribute-modification-time)
42499         (tramp-compat-file-attribute-size)
42500         (tramp-compat-file-attribute-modes): New defaliases.
42502         * lisp/net/tramp.el (tramp-handle-file-modes)
42503         (tramp-handle-file-newer-than-file-p)
42504         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
42505         (tramp-handle-set-visited-file-modtime)
42506         (tramp-handle-verify-visited-file-modtime)
42507         (tramp-get-local-gid, tramp-check-cached-permissions):
42508         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
42509         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
42510         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
42511         (tramp-gvfs-handle-file-directory-p)
42512         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
42513         (tramp-gvfs-get-remote-gid):
42514         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
42515         (tramp-sh-handle-set-visited-file-modtime)
42516         (tramp-sh-handle-verify-visited-file-modtime)
42517         (tramp-sh-handle-file-newer-than-file-p)
42518         (tramp-sh-handle-file-ownership-preserved-p)
42519         (tramp-do-copy-or-rename-file)
42520         (tramp-do-copy-or-rename-file-via-buffer)
42521         (tramp-do-copy-or-rename-file-directly)
42522         (tramp-do-copy-or-rename-file-out-of-band)
42523         (tramp-sh-handle-file-local-copy)
42524         (tramp-sh-handle-write-region):
42525         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
42526         (tramp-smb-handle-copy-file)
42527         (tramp-smb-handle-file-directory-p)
42528         (tramp-smb-handle-file-writable-p)
42529         (tramp-smb-handle-insert-directory): Use them.
42531 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
42533         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
42535         * lisp/window.el (pop-to-buffer): Don't assume that
42536         `display-buffer' has supplied a window (Bug#24332).
42537         Rename BUFFER argument to BUFFER-OR-NAME.
42538         * doc/lispref/windows.texi (Switching Buffers): Fix
42539         `pop-to-buffer' documentation.
42541 2016-08-29  Alan Third  <alan@idiocy.org>
42543         Clarify docstrings
42545         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
42547 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
42549         Use `process-live-p' in Tramp
42551         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
42553         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
42554         (tramp-handle-file-notify-valid-p)
42555         (tramp-action-process-alive, tramp-action-out-of-band)
42556         (tramp-wait-for-regexp):
42557         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
42558         (tramp-adb-maybe-open-connection):
42559         * lisp/net/tramp-cache.el (tramp-get-connection-property):
42560         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
42561         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
42562         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
42563         * lisp/net/tramp-sh.el (tramp-process-sentinel)
42564         (tramp-sh-handle-file-notify-add-watch)
42565         (tramp-maybe-open-connection):
42566         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
42567         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
42568         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
42569         (tramp-smb-get-cifs-capabilities)
42570         (tramp-smb-get-stat-capability)
42571         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
42572         (tramp-smb-kill-winexe-function): Use it.
42574 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
42576         Avoid crashes for invalid value of key modifiers
42578         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
42579         is not a symbol, don't try to recognize it.  See
42580         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
42581         for the details.
42583         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
42584         test, for testing the above fix.
42586 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
42588         Make dired-do-compress understand files with spaces in them
42590         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
42591           and `literal' flag to `replace-regexp-in-string'.
42593 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42595         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
42597 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
42599         Add tests for dom.el
42601         * test/lisp/dom-tests.el: New file with tests for dom.el.
42603 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42605         Memory allocator alignment fixes
42607         These changes remove some assumptions about heap allocator
42608         alignment that may not be true on unusual platforms.
42609         * src/alloc.c (POWER_OF_2): New macro.
42610         (ROUNDUP): Use it.
42611         (BLOCK_ALIGN): Verify that it is a power of 2.
42612         (aligned_alloc): Check that alignment passed to posix_memalign
42613         satisfies POSIX restrictions.
42614         (lisp_align_malloc): Check that size passed to aligned_alloc
42615         satisfies C11 restrictions.
42616         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
42617         code has not been verified to work with other GCALIGNMENT values
42618         and the ice is thin here.  On GNU/Linux, malloc can return a value
42619         that is a multiple of 8 but not 16, even though __alignof__
42620         (max_align_t) is 16.  See:
42621         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
42622         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
42623         is a multiple of alignment, since C11 says the behavior is
42624         undefined otherwise.
42625         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
42626         general this macro is restricted to signed types.  Remove
42627         assertion that the result is a multiple of GCALIGNMENT, as that
42628         need not be true.
42630 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42632         Pacify --enable-gcc-warnings for lib-src/pop.c
42634         * lib-src/pop.c: Include c-ctype.h.
42635         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
42636         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
42637         of the (undeclared) isupper and tolower.  Fix pointer constness
42638         problem.
42640 2016-08-27  Alan Mackenzie  <acm@muc.de>
42642         Handle the C++ "identifiers" "final" and "override" correctly.
42644         This fixes bug #24319, allowing destructors affixed with these identifiers to
42645         be correctly fontified.
42647         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
42648         After reaching the "end" of a type expression, skip over any occurrences of
42649         c-type-decl-suffix-ws-ids-key.
42651         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
42652         "final" from the C++ value.
42653         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
42654         constants/variables for "final" and "override".
42656 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
42658         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
42660 2016-08-27  Alan Mackenzie  <acm@muc.de>
42662         Handle template delimiters in C++ member init constructs.
42664         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
42665         handling for "<....>"s.
42667 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
42669         Fix etags test suite messed up by merges from emacs-25
42671         * test/manual/etags/go-src/test.go:
42672         * test/manual/etags/go-src/test1.go: Move from test/etags/.
42673         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
42674         * test/etags/: Directory deleted.
42676 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
42678         Add "supports" to list of CSS at-rules
42680         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
42682 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
42684         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
42686         (Bug#22478)
42688 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42690         Rename option to shell-command-dont-erase-buffer
42692         Suggested by Clément Pit--Claudel in:
42693         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
42694         * lisp/simple.el (shell-command-dont-erase-buffer):
42695         (shell-command--save-pos-or-erase):
42696         (shell-command--set-point-after-cmd):
42697         (shell-command-on-region):
42698         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
42699         * etc/NEWS (Changes in Emacs 25.2):
42700         Rename from shell-command-not-erase-buffer.
42702 2016-08-25  Alan Mackenzie  <acm@muc.de>
42704         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
42706         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
42707         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
42708         the loop won't hang at a "terminating" paren of a different type (due to the
42709         c-syntactic-re-search-forward at the end of the loop stopping at such
42710         characters).
42712 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42714         call-shell-region: New defun
42716         Suggested by Stefan Monnier in Bug#22679.
42717         * lisp/subr.el (call-shell-region): New defun; execute a command
42718         in an inferior shell with the buffer region as input.
42719         * lisp/simple.el (shell-command-on-region): Use it.
42720         * lisp/gnus/message.el (message-do-fcc): Idem.
42721         * doc/lispref/processes.texi: Document call-shell-region in the manual.
42722         ;* etc/NEWS: Add entry for this new function.
42724 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42726         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
42728         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
42729         argument in `pop-to-buffer' call (Bug#24306).
42731 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42733         Some fixes around `delete-other-frames' and `next-frame'
42735         * src/frame.c (Fdelete_frame): Clarify doc-string.
42736         * lisp/frame.el (delete-other-frames): Delete other frames on
42737         FRAME's terminal instead of the current terminal.  Delete
42738         non-minibuffer-only surrogate frames too.  See
42739         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
42740         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
42741         docs of `delete-frame' and `frame-live-p'.  Add entry for
42742         `delete-other-frames'.
42743         (Finding All Frames): Fix doc of `next-frame'.
42745 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42747         Find message.el thumbnail toggling
42749         * lisp/gnus/message.el (message-toggle-image-thumbnails):
42750         Don't infloop when toggling thumbnails.
42752 2016-08-24  Alan Third  <alan@idiocy.org>
42754         Fix macOS 12 deprecation notices
42756         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
42757         new constant names.
42758         * src/nsmenu.m: Replace old constant names with
42759         new.
42760         (fillWithWidgetValue): Remove calls to deprecated
42761         setMenuChangedMessagesEnabled.
42762         * src/nsterm.m: Replace old constant names with new.
42763         * src/nsfns.m: Replace old constant names with new.
42765 2016-08-23  Alan Mackenzie  <acm@muc.de>
42767         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
42769         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
42770         directly preceding the colon, and handle it.
42772 2016-08-23  Noah Friedman  <friedman@splode.com>
42774         * src/xfns.c (Fx_change_window_property): Modify previous change.
42775         Instead of forcing format to 8 for strings, check that the length of
42776         the string is appropriate for whatever format given.
42777         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
42778         try its outer window.  This mimics the behavior of Fx_window_property.
42780 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
42782         Fix invalid image rotations
42784         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
42786 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
42788         call-process instead of call-process-region with empty region
42790         * lisp/calc/calc-graph.el (calc-graph-show-tty):
42791         Use call-process and shell-command-switch.
42793 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42795         Merge from origin/emacs-25
42797         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
42798         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
42799         73cbb81 ; ChangeLog spelling fixes
42800         9b99772 Some assorted documentation clarifications
42801         37d4723 Improve commentary in src/character.h
42802         5ccd593 ; Fix typo in /etc/NEWS
42803         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
42804         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
42805         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42806         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42808         # Conflicts:
42809         #       ChangeLog.2
42810         #       lisp/ldefs-boot.el
42812 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42814         Merge from origin/emacs-25
42816         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42818 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42820         Merge from origin/emacs-25
42822         8c2946e In NEWS describe new handling of window margins (Bug#24193)
42823         0cee66c Facultatively ignore margins when splitting and resizing wind...
42824         8d68147 Document CATEGORY arg to modify-category-entry
42825         8342e74 Document char-script-table's effect on word motion
42826         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
42827         0695235 Fix docstring of eval-expression
42828         98b01dd Clarify when 'cursor' property is in effect
42829         75f1882 Convert the remaining strings to unibyte before concatenating
42830         d2db5dd Fix bug with handling the bidi cache
42831         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
42832         f785ff4 Clarify documentation of before/after-change-functions
42833         3c9cb57 Document use of vectors in keymaps
42835         # Conflicts:
42836         #       src/xdisp.c
42838 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42840         Handle remote file names in gdb-mi.el
42842         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
42843         If `default-directory' is remote, full file names are adapted
42844         accordingly.  (Bug#23608)
42846 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
42848         Display mini-window resized even when there are several frames
42850         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
42851         t to avoid resizing back the mini-window as result of considering
42852         the title of other frames.  (Bug#24285)
42853         (redisplay_window): No need to bind inhibit-redisplay here.
42855 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42857         Explain gdb warning on remote hosts
42859         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
42860         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
42862 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42864         Fix (next-frame nil t) crash (Bug#24281)
42866         * src/frame.c (candidate_frame): Check minibuf argument before
42867         comparing it to zero (Bug#24281).
42869 2016-08-21  Noah Friedman  <friedman@splode.com>
42871         Fix interpretation of signed vs unsigned values when retrieving X
42872         Window properties, and make sure the full value is returned when not
42873         parsed.
42875         New subr to export type and format information about X Window
42876         properties to lisp.
42878         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
42879         unsigned unless its actual type is INTEGER.
42880         CARDINALs, in particular, are unsigned.
42882         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
42883         any provided format and force to 8.
42884         (x_window_property_intern): If returning value as a string, the length
42885         is actual_size times the actual format of each element, which is not
42886         necessarily bytes.
42887         (Fx_window_property_attributes): New subr.
42888         (syms_of_xfns): Declare it.
42890 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
42892         Improve error when installing non-package dirs
42894         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
42895         when no file with package info is found (Bug #19851).
42897 2016-08-21  Alan Mackenzie  <acm@muc.de>
42899         Adapt CC Mode for C++11 uniform initialization.
42901         For fontification, introduce a new "context", 'non-decl, to be used for
42902         brace
42903         lists; also a new value for the property 'c-type, called 'c-not-decl.
42905         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
42906         an ostensible symbol we're going to move over isn't a keyword.
42907         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
42908         (hence a declaration), and an unmatched open paren, perform
42909         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
42910         Whilst checking a type decl expression, check for and handle C++11's "copy
42911         initialization", where we have <type>(<constant>).  Recognize
42912         <id><id>(... (where the paren is unclosed) as a declaration.
42913         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
42914         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
42915         valid tokens other than "=".  Recognize a bracelist when preceded by a
42916         template declaration.
42917         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
42918         much inline code.
42919         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
42920         initialization starting "({" as an in-expression block, by checking for
42921         semicolons, as opposed to commas, separating elements inside it.
42922         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
42923         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
42924         preceding "=".  (CASE B-5): New code to recognize new construct "return {
42925         ...}".
42926         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
42927         "return", or "{" preceded by <type><identifier> as a bracelist.
42929         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
42930         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
42931         search for "," rather than calling c-forward-decl-or-cast-1.
42933         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
42934         constants/variables to recognize "return".
42935         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
42936         which, when preceding an identifier followed by a brace, signify the brace as
42937         a bracelist.
42939         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
42940         the start of a "local" declaration, move out from an enclosing brace when
42941         that is the start of a brace list.
42943 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42945         Update from gnulib
42947         This incorporates:
42948         2016-08-17 maint: preprocessor changes to support z/OS
42949         2016-08-17 string: rename to avoid '__string'
42950         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
42951         Copy from gnulib.
42953 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42955         Minor text-quoting-style fixes
42957         * src/charset.c (check_iso_charset_parameter):
42958         * src/frame.c (store_frame_param):
42959         * src/xselect.c (x_fill_property_data):
42960         Use grave accent for left single quote in ‘error’ format strings.
42962 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42964         Fix semantics of 'minibuffer' frame parameter
42966         The 'minibuffer' frame parameter is now t for a normal frame
42967         (a frame with a root window plus a minibuffer window) and the
42968         frame's minibuffer window for a minibuffer-less frame (a frame
42969         whose minibuffer window is on another frame).  See also:
42970         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
42972         * src/frame.c (make_frame, make_frame_without_minibuffer)
42973         (make_minibuffer_frame): When assigning the frame's minibuffer
42974         window also store corresponding 'minibuffer' frame parameter.
42975         (store_frame_param): Move the 'minibuffer' parameter checks to
42976         the beginning so we can silently override the value before it
42977         gets stored in the parameter alist.  Fix error handling.
42978         (Fframe_parameters): Return value of 'minibuffer' parameter
42979         unmodified.
42981         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
42982         the parameter is a minibuffer window, save (minibuffer . nil)
42983         instead of (minibuffer . t).
42984         (frameset--reuse-frame): To find a non-minibuffer-only frame
42985         look out for a frame whose 'minibuffer' parameter is t instead
42986         of that frame's minibuffer window.
42987         (frameset-minibufferless-first-p): To find a minibuffer-less
42988         frame look out for a frame whose 'minibuffer' parameter is a
42989         window instead of nil.
42991 2016-08-20  Alan Mackenzie  <acm@muc.de>
42993         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
42995 2016-08-20  Alan Mackenzie  <acm@muc.de>
42997         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
42999         Check the limit both at macro expansion time (for a hard coded nil) and at run
43000         time in the generated code.  Tidy up these macros generally.
43002         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
43003         not identically nil before generating a narrow-to-region call.  Generate code
43004         to check `limit' is not nil at run time.
43005         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
43006         narrow-to-region, instead calling c-safe-scan-lists directly.
43007         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
43008         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
43009         to determine the destination position instead of generating a redundant
43010         narrow-to-region.
43012 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
43014         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
43016         The docstring referenced a non-existant parameter, as well as a
43017         parameter that has been renamed since the docstring was written. Fix
43018         both errors, fixing (Bug#24182).
43020 2016-08-19  Alan Mackenzie  <acm@muc.de>
43022         Amend hack-local-variables-prop-line not always to return any mode on line 1.
43024         This fixes bug #24266.
43026         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
43027         parameter mode-only to handle-mode.  Change its meaning, such that it being
43028         set to a value non-nil and not t removes any mode parameter from the result
43029         list.  Leave its values nil and t with the same meanings they had.
43030         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
43032 2016-08-19  Daiki Ueno  <ueno@gnu.org>
43034         Improve doc string of epg-*-program
43036         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
43037         Suggest to use Customize when setting.  (Bug#24229)
43039 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
43041         Add tests for Bug#24264
43043         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
43044         Add test for Bug#24264.
43045         (cl-seq-fill-test, cl-seq-replace-test)
43046         (cl-seq-remove-test ,cl-seq-delete-test)
43047         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
43048         (cl-seq-nsubstitute-test, cl-seq-position-test)
43049         (cl-seq-count-test, cl-seq-mismatch-test)
43050         (cl-seq-search-test, cl-seq-test-bug24264):
43051         Add tests for all functions in the file; test all keywords.
43053 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
43055         Fix bug in --eval reply message from server
43057         * lisp/server.el (server-reply-print): Fix check for truncated quote
43058         sequence at end of message. Problem reported in:
43059         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
43061 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
43063         Add tests for 'substitute-command-keys'
43065         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
43066         tests.
43068 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
43070         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
43072         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
43073         `completing-read'.
43075 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
43077         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
43079         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
43080         without any files being extracted.
43082 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
43084         Don't let window start override window point in `window-state-put' (Bug#24240)
43086         * lisp/window.el (window--state-put-2): Set 'noforce argument
43087         when restoring a window's start position.  This avoids that the
43088         effect of `set-window-point' gets overidden by that of
43089         `set-window-start' (Bug#24240).
43091 2016-08-17  Alan Mackenzie  <acm@muc.de>
43093         Fontify constructs following "::" in C++ argument lists correctly - part 2.
43095         This fixes bug #24246.
43097         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
43098         `save-match-data' around the new `looking-at' introduced by the previous CC
43099         Mode patch this evening.
43101 2016-08-17  Alan Mackenzie  <acm@muc.de>
43103         Fontify constructs following "::" in C++ argument lists correctly.
43105         This fixes bug #24246.
43107         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
43108         match" loop, test a found string for a match with c-opt-identifier-concat-key
43109         (e.g. with "::").
43111 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
43113         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
43115 2016-08-17  K. Handa  <handa@gnu.org>
43117         Fix hz encoding and decoding (bug#23814)
43119         * lisp/language/china-util.el (decode-hz-region): Pay
43120         attention to "~~}" sequence at the end of Chinese character
43121         range.
43122         (hz-category-table): New variable.
43123         (encode-hz-region): Convert non-encodable characters to
43124         \u... and \U...  Preserve ESC on ecoding.  Put
43125         `chinese-gb2312' `charset' text property in advance to force
43126         iso-2022-encoding to select chinese-gb2312 designation.
43128 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
43130         file-attribute-collect: New defun
43132         * lisp/files.el (file-attribute-collect):
43133         Return a sublist of the attributes returned by 'file-attributes'.
43134         Suggested by Ted Zlatanov in:
43136         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
43138 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
43140         Fix Bug#24203
43142         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
43144 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
43146         Improve doc string.
43148         * src/fileio.c (Ffile_name_as_directory): Be precise about the
43149         conditions under which a slash is appended.
43151 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43153         Omit substitute-command-keys code no longer needed
43155         * src/doc.c (Fsubstitute_command_keys):
43156         Remove duplicate initializations.
43158 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
43160         Allow not erase output buffer in shell commands
43162         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
43163         not erasing the output buffer between shell commands.  Defaults to nil.
43164         (shell-command-on-region): Use it.
43165         (shell-command--save-pos-or-erase): New defun; store a buffer position
43166         if 'shell-command-not-erase-buffer' is non-nil; otherwise
43167         erase the output buffer of the shell command.
43168         (shell-command, shell-command-on-region): Use it.
43169         (shell-command--set-point-after-cmd): New defun;
43170         if 'shell-command-not-erase-buffer' is non-nil, set point
43171         in the output buffer to the position in 'shell-command-saved-pos'.
43172         (shell-command-sentinel, shell-command-on-region): Use it.
43173         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
43174         Document this feature in the manual.
43175         See discussion on:
43176         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
43178 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
43180         Rearrange Tramp manual title page
43182         * doc/misc/tramp.texi: Move @insertcopying out of the title
43183         page.  Do not use @ifnottex anymore.
43185 2016-08-15  Glenn Morris  <rgm@gnu.org>
43187         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
43189 2016-08-15  Alan Mackenzie  <acm@muc.de>
43191         Fix minor bug in c-syntactic-re-search-forward.
43193         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
43194         non-nil, and the first internal search attempt fails, point wrongly ends up at
43195         BOUND, rather than just before the next closing paren.
43197         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
43198         the above situation.
43200 2016-08-15  Alan Mackenzie  <acm@muc.de>
43202         Handle C++11 lambda functions.
43204         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
43205         handle C++ lambda functions.
43206         (c-looking-at-c++-lambda-capture-list): New function.
43208         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
43209         parameter list of a lambda function and set `context' and
43210         `c-restricted-<>-arglists' suitably for it.
43211         (c-font-lock-c++-lambda-captures): New function.
43212         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
43214         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
43215         New language constants/variables.
43216         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
43218         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
43219         function capture list.
43221 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
43223         Fix stale cache problem in Tramp
43225         * lisp/net/tramp-cache.el (tramp-get-connection-property):
43226         Check, that a process as key is still running.  (Bug#22478)
43228 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43230         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
43232 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
43234         Another fix for scroll-conservatively and overlay strings
43236         * src/xdisp.c (redisplay_window): Handle also the case where the
43237         calculated window-start point has an overlay string touching it.
43238         (Bug#24179)
43240 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
43242         Improve handling of defcustoms in tramp
43244         * doc/misc/tramp.texi: Protect all multi-line examples by
43245         @group ... @end group.  Use proper `custom-set-variables'
43246         examples.  Use consequently @option for user options.  Remove
43247         superfluous @cindex and @vindex entries.
43248         (Top): Remove reference to outdated mail archives.
43249         (Configuration): Tune references.
43250         (Default Method): Make `tramp-default-method' and
43251         `tramp-default-method-alist' a @defopt.
43252         (Default User): Make `tramp-default-user' and
43253         `tramp-default-user-alist' a @defopt.
43254         (Default Host): Make `tramp-default-host' and
43255         `tramp-default-host-alist' a @defopt.
43257         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
43258         (tramp-backup-directory-alist, tramp-auto-save-directory)
43259         (tramp-encoding-shell, tramp-encoding-command-switch)
43260         (tramp-encoding-command-interactive, tramp-default-method)
43261         (tramp-default-method-alist, tramp-default-user)
43262         (tramp-default-user-alist, tramp-default-host)
43263         (tramp-default-host-alist, tramp-default-proxies-alist)
43264         (tramp-save-ad-hoc-proxies)
43265         (tramp-restricted-shell-hosts-alist)
43266         (tramp-local-end-of-line, tramp-rsh-end-of-line)
43267         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
43268         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
43269         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
43270         (tramp-terminal-prompt-regexp)
43271         (tramp-operation-not-permitted-regexp)
43272         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
43273         (tramp-syntax, tramp-chunksize)
43274         (tramp-process-connection-type, tramp-connection-timeout)
43275         (tramp-connection-min-time-diff)
43276         (tramp-completion-reread-directory-timeout):
43277         * lisp/net/tramp-adb.el (tramp-adb-program)
43278         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
43279         * lisp/net/tramp-cache.el (tramp-connection-properties)
43280         (tramp-persistency-file-name):
43281         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
43282         (tramp-gvfs-zeroconf-domain)
43283         (tramp-bluez-discover-devices-timeout):
43284         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
43285         (tramp-copy-size-limit, tramp-terminal-type)
43286         (tramp-histfile-override)
43287         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
43288         (tramp-remote-process-environment, tramp-sh-extra-args):
43289         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
43290         (tramp-smb-conf, tramp-smb-winexe-program)
43291         (tramp-smb-winexe-shell-command)
43292         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
43294 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
43296         Minor text-quoting-style fixes
43298         * lisp/cus-edit.el (custom-buffer-create-internal):
43299         * lisp/recentf.el (recentf-edit-list):
43300         Follow text-quoting-style preference when quoting in UI strings.
43301         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
43302         quotes are substituted for, as this is no longer true.
43304 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
43306         Fix substitute-command-keys unibyte, alloc bugs
43308         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
43309         unibyte strings and with buffer allocation.  Make strings
43310         multibyte, to avoid problems with unibyte strings that are not
43311         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
43312         O(N), not O(N**2).  Avoid going past the end of the input string
43313         when given invalid input.  Avoid some unlikely problems in
43314         accessing the wrong storage after a GC.
43316 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
43318         Fix "C-u" when an input method is active
43320         * lisp/international/quail.el (quail-input-method): Defer to the
43321         input method iff 'overriding-terminal-local-map' is
43322         'universal-argument-map' and the given key has no binding there.
43323         (Bug#22958)
43325 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
43327         Fix docs on `display-buffer-below-selected' (Bug#24213)
43329         * lisp/window.el (display-buffer-below-selected): Fix
43330         doc-string (Bug#24213).
43331         * doc/lispref/windows.texi (Display Action Functions): Fix
43332         documentation of `display-buffer-below-selected'.
43334 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
43336         cl-fill: Rename arguments to cl-seq and cl-item
43338         * lisp/emacs-lisp/cl-seq.el (cl-fill):
43339         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
43341 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
43343         Fix display.texi typo
43345         * doc/lispref/display.texi (Faces): Fix typo.
43347 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43349         Fix process leak with make-network-process
43351         This problem was introduced by the recent async changes (Bug#23808).
43352         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
43353         so that it follows the start_process_unwind unwind-protect.
43354         Set pid to -1 while the process is being created.
43355         (start_process_unwind): Omit unnecessary emacs_abort test.
43356         (connect_network_socket): Simplify use of counts.  Unwind
43357         bind_polling_period a bit earlier, so that a remove_process
43358         unwind-protect can be added when needed; this is the heart of
43359         the fix.  Undo the unwind-protect just before returning.
43361 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
43363         Avoid annoying re-scroll when buffer has many overlay strings
43365         * src/xdisp.c (redisplay_window): Add better recovery from a
43366         situation where window-start is on buffer position which has a
43367         before-string that includes newlines, with the result that point
43368         is not visible in the window, because the display engine starts
43369         displaying with the before-string.  (Bug#24179)
43371 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43373         Omit unnecessary process initialization
43375         * src/process.c (make_process, Fmake_process)
43376         (Fmake_pipe_process, Fmake_serial_process)
43377         (Fmake_network_process, server_accept_connection):
43378         Omit unnecessary initialization of already-cleared storage.
43380 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
43382         cl-delete-duplicates: Parse :if to have cl-if bound
43384         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
43385         We need also to parse keyword :if, otherwise cl-if
43386         is unbound.
43387         This reverts commit:
43388         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
43390 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
43392         cl-delete-duplicates: do not parse :if keyword
43394         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
43395         Parse only the supported keywords.
43397 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
43399         Add compatibility layer for `temporary-file-directory-function'
43401         * lisp/net/tramp-compat.el
43402         (tramp-compat-temporary-file-directory-function): New defalias.
43404         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
43406         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
43407         Skip for older Emacs versions.
43409 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
43411         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
43413         (Bug#24059)
43415 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43417         Handle nil cell value in compiled printer functions.
43419         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
43420         ses-range `!' modifier.
43421         (More on cell printing): Fix this that the fallback printer is
43422         `ses-prin1', not "%S".  That makes a difference for any cell value for
43423         which "%S" would insert a backslash characters.
43425         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
43426         --- contrary to emacs-25 branches ses-call-printer does not handle
43427         prior to calling a function printer.  Not doing this would still work
43428         because the compiled function would throw and error and SES would in
43429         the end resort to the ses-prin1 fallback, however this way would not
43430         be in line with the raison d'être of compiling printer which is speed.
43432 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
43434         Turn on lexical-binding in json.el
43436         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
43437         showed 12-31% reduction in execution time.
43438         * lisp/json.el: Turn on lexical-binding.
43440 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
43442         Nudge WoMan toward lexical-binding
43444         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
43445         Use cl-pushnew instead of add-to-list.
43446         (woman-justify-list): Rename to woman-justify-styles.
43447         (woman-justify-styles): New array.
43448         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
43449         (woman-cached-data): Use cl-pushnew instead of add-to-list.
43451 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43453         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
43455         Here follows the logs from the two commits which I apply to master.
43457         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
43458         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
43459         Date:   Fri Jul 29 13:44:14 2016 +0200
43461         Fix ses-delete-blanks to delete only blanks + documentation.
43463         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
43464         'ses-range' modifier as an alternative to 'ses+'.
43465         (Advanced Features): Add a refernce to node 'Nonrelocatable
43466         references' concerning function 'ses-rename-cell'.
43467         (Standard formula functions): Mention the '!' 'ses-range'
43468         modifier as an alternative to 'ses-delete-blanks'.
43469         (More on cell printing): Fix fallback printer
43470         definition.  Minor editorial formatting changes.
43471         (Nonrelocatable references): Document the use of
43472         'ses-rename-cell' as a better way to make cell reference
43473         non-relocatable.
43474         (The data area): Document the presence of local printer
43475         definitions in the data area.
43477         * lisp/ses.el (ses-delete-blanks): Do not remove
43478         *error*.  Any error in an argument should propagate into the
43479         using formula rather than being silently hidden !
43481         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
43482         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
43483         Date:   Thu Jul 28 19:49:37 2016 +0200
43485         Fix local printer set to left aligned string formatter.
43487         * lisp/ses.el (ses-local-printer-compile): Add missing case
43488         for left-aligned string formatter.
43490 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43492         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
43494 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43496         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
43498         Change the code which detects and circumvents the case where one of the
43499         variables used in λ-lifting is shadowed, so that it also works when the
43500         shadowing comes before the λ-lifted function (bug#24171).
43502         (cconv--remap-llv): New function, extracted from cconv-convert.
43503         (cconv-convert): Use it, but differently for `let' and `let*'.
43505 2016-08-09  Alan Mackenzie  <acm@muc.de>
43507         CC Mode: check for and fix missing call to before_change_functions.
43509         Fixes bug #24094 and bug #24074.
43511         This can happen with `revert-buffer' or sometimes `find-file', when the file
43512         is already in a buffer, but the file has been changed outside of Emacs.
43514         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
43515         invocation of c-before-change-functions, we assume the changed region is the
43516         entire buffer, and call c-before-change explicitly before proceding.
43518 2016-08-09  Alan Mackenzie  <acm@muc.de>
43520         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
43522         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
43524 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
43526         Support $ENV in Tramp
43528         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
43530         * etc/NEWS: Explain the "ENV" environment variable in
43531         `tramp-remote-process-environment'.
43533         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
43534         (tramp-open-shell): Read $ENV value from
43535         `tramp-remote-process-environment'.
43536         (tramp-open-connection-setup-interactive-shell): Set values in
43537         proper order.
43539 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43541         Simplify exec_byte_code via moving decls etc.
43543         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
43544         initializers into decls, and by omitting some unnecessary
43545         changes to ‘top’.  This improves performance a bit on x86-64,
43546         as it happens.
43548 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43550         Remove interpreter’s byte stack
43552         This improves performance overall on my benchmark on x86-64,
43553         since the interpreted program-counter resides in a machine
43554         register rather than in RAM.
43555         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
43556         is no longer a byte stack to decode.
43557         * src/bytecode.c (struct byte_stack, byte_stack_list)
43558         (relocate_byte_stack): Remove.  All uses removed.
43559         (FETCH): Simplify now that pc is now local (typically, in a
43560         register) and no longer needs to be relocated.
43561         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
43562         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
43563         (exec_byte_code): Allocate a copy of the function’s bytecode,
43564         so that there is no problem if GC moves it.
43565         * src/lisp.h (struct handler): Remove byte_stack member.
43566         All uses removed.
43567         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
43568         SAFE_ALLOCA_LISP.
43569         (SAFE_ALLOCA_LISP): Use it.
43571 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43573         Remove arbitrary limit on bytecode maxdepth
43575         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
43576         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
43578 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43580         Tune bytecode quitting
43582         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
43583         check only once every 256 times.  This should be good enough, and
43584         improves performance significantly on x86-64 as branch-prediction
43585         typically assumes checking will not be done so the instruction
43586         pipeline stays fuller.
43587         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
43588         directly, as BYTE_CODE_QUIT does that now.
43590 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43592         Simplify BYTE_CODE_SAFE checking
43594         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
43595         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
43596         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
43597         expressions instead of #if expressions when this is easy.
43598         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
43599         as it is no longer needed.
43600         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
43601         Simplify stack-overflow checking when BYTE_CODE_SAFE.
43603 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43605         Get BYTE_CODE_METER working again
43607         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
43608         noticed.  Perhaps we should remove it?
43609         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
43610         Use *aref_addr instead of AREF, since it needs to be an lvalue.
43612 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
43614         Fix cursor position under scroll-conservatively and overlay strings
43616         * src/xdisp.c (try_scrolling): Handle the case where the last
43617         visible screen line of a window displays a before- or after-string
43618         that takes up the whole screen line, and therefore there's no
43619         place to display the cursor, even though the window does seem to
43620         include the position of point.  (Bug#24179)
43622 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
43624         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
43626 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
43628         Tune interpretation of integer arglist descriptor
43630         * src/bytecode.c (exec_byte_code):
43631         Simplify and tune when INTEGERP (args_template).
43633 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
43635         Fix debugging of string-match-p errors
43637         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
43638         that debugger code that needs to do regexp match won't break
43639         (Bug #23949, Bug #24166, Bug#16294).
43641 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
43643         Add `make-nearby-temp-file' and `temporary-file-directory'
43645         * doc/lispref/files.texi (Unique File Names):
43646         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
43647         (Magic File Names): Mention `make-nearby-temp-file' and
43648         `temporary-file-directory'.
43650         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
43651         `temporary-file-directory'.
43653         * lisp/files.el (mounted-file-systems): New defcustom.
43654         (temporary-file-directory, make-nearby-temp-file): New defuns.
43655         (normal-backup-enable-predicate): Fix docstring.
43657         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
43658         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
43659         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
43660         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
43661         <make-nearby-temp-file, temporary-file-directory>: Add handler.
43663         * lisp/net/tramp.el (tramp-file-name-for-operation):
43664         Add `make-nearby-temp-file' and `temporary-file-directory'.
43665         (tramp-get-remote-tmpdir): Remove compatibility code.
43666         (tramp-handle-temporary-file-directory)
43667         (tramp-handle-make-nearby-temp-file): New defuns.
43669         * lisp/org/ob-core.el (org-babel-local-file-name):
43670         * lisp/progmodes/gud.el (gud-common-init):
43671         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
43673         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
43675         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
43676         Check `tramp--test-enabled'.
43677         (tramp-test18-file-attributes): Add tests for
43678         `file-ownership-preserved-p'.
43679         (tramp-test27-start-file-process, tramp-test28-shell-command):
43680         Reduce timeouts in `accept-process-output'.
43681         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
43682         (tramp-test29-environment-variables): Remove additional sleep calls.
43683         (tramp-test32-make-nearby-temp-file): New test.
43684         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
43685         (tramp-test33-special-characters)
43686         (tramp-test33-special-characters-with-stat)
43687         (tramp-test33-special-characters-with-perl)
43688         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
43689         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43690         (tramp-test34-utf8-with-ls)
43691         (tramp-test35-asynchronous-requests)
43692         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
43693         (tramp--test-ftp-p): Simplify check.
43694         (tramp--test-sh-p): New defun.
43695         (tramp-test20-file-modes, tramp-test22-file-times)
43696         (tramp-test26-process-file, tramp-test27-start-file-process)
43697         (tramp-test28-shell-command)
43698         (tramp-test29-environment-variables)
43699         (tramp-test30-vc-registered)
43700         (tramp-test33-special-characters-with-stat)
43701         (tramp-test33-special-characters-with-perl)
43702         (tramp-test33-special-characters-with-ls)
43703         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43704         (tramp-test34-utf8-with-ls)
43705         (tramp-test35-asynchronous-requests): Use it.
43707 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
43709         Add missing dcstrings in Tramp, remove chec for obsolee methods
43711         * lisp/net/tramp.el (tramp-progress-reporter-update)
43712         (tramp-unload-file-name-handlers, tramp-get-local-uid)
43713         (tramp-get-local-gid, tramp-get-local-locale):
43714         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
43715         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
43716         * lisp/net/tramp-compat.el (tramp-compat-funcall):
43717         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
43718         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
43719         * lisp/net/tramp-sh.el (tramp-get-remote-path)
43720         (tramp-get-remote-locale, tramp-get-ls-command)
43721         (tramp-get-ls-command-with-dired)
43722         (tramp-get-ls-command-with-quoting-style)
43723         (tramp-get-ls-command-with-w-option)
43724         (tramp-get-test-nt-command, tramp-get-file-exists-command)
43725         (tramp-get-remote-ln, tramp-get-remote-perl)
43726         (tramp-get-remote-stat, tramp-get-remote-readlink)
43727         (tramp-get-remote-trash, tramp-get-remote-touch)
43728         (tramp-get-remote-gvfs-monitor-dir)
43729         (tramp-get-remote-inotifywait, tramp-get-remote-id)
43730         (tramp-get-remote-uid-with-id)
43731         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
43732         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
43733         (tramp-get-remote-gid-with-id)
43734         (tramp-get-remote-gid-with-perl)
43735         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
43736         (tramp-get-env-with-u-option): Add missing docstrings.
43738         * lisp/net/tramp.el (tramp-obsolete-methods)
43739         (tramp-warned-obsolete-methods): Remove.
43740         (tramp-find-method): Do not check for obsolete methods any longer.
43742 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43744         Make sh-mode always use p-s-lookup-properties
43746         This lets functions which rely on syntax-propertize for parsing
43747         work correctly even before font lock has a chance to run.
43749         * lisp/progmodes/sh-script.el (sh-set-shell): Set
43750         parse-sexp-lookup-properties unconditionally (Bug #4920).
43752 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43754         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
43756         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
43757         list when showing its (non-existent) arguments (Bug #18587).
43759 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43761         Don't delete selection after indent-rigidly
43763         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
43764         function to `set-transient-map', this prevents `delete-selection-mode'
43765         from deleting the text that was just indented (Bug #20408).
43767 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43769         Fix byte-compile of interactive closures
43771         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
43772         bindings after docstring and `interactive' form, if any (Bug #24122).
43774 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43776         Error if --eval arg has text beyond 1 expression
43778         * lisp/startup.el (command-line-1): If --eval argument has more data
43779         than constitutes a single Lisp expression, signal an error (Bug #23159).
43781 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43783         Fix quoted lambda warning from lexical-let
43785         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
43786         with `function', not `quote' (Bug #11357).
43788 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43790         Make emerge always use shell-quote-argument
43792         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
43793         (emerge-protect-metachars): Delete.
43794         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
43795         `emerge-protect-metachars' with `shell-quote-argument' so that shell
43796         quoting is done the same on all system types (Bug #6136).  Also shell
43797         quote `emerge-diff-program' and `emerge-diff3-program'.
43799 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43801         Fix 'dired-diff' when backup file is in another directory
43803         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
43804         the default for FILE is computed, especially when backup files
43805         are involved.  Support backup files in another directory.
43806         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
43808 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43810         Fix the 'T' command in Dired with non_ASCII file names
43812         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
43813         to correctly encode file names passed to the invoked PROGRAM.
43814         (Bug#24162)
43816 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
43818         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
43820 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43822         Merge from origin/emacs-25
43824         d841a03 ; Spelling fix
43825         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
43826         d35d398 Update to the AUTHORS file for Bob Weiner
43827         4d2f4df Revert "Fix local printer set to left aligned string formatter."
43828         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
43829         f7ceb8e Revert "Fix English."
43830         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
43831         aa4271a Fix doc string of 'minibuffer-message-timeout'
43832         b275cc7 Fix English.
43833         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
43834         272391f profiler: document prefix arg for tree expansion
43835         442cc39 Clarify usage of eshell-visual-options
43836         b443c3c Fix comment in files-in-below-directory
43837         8a38e94 Fix local printer set to left aligned string formatter.
43838         0f0b191 ; Fix typos in NEWS
43839         6bdf687 ; * etc/NEWS: Remove temporary marks
43841 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43843         Merge from origin/emacs-25
43845         d08afa1 * etc/AUTHORS: Update the AUTHORS file
43846         2668500 ;; * ChangeLog.2: ChangeLog update.
43847         7acfaea ; ChangeLog fixes
43848         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
43849         9ab52f6 * admin/authors.el: Additions.
43850         0e646c7 Warn about Cairo-related problems
43851         bc4c07f Don't let completion break `declare' handling
43852         66f95e0 Adjust match data before calling after-change-funs
43853         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
43854         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
43856         # Conflicts:
43857         #       ChangeLog.2
43858         #       src/lisp.h
43860 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43862         Merge from origin/emacs-25
43864         9a41cd1 ; Fix typo
43865         9356fe2 Expand FIXME near definition of fboundp
43866         219b39f kill-rectangle should mention killed-rectangle
43867         59fa4c3 Avoid assertion violations in nhexl-mode
43869 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43871         Merge from origin/emacs-25
43873         9ba51ed Document buffer-swap-text+save-excursion interaction
43874         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
43875         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
43876         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
43877         05ba7a0 Add test for handling environment variables in Tramp
43878         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
43879         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
43880         90f2169 ; Spelling fixes
43881         069fc05 Improve documentation of search functions
43882         0a0144a Delete environment variables in Tramp when needed
43883         f624671 Add "New in Emacs 25" section to the FAQ
43884         658daf9 Fix 'vertical-motion' in non-interactive sessions
43885         686b520 Fix memory leak in imagemagick-types
43886         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
43887         1b2d6a6 Clarify docstring of find-feature-regexp
43888         aac62a6 Add details to cl-lib defining macros' docstrings
43889         d6aa4da Clarify doc string of 'save-buffer'
43890         03bcf11 Un-confuse doc string of 'string-collate-equalp'
43891         c53135b Clarify documentation of 'mouse-on-link-p'
43893         # Conflicts:
43894         #       lisp/emacs-lisp/eieio-core.el
43896 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43898         Merge from origin/emacs-25
43900         6f285d9 Amend last addition to etc/PROBLEMS
43901         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
43903 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43905         Merge from origin/emacs-25
43907         d4c6774 Fix missing point information in undo
43908         3a9d629 Avoid crashes when buffer modification hooks clobber match data
43909         178b2f5 Note combine-and-quote-strings doesn't shell quote
43910         dec7567 Explain when package-initialize isn't called
43911         113d1e2 Fix escaping in sh-indent-after-continuation docstr
43912         80e2044 ; * etc/NEWS: Improve previous change.
43913         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
43914         38f4b8e Clarify the documentation of back-references in replacements
43916 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43918         Merge from origin/emacs-25
43920         850ba44 Clarify lexical binding with symbol args behavior
43921         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
43922         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
43923         21110af Avoid assertion violations when rendering some fonts
43924         6192b6c Document more details of package activation
43925         272ddc6 Fixup warning message regarding HOME a bit more
43926         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
43927         d41f7ff Fix input method "probhat" for Bengali
43928         c150a64 ; Fix typo in commit before last
43929         ebf0472 Add to elisp-completion-at-point's docstring
43930         fd9fad0 Give more helpful warning about setting HOME
43931         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
43933         # Conflicts:
43934         #       lisp/term.el
43936 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43938         Merge from origin/emacs-25
43940         26d4da0 New input method "probhat" for Bengali
43941         4f445bf ; Spelling fix
43942         f403f03 ; Fix typo
43944 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43946         Spelling and minor grammar fixes
43948         * test/file-organization.org: Rename from test/file-organisation.org.
43950 2016-08-04  Alan Mackenzie  <acm@muc.de>
43952         Widen in certain low level CC Mode functions.  This fixes bug #24148.
43954         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
43955         (c-state-full-pp-to-literal): Widen around the functionality.
43956         (c-parse-ps-state-below): Correct the order of save-excursion and
43957         save-restriction.
43959 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
43961         Fix Bug#24149
43963         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
43964         overriding-terminal-local-map.  (Bug#24149)
43966 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43968         Update from gnulib
43970         This incorporates:
43971         2016-07-03 mktime: call tzset as per POSIX
43972         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
43973         Copy from gnulib.
43975 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43977         Fix GnuTLS includes
43979         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
43980         a second time; although it doesn’t hurt, it’s not needed.
43981         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
43982         as it may not be available.  Problem reported by Glenn Morris in:
43983         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
43985 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
43987         Fix accessing regex-resources in out-of-tree test runs in regex-tests
43989         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
43990         fix regex-tests failing when run from the source tree (i.e. via make)
43991         by hard-coding path to regex-resources directory relative to the test
43992         directory.
43994         This fixed runs from the tree but broke the test when run using other
43995         methods.
43997         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
43999         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
44000         storing path to the regex-resources directory.
44001         (regex-tests-generic-line): Use aforementioned variable.
44003 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
44005         Simplify by assuming GnuTLS 2.12.2 or later
44007         * src/gnutls.c (gnutls_certificate_details):
44008         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
44010 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
44012         Port to systems lacking GNUTLS_NONBLOCK
44014         Problem reported by Colin Baxter in:
44015         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
44016         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
44018 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
44020         Fix non-blocking GnuTLS with slow connection
44022         Although the problem is reported for OS X (Bug#23982), it seems to
44023         be possible on other POSIXish platforms.
44024         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
44025         New function.
44026         (emacs_gnutls_handshake) [!WINDOWSNT]:
44027         Use it as the errno function, if non-blocking.
44028         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
44030 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
44032         Require GnuTLS 2.12.2 or later
44034         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
44035         instead of merely 2.6.6 or later (Bug#23982#20).
44036         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
44037         [WINDOWSNT]: Don’t bother with gnutls_check_version or
44038         gnutls_transport_set_lowat, as they are no longer needed now that
44039         we require gnutls 2.12.2 or later.
44041 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44043         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
44045         * src/window.h (sanitize_window_sizes): Adjust prototype.
44046         * src/frame.c (adjust_frame_size): Adjust calls.
44048 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
44050         Fix (mapcar F S) crash when F alters S’s length
44052         * src/fns.c (mapcar1): Return number of elements computed,
44053         which can be less than LENI if the function alters the list.
44054         All callers changed.  (Bug#24118)
44056 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
44058         Port window changes to --enable-gcc-warnings
44060         * src/window.c (sanitize_window_sizes): Return void.
44061         This pacifies GCC, and no caller uses the return value anyway.
44063 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44065         * src/window.c: Fix bootstrap failure due to window.el changes
44067         (sanitize_window_sizes): Adjust to new calling convention of
44068         window--sanitize-window-sizes and only call it if defined.
44069         (Fwindow__sanitize_window_sizes): Remove.
44070         (syms_of_window): Don't defsubr it.
44072 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
44074         Fix Bug#23883
44076         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
44077         Call `process-actions' with adapted position.  The connection
44078         buffer might have been cleaned up already.  (Bug#23883)
44080 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
44082         Port regex changes to strict ISO C
44084         * src/regex.c (regex_compile): Redo casts.
44086 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44088         * lisp/window.el: Use lexical-binding
44090         (window--min-size-ignore-p): Remove unused arg `horizontal'.
44091         (window--sanitize-window-sizes): Remove unused arg `frame'.
44092         (window-edges): Remove unused vars left-off and right-off.
44093         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
44094         Avoid extraneous setq and do a bit of CSE.
44095         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
44096         and `toolbar-extra-height'.
44097         (window-adjust-process-window-size): Remove unused arg `process'.
44099 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44101         Fix unused lexical variable
44103         This fixes the following warning:
44105             In toplevel form:
44106             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
44108         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
44109         variable.
44111 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44113         Remove unused STREQ macro
44115         This fixes the following compilation warning:
44117             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
44118              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
44119              ^
44121         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
44122         in a [4538a5e: Refactor regex character class parsing in [:name:]]
44123         commit but was mistakenly left out.
44125 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44127         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
44128         load-history format
44130         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
44131         (cl-generic-define-method, cl--generic-describe): Use it.
44132         (cl--generic-search-method): Adjust for new format.
44134         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
44135         * test/lisp/progmodes/elisp-mode-tests.el:
44136         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
44137         internal format.
44139 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44141         Hardcode regex syntax to remove dead code handling different syntax
44143         Emacs only ever uses its own regex syntax so support for other syntaxes
44144         is never used.  Hardcode the syntax so that the compilar can detect such
44145         dead code and remove it from compiled code.
44147         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
44148         specified.  Handle this separatelly with a function argument (replacing
44149         now unnecessary syntax argument).
44151         With this patchset, size of Emacs binary on x86_64 machine is reduced by
44152         around 60 kB:
44154                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
44155                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
44157         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
44158         (re_compile_pattern): Replace syntax with posix_backtracking argument.
44160         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
44161         (regex_compile): #ifdef emacs, replace syntax argument with
44162         posix_backtracking which is now used instead of testing for
44163         RE_NO_POSIX_BACKTRACKING syntax.
44164         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
44165         (re_compile_pattern): Replace syntax with posix_backtracking argument.
44167         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
44168         instead of syntax to re_compile_pattern.
44170 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44172         Get rid of re_set_whitespace_regexp
44174         * src/regex.h (re_set_whitespace_regexp): Delete.
44175         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
44177         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
44178         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
44179         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
44180         unless building Emacs.
44181         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
44183         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
44184         pass the regex as argument to re_compile_pattern instead.
44186 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44188         Get rid of re_set_syntax
44190         Instead of using a global variable for storing regex syntax, pass it
44191         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
44192         ‘#ifdef emacs’).
44194         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
44195         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
44197         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
44198         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
44200         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
44201         instead pass syntax to re_compile_pattern directly.
44203 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44205         Remove dead opcodes in regex bytecode
44207         There is no way to specify before_dot and after_dot opcodes in a regex
44208         so code handling those ends up being dead.  Remove it.
44210         * src/regex.c (print_partial_compiled_pattern, regex_compile,
44211         analyze_first, re_match_2_internal): Remove handling and references to
44212         before_dot and after_dot opcodes.
44214 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44216         Refactor regex character class parsing in [:name:]
44218         re_wctype function is used in three separate places and in all of
44219         those places almost exact code extracting the name from [:name:]
44220         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
44221         string, so the name of the character class is copied to a temporary
44222         buffer.
44224         The code duplication and unnecessary memory copying can be avoided by
44225         pushing the responsibility of parsing the whole [:name:] sequence to
44226         the function.
44228         Furthermore, since now the function has access to the length of the
44229         character class name (since it’s doing the parsing), it can take
44230         advantage of that information in skipping some string comparisons and
44231         using a constant-length memcmp instead of strcmp which needs to take
44232         care of NUL bytes.
44234         * src/regex.c (re_wctype): Delete function.  Replace it with:
44235         (re_wctype_parse): New function which parses a whole [:name:] string
44236         and returns a RECC_* constant or -1 if the string is not of [:name:]
44237         format.
44238         (regex_compile): Use re_wctype_parse.
44239         * src/syntax.c (skip_chars): Use re_wctype_parse.
44241 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44243         Split regex glibc test cases into separet tests
44245         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
44246         tests cases.
44247         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
44248         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
44249         from ‘regex-tests’.
44251 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44253         Don’t (require 'cl)
44255         * test/src/regex-tests.el: Don’t (require 'cl).
44256         (regex-tests-PCRE): s/loop/cl-loop/
44258 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
44260         Fix reading of regex-resources in regex-tests
44262         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
44263         ‘buffer-file-name’ does not work when running the test from command
44264         line, i.e. via make, which results in (wrong-type-argument stringp nil)
44265         failures.  Replace it with hard-coded path.
44266         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
44267         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
44268         the ‘regex-resources’ path component so the tests don’t need to specify
44269         it explicitly.
44271 2016-08-02  Dima Kogan  <dima@secretsauce.net>
44273         Added driver for the regex tests
44275         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
44276         cases.
44278         [mina86@mina86.com: merged test with existing file]
44280 2016-08-02  Dima Kogan  <dima@secretsauce.net>
44282         New regex tests imported from glibc 2.21
44284         * test/src/regex-resources/BOOST.tests:
44285         * test/src/regex-resources/PCRE.tests:
44286         * test/src/regex-resources/PTESTS:
44287         * test/src/regex-resources/TESTS:
44288         New test data files
44290         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
44292 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
44294         Fix use-after-close in connect_network_socket
44296         * src/process.c (connect_network_socket):
44297         Reverse sense of previous fix.  Problem reported by Ken Brown in:
44298         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
44300 2016-08-01  Glenn Morris  <rgm@gnu.org>
44302         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
44303         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
44305 2016-07-31  Stefan Merten  <stefan@merten-home.de>
44307         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
44309         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
44310         representing reStructuredText section header concepts.
44311         (rst-mode-map, rst-new-preferred-hdr)
44312         (rst-update-section, rst-classify-adornment)
44313         (rst-ttl-at-point, rst-all-ttls-cache)
44314         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
44315         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
44316         (rst-all-ttls-with-level, rst-get-previous-hdr)
44317         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
44318         (rst-adjust-section, rst-promote-region)
44319         (rst-display-hdr-hierarchy, rst-straighten-sections)
44320         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
44321         (rst-toc-insert-node, rst-toc-node, rst-toc)
44322         (rst-forward-section, rst-adornment-level)
44323         (rst-font-lock-handle-adornment-pre-match-form)
44324         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
44325         using classes.
44326         (rst-compare-adornments, rst-get-adornment-match): Remove
44327         functions now in classes.
44328         (rst-re-alist-def, rst-toc-mode)
44329         (rst-font-lock-extend-region-extend): Minor improvements.
44330         (rst-mode, rst-compile): Use `setq-local'.
44331         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
44332         (rst-official-version, rst-official-cvs-rev)
44333         (rst-package-emacs-version-alist): Maintain version tags.
44335 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
44337         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
44339         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
44340         bar width (Bug#24107).  Reindent.
44341         * src/xfns.c (frame_geometry): Fix calculation of tool bar
44342         width on non-GTK builds.
44344 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
44346         Fix region display while dragging mouse
44348         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
44349         buffer of the drag event, to allow mark to be set and the region
44350         be shown as we drag the mouse.  (Bug#24030)
44352 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
44354         Copy just non-empty strings to kill-ring
44356         * lisp/dired.el (dired-copy-filename-as-kill):
44357         Do not change the kill ring when the string is empty (Bug#24103).
44359 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
44361         Avoid warnings about undo list while decoding
44363         * src/coding.c (coding_restore_undo_list): New function.
44364         (decode_coding_gap, decode_coding_object): Temporarily set the
44365         buffer's undo list to t, to avoid warnings when decoding changes
44366         the buffer many times, e.g. due to post-read-conversion.  Use
44367         coding_restore_undo_list to make sure the undo list is restored.
44368         (Bug#23813)
44370 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
44372         profiler: Add mouse-1 binding for tree expansion
44374         (profiler-report-mode-map): Add mouse-1 binding for
44375         profiler-report-toggle-entry (Bug #13455).
44377 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
44379         Enable addition of local printers from a mode hook.
44381         * doc/misc/ses.texi (Printer functions): Split the node into 5
44382         sub-nodes + add some extra documentation.
44383         (Various kinds of printer functions): Make an itemization to
44384         disintguish better the 3 types of printers, give an example of
44385         lambda printer definition.
44386         (Standard printer functions): Add documentation for ses-prin1
44387         printer function.
44388         (Local printer functions): Add documentation for creating
44389         local printers programmatically from a hook.
44390         (Writing a lambda printer function): Add documentation about
44391         anti-stackoverflow precautions to take when you call the
44392         standard printer functions from inside a local printer.
44394         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
44395         among standard printer function, and update docstring
44396         accordingly.
44397         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
44398         of prin1-to-string.
44399         (ses-define-local-printer): Add definition to arguments so
44400         that a local printer can be defined programmatically from a
44401         mode hook.  Make docstring more substantial.  Use completing
44402         read for local printer name input.  Plus some minor
44403         optimization.
44404         (ses-define-if-new-local-printer): New defsubst.
44405         (ses-center, ses-center-span, ses-dashfill)
44406         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
44407         as an optional argument to superseed column printer/default
44408         spreadsheet printer.
44409         (ses-prin1): New defun.
44411 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
44413         Prompt to save gnus-cloud-method.
44415         Since `gnus-cloud-method' is a defcustom, when it's set, we should
44416         prompt the user to save it, so the customization is not lost on
44417         restart.
44419         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
44420         Prompt to save the customization of `gnus-cloud-method'.
44422 2016-07-27  Ken Brown  <kbrown@cornell.edu>
44424         Fix dired-test-bug22694
44426         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
44427         "bug22694" directory, if it exists, before running the test.  It
44428         might be left over from a previous aborted run of the test.
44430 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
44432         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
44434         * src/regex.c (mutually_exclusive_p): Fix how whether character is
44435         unibyte is tested when calling execute_charset function.  This bug has
44436         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
44437         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
44438         Reinstitute it.
44440 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
44442         Remove hook when disabling ibuffer-auto-mode
44444         * lisp/ibuf-ext.el (ibuffer-auto-mode):
44445         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
44447 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
44449         * lisp/subr.el (cancel-change-group): Reset cell in case of error
44451         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
44452         to make sure we properly undo the temporary change even in case of error.
44454 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
44456         Avoid segfaults in compute_motion
44458         * src/indent.c (compute_motion): Don't turn on and don't use the
44459         width cache unless the buffer's width-table is non-nil.  This
44460         avoids segfaults because code that uses the width cache assumes
44461         the width-table exists.  (Bug#24064)
44463 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
44465         Do not sharp-quote lambdas
44467         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
44469 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
44471         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
44472         'base64-gzip encoding.
44474 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
44476         Add warning to format-alist docs.
44478         */doc/lispref/files.texi (format-alist) Change documentation for
44479         format-alist to warn against file modifications when formatting, which
44480         leads to incorrect results.  (Bug#5440)
44482         Changes suggested by Eli.
44484 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
44486         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
44487         Preserve key bindings that shr adds (bug#23964).
44489 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
44491         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
44493         The regex engine tries to optimize Kleene star by avoiding backtracking
44494         when it can detect that star’s operand cannot match what follows it in
44495         the pattern.
44497         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
44498         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
44499         the entire string.  Literal digit one still present in the pattern will
44500         however not match the remaining empty string.
44502         Normally, backtracking would be performed trying a shorter match for the
44503         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
44504         engine knows whatever would be put back into the string cannot possibly
44505         match literal digit one so no backtracking will be attempted.
44507         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
44508         if the character class CC does not match character X.  In the above
44509         example, this holds because digit one is not in alpha character class.
44511         This test is performed by mutually_exclusive_p function but it did not
44512         check class bits of a charset opcode.  This resulted in an assumption
44513         that character classes do not match multibyte characters.  For example,
44514         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
44516         This, in turn, led to the aforementioned Kleene star optimization being
44517         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
44518         match ‘☠’ but doesn’t as can be tested by executing
44519             (string-match-p "[[:graph:]]*☠" "☠")
44520         which should return 0 but instead yields nil.
44522         This issue affects any class witch matches multibyte characters, i.e.
44523         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
44524         fail to match ‘X’.
44526         * src/regex.c (executing_charset): A new function for executing the
44527         charset and charset_not opcodes.  It performs check on the character
44528         taking into consideration existing bitmap, range table and class bits.
44529         It also advances the pointer in the regex bytecode past the parsed
44530         opcode.
44531         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
44532         Code now included in executing_charset.
44533         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
44534         of executing_charset function.
44536         * test/src/regex-tests.el: New file with tests for the character class
44537         matching.
44539 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
44541         Fix auto-reverting image-mode buffer (bug#21598)
44543         When auto-reverting an image buffer, `image-mode' is not called since
44544         `revert-buffer' is called with `preserve-modes' set to non-nil.
44546         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
44547         image display property for the current buffer before updating it.
44549 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44551         ‘signal’ no longer returns
44553         Although for decades ‘signal’ has been documented to not return,
44554         a corner case in the Lisp debugger causes ‘signal’ to return.
44555         Remove the corner case and adjust Emacs internals accordingly.
44556         An alternative would be to document the corner case, but this
44557         would complicate the Lisp API unnecessarily.  (Bug#24047)
44558         * src/eval.c (signal_or_quit): New function, with most of the
44559         old contents of Fsignal.
44560         (quit): New function, which uses signal_or_quit and which
44561         might return.  All keyboard-based callers of Fsignal (Qquit,
44562         Qnil) changed to use this new function instead.
44563         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
44564         changed.
44565         (xsignal): Move to lisp.h.
44566         * src/lisp.h (xsignal): Now an inline function, as it's now
44567         just an alias for Fsignal.
44569 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44571         Require libgnutls unless --with-gnutls=no
44573         * configure.ac: Report an error if the gnutls library is missing,
44574         unless --with-gnutls=no is specified.
44576 2016-07-23  Alan Mackenzie  <acm@muc.de>
44578         Fontify C++ parameter packs.
44580         This fixes debbugs #23610.
44582         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
44583         c-lang-defconsts/defvars.
44584         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
44586         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
44588 2016-07-23  Alan Mackenzie  <acm@muc.de>
44590         Java Mode: Handle strings as case labels correctly.
44592         This fixes debbugs #23901.
44594         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
44595         Java value.
44597 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
44599         Avoid repeated warnings while restoring desktop
44601         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
44602         when files are being opened during desktop restore.
44604 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
44606         Fix compilation warning in the MinGW build
44608         * nt/inc/ms-w32.h: Include stdint.h.
44609         (_execvp, execve): Provide prototypes.
44611         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
44612         it is now in nt/inc/ms-w32.h.
44613         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
44614         mismatch.
44615         (sys_ctime): Remove, not used.
44617 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
44619         Move read-multiple-choice to subr-x.el
44621         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
44623         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
44624         from subr.el.
44626         * lisp/gnus/message.el (subr-x): Ditto.
44628         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
44630         read-multiple-choice doesn't need to be in the dumped Emacs, so move
44631         it to a less central file.
44633 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44635         Update define-ibuffer-op doc string
44637         * lisp/ibuf-macs.el (define-ibuffer-op):
44638         Mention that BODY is evaluated with 'buf' bound to the actual
44639         marked buffer being processed.
44641 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44643         Update define-ibuffer-op doc string
44645         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
44646         instead of refer the reader to the source code.
44647         Document arg BODY.
44649 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44651         Fix shell-command[-on-region] doc strings
44653         * lisp/simple.el (shell-command, shell-command-on-region):
44654         Drop the sentence saying that the command may delete the buffer
44655         '*Shell Command Output*': the command never delete such
44656         buffer (Bug#23936).
44658 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44660         ;Revert ";Partially revert 2649105a"
44662         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
44664 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44666         ;Partially revert 2649105a
44668         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
44669         setq-local to modify prettify-symbols-compose-predicate.
44671 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
44673         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
44675         (struct byte_stack): Re-add `bottom'.
44676         (exec_byte_code): Initialize it.
44678 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44680         Ibuffer: Use default output buffer for shell commands
44682         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
44683         '*Shell Command Output*', as command 'shell-command-file'.
44685 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44687         Fix failing test
44689         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
44690         Enable Font Lock mode in order to initialize
44691         'char-property-alias-alist' (Bug#23954).
44693 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
44695         Fix use-after-close in connect_network_socket
44697         * src/process.c (connect_network_socket): Don’t use
44698         external_sock_fd after closing it.  Problem found by Coverity Scan.
44700 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
44702         * lisp/net/shr.el (shr-fill-line):
44703         Preserve text properties in folded lines (bug#24034).
44705 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44707         Fix lifetime bug in tzlookup
44709         * src/editfns.c (tzlookup): Fix storage lifetime bug when
44710         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
44712 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
44714         Fix shr.el/image build problem
44716         (Bug#24035)
44718         * lisp/net/shr.el: Require image, since some builds seem to
44719         break without it (bug#24035).
44721 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
44723         Bring the Gnus Cloud package into working order.
44725         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
44727         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
44728         simplify non-file data.
44729         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
44730         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
44731         EPG if that's available, Base64+gzip otherwise.
44732         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
44733         interactive, defaults to enabled.
44734         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
44735         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
44736         "Version".
44737         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
44738         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
44739         storage methods as per gnus-cloud-storage-method.
44740         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
44741         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
44742         entries.
44743         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
44744         file and data handlers.
44745         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
44746         entries.
44747         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
44748         be more careful.
44749         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
44750         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
44751         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
44752         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
44753         (gnus-cloud-prune-old-chunks): Fix indentation.
44754         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
44755         timestamp.
44756         (gnus-cloud-file-new-p): Use it.
44757         (gnus-cloud-upload-all-data): Add interactive convenience function to
44758         upload all data.
44759         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
44760         data separately; refresh Gnus Cloud group after insert.
44761         (gnus-cloud-download-all-data): Add interactive convenience function to
44762         download all data.
44763         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
44764         marker and different storage methods.
44765         (gnus-cloud-host-server-p): New function to check if a server is the
44766         Gnus Cloud host.
44767         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
44768         (gnus-cloud-host-acceptable-method-p): New function so
44769         other code can check if a server method can host the Gnus cloud.
44770         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
44771         (gnus-cloud-method): Make this a defcustom and note how to set it.
44773         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
44774         keybindings under the `~' prefix.
44776         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
44777         (gnus-server-cloud, gnus-server-cloud-host)
44778         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
44779         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
44780         synchronized servers and synchronization host server toggling (`i' and
44781         `I') and visual display.
44782         (gnus-server-toggle-cloud-method-server): Use
44783         gnus-cloud-host-acceptable-method-p.
44784         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
44785         set the gnus-cloud-method. Ask the user if it's OK to upload the data
44786         right now.
44788         * doc/misc/gnus.texi: Document Gnus Cloud package.
44790 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44792         Remove CHECK_FRAME_FONT cruft from bytecode.c
44794         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
44795         Remove some old ‘#if 0’ code.
44797 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44799         Work around GCC bug 54561 in a better way
44801         The new approach is less selective, but also less intrusive on C code.
44802         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
44803         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
44805 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44807         Fix port to glibc 2.24 (pre-release) + ppc64
44809         * src/callproc.c (child_setup): Use emacs_exec_file
44810         so that ASLR is enabled in the child process.
44811         * src/emacs.c: Move some personality details into sys/sysdep.c.
44812         Do not include <sys/personality.h>.
44813         (main): Disable ASLR earlier, so that we don’t chdir twice.
44814         * src/lisp.h (disable_address_randomization): New decl.
44815         * src/sysdep.c (disable_address_randomization)
44816         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
44817         here from emacs.c.
44818         (emacs_exec_file): New function.
44820 2016-07-19  Alan Third  <alan@idiocy.org>
44822         Prevent bar cursor overwriting next glyph (bug#16856)
44824         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
44825         before setting final size.
44827 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
44829         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
44831         * src/insdel.c (adjust_markers_bytepos): New function.
44832         * src/lisp.h (adjust_markers_bytepos): Add prototype.
44833         * src/insdel.c (replace_range, replace_range_2):
44834         * src/editfns.c (Ftranspose_regions): Call
44835         adjust_markers_bytepos.  (Bug#5131)
44837         * test/src/editfns-tests.el (transpose-test-reverse-word)
44838         (transpose-test-get-byte-positions): New functions.
44839         (transpose-ascii-regions-test)
44840         (transpose-nonascii-regions-test-1)
44841         (transpose-nonascii-regions-test-2): New tests.
44843 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
44845         Make gif animation work (bug#24004)
44847         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
44848         an animation is too big (bug#24004).
44850 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
44852         * lisp/simple.el (undo-amalgamate-change-group): New function
44854         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
44855         (viper-set-complex-command-for-undo): Save current state with
44856         prepare-change-group.
44857         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
44858         (viper-buffer-undo-list-mark): Remove.
44860 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
44862         Keep w32 environment settings internal only
44864         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
44865         set_initial_environment call.  This prevents Emacs' modifications to the
44866         environment from contaminating Vprocess_environment and
44867         Vinitial_environment (Bug #10980).
44868         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
44869         environment in as a fallback to Vprocess_environment.
44870         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
44872 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
44874         Better documentation for cl-reduce (bug#24014)
44876         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
44878 2016-07-17  Alan Third  <alan@idiocy.org>
44880         Remove separate pool for popup dialogs (bug#23856)
44882         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
44883         autorelease pool and Popdown_data struct.
44885 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
44887         Use eldoc-documentation-functions
44889         * lisp/hexl.el (hexl-mode):
44890         * lisp/ielm.el (inferior-emacs-lisp-mode):
44891         * lisp/progmodes/cfengine.el (cfengine3-mode):
44892         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
44893         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
44894         * lisp/progmodes/python.el (python-mode):
44895         * lisp/simple.el (read--expression): Add buffer-locally to hook
44896         eldoc-documentation-functions.
44898 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44900         Optimize ucs-normalize.el compilation
44902         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
44903         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
44904         regexp-opt.
44905         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
44906         temp buffer for the whole loop.
44908 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44910         Add tests for ucs-normalize.el
44912         Some tests are marked as expected to fail.
44914         * test/lisp/international/ucs-normalize-tests.el: New tests.
44915         * admin/unidata/NormalizationTest.txt: Add data for tests.
44916         * admin/unidata/README: Add URL for NormalizationTest.txt.
44917         * admin/notes/unicode: Add note about running (and updating the data
44918         for) the new tests.  Remove note about normalization being unsupported.
44920 2016-07-16  Alan Third  <alan@idiocy.org>
44922         Fix cursor display (bug#23993)
44924         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
44926 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44928         Stop worrying about Alliant in bytecode.c
44930         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
44932 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44934         Remove BYTE_MAINTAIN_TOP
44936         It is no longer needed now that we assume GC_MARK_STACK ==
44937         GC_MAKE_GCPROS_NOOPS.
44938         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
44939         All uses removed, and code simplified accordingly.
44940         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
44941         are always no-ops now.  All uses removed.
44942         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
44943         since it is now equivalent.
44945 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44947         Remove now-inaccurate bytecode comments
44949         * src/bytecode.c: Remove comments that are no longer accurate.
44950         Most of these are actually old ChangeLog entries.
44952 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44954         Port to glibc 2.24 (pre-release) + ppc64
44956         Inspired by a suggestion by Florian Weimer in:
44957         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
44958         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
44959         Rename from HAVE_PERSONALITY_LINUX32, and check for
44960         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
44961         All uses changed.
44962         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
44963         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
44964         flag ourselves.  Just set that flag, rather than also setting the
44965         persona.  When doing it, avoid functions like putenv that may
44966         allocate memory.
44968 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
44970         Revert "Add a couple cells to lisp-prettify-symbols-alist"
44972         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
44974 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
44976         * lisp/simple.el (shell-command): Add save-match-data comment
44978 2016-07-14  Alan Mackenzie  <acm@muc.de>
44980         CC Mode: correct incorrect invocation of parse-partial-sexp.
44982         Fixes bug #23944.
44984         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
44985         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
44987 2016-07-14  Andreas Schwab  <schwab@suse.de>
44989         Fix configure summary for hybrid malloc configurations
44991         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
44992         parenthesize value of GNU_MALLOC_reason.
44994 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
44996         Fix delete-duplicate-lines
44998         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
44999         first line when operating backward (bug#23863).
45001 2016-07-14  Andreas Schwab  <schwab@suse.de>
45003         Remove unused SHEAP_OBJ
45005         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
45007 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
45009         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
45010         Use shr-image-map instead of shr-map (bug#23964).
45012 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45014         * lisp/mouse.el (mouse): Consolidate group definition here
45016         * lisp/cus-edit.el (mouse): Remove both group definitions.
45018 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
45020         Include versioned preloaded libraries in `package--builtin-versions'
45022         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
45023         exclude preloaded libraries or remove entries generated for them.
45024         (autoload-generate-file-autoloads): Do not generate autoload
45025         statements for preloaded libraries.
45027 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45029         Omit unnecessary #includes from xwidget.c
45031         * src/xwidget.c: Remove #include directives that are not needed.
45032         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
45033         file is compiled only if the X interface is available.
45035 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45037         Port xwidget.c to GCC 6 with --enable-gcc-warnings
45039         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
45040         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
45041         possible bugs found by GCC.
45043 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
45045         Escape meta chars in commands processed by shell
45047         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
45048         in all commands to be passed to a shell (Bug#23959).
45050 2016-07-12  John Wiegley  <johnw@newartisans.com>
45052         Revert "Cleanup tooltips"
45054         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
45056         I am reverting this change because it was applied without prior discussion
45057         on emacs-devel, and has been found to break the NS port.  It needs more
45058         testing and review before it should be applied here.
45060 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45062         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
45064         (cl-prog, cl-prog*): New macros.
45066 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45068         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
45070         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
45071         (cl--generic-make-defmethod-docstring): New function for that.
45072         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
45073         (cl-generic-define-method, cl--generic-describe): Change `load-history'
45074         format of cl-defmethods, so as not to confused methods with equal
45075         specializers but different qualifiers.
45076         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
45078 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
45080         Don't install keyboard hook when debugged on MS-Windows
45082         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
45083         hook if we are being debugged.  This avoids hosing the debugger,
45084         because the hook is global, and is called in the context of the
45085         thread which installed it, and that thread is stopped when GDB has
45086         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
45088 2016-07-12  Alan Mackenzie  <acm@muc.de>
45090         Amend CC Mode to handle big C++ raw strings correctly.
45092         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
45093         in the +-500 bytes boundaries imposed for macros.
45095         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
45096         macro boundaries here.
45097         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
45098         lower boundary.  Fix the check on the upper boundary.
45100         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
45101         point already being within a raw string.
45103         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
45104         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
45105         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
45106         with other Emacsen.
45108 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
45110         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
45112 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
45114         Cleanup tooltips
45116         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
45117         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
45118         (FRAME_TOOLTIP_P): New macro.
45119         * src/frame.c (make_frame): Mark new frame as regular frame by default.
45120         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
45121         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
45122         and 'Qtooltip_parameters' instead.
45123         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
45124         * src/gtkutil.c (xg_hide_tip): New function.
45125         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
45126         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
45127         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
45128         * src/w32fns.c (unwind_create_tip_frame): Remove.
45129         (w32_display_monitor_attributes_list)
45130         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
45131         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
45132         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
45133         as a tooltip frame and record it using appropriate display info.
45134         (x_hide_tooltip): Add frame arg.
45135         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
45136         base frame parameters, store tooltip hide timer among tooltip frame
45137         parameters.
45138         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
45139         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
45140         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
45141         * src/w32term.c (w32_read_socket): Extract tooltip window id from
45142         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
45143         (x_new_font): Use FRAME_TOOLTIP_P.
45144         (x_free_frame_resources): Reset pointer to tooltip frame.
45145         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
45146         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
45147         Use FRAME_TOOLTIP_P.
45148         * src/xfns.c (x_make_monitor_attribute_list)
45149         (Fx_display_monitor_attributes_list): Likewise.
45150         (unwind_create_tip_frame): Remove.
45151         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
45152         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
45153         as a tooltip frame and record it using appropriate display info.
45154         (x_hide_tooltip): Add frame arg.
45155         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
45156         base frame parameters, store tooltip hide timer among tooltip frame
45157         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
45158         event loop.
45159         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
45160         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
45161         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
45162         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
45163         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
45164         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
45165         (x_free_frame_resources): Reset pointer to tooltip frame.
45166         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
45167         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
45169 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
45171         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
45173 2016-07-11  Mario Lang  <mlang@delysid.org>
45175         Test mapcan
45177         * test/src/fns-tests.el (fns-tests-mapcan): New test.
45179 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
45181         Prevent to apply funcall on t
45183         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
45184         'ediff-after-quit-hook-internal' hook (Bug#23933).
45186 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
45188         Ignore angle mode while simplifying units
45190         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
45191         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
45192         is non-nil (Bug#23889).
45193         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
45194         (math-from-radians-2, math-to-radians-2): Idem.
45196 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
45198         Fix display of composed characters
45200         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
45201         iteration through composition glyphs.  (Bug#23938)
45203 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
45205         Fix composition bug caused by off-by-1 typo
45207         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
45208         computing composition glyph (Bug#23938).
45210 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
45212         Dired always read file system
45214         * lisp/dired.el (dired-always-read-filesystem): Add new option.
45215         (dired-mark-files-containing-regexp): Use it (Bug#22694).
45216         * doc/emacs/dired.texi: Mention it in the manual.
45217         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
45218         ;* etc/NEWS: Add entry for this change.
45220 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
45222         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
45224 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
45226         Avoid 'unused var' 'not left unused var' warnings
45228         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
45229         Rename used var '_buffer' to 'cbuffer'.
45231         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
45232         to cmark'.
45234 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
45236         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
45238 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
45240         Add a note how to use `tramp-own-remote-path'
45242         * doc/misc/tramp.texi (Inline methods, External methods)
45243         (Remote shell setup, Android shell setup)
45244         (Frequently Asked Questions, Frequently Asked Questions):
45245         Use @command and @samp consequently.
45246         (Remote programs): The remote shell must support the -l
45247         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
45249 2016-07-10  Alan Third  <alan@idiocy.org>
45251         Remove App Nap setting from Info.plist (bug#22993)
45253         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
45254         it doesn't actually disable app nap.
45256 2016-07-09  Mario Lang  <mlang@delysid.org>
45258         An efficient built-in mapcan
45260         A built-in version of `mapcan' avoids consing up (and GC'ing) the
45261         intermediate list.
45263         * src/fns.c (Fmapcan): New built-in.
45264         (syms_of_fns): Define.
45266         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
45268         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
45269         if only one sequence is provided.
45271         * lisp/progmodes/hideif.el (hif-delimit):
45272         * lisp/dired-aux.el (dired-do-find-regexp):
45273         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
45274         `cl-mapcan'.
45276         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
45277         compiling.
45279         * lisp/mouse.el (mouse-buffer-menu-map):
45280         * lisp/net/pop3.el (pop3-uidl-dele):
45281         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
45282         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
45283         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
45284         * lisp/gnus/nnmail.el (nnmail-split-it):
45285         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
45286         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
45287         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
45289 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
45291         Detect aliases to built-in functions
45293         * lisp/help-fns.el (describe-function-1): Check for aliases
45294         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
45296         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
45297         failing this test.
45299 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
45301         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
45303         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
45304         New variable.
45305         (tramp-gvfs-maybe-open-connection): Use it.
45307         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
45308         Reorder test.
45310 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
45312         Wrap around error in coreutil's ls
45314         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
45315         "--quoting-style=literal" if remote host supports quoting style.
45316         Recent versions of coreutils changed default quoting style to
45317         "--quoting=shell-escape".
45319 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
45321         Minor tweaks of copying text properties when padding strings
45323         * src/editfns.c (styled_format): Don't include padding on the left
45324         in the properties at the beginning of the string.  (Bug#23897)
45326         * test/src/editfns-tests.el (format-properties): Add tests for
45327         faces when the string is padded on the left or on the right.
45329 2016-07-08  Mario Lang  <mlang@delysid.org>
45331         No need to require the same feature twice.
45333         * lisp/dired-aux.el (require 'cl-lib): Remove.
45335 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
45337         Turn on lexical binding
45339         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
45340         (secrets-search-items, secrets-create-item): Use append.
45341         (secrets-show-secrets): Remove unused binding.
45342         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
45343         Ignore unused arguments.
45345 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
45347         Derive secrets-mode from special-mode
45349         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
45350         (secrets-mode-map): New variable.  Add key bindings to n and p for
45351         navigating lines.
45352         (secrets-mode): Derive from special-mode.  Remove keymap code and
45353         initialization code.  Do not record undo information.  Make
45354         secrets-show-collections the local revert-buffer-function.
45355         (secrets-show-collections): Change signature to satisfy revert-buffer.
45357 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
45359         Add a couple cells to lisp-prettify-symbols-alist
45361         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
45362         "sqrt" and "not".
45364 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
45366         Detect remote uid and gid in tramp-gvfs.el
45368         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
45369         (tramp-gvfs-handler-mounted-unmounted)
45370         (tramp-gvfs-connection-mounted-p):
45371         Make "default-location" a connection property.
45372         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
45373         (tramp-gvfs-maybe-open-connection): Use them.
45375 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
45377         Yet another fix for copying properties by 'format'
45379         * src/textprop.c (extend_property_ranges): Accept an additional
45380         argument OLD_END, and only extend the end of a property range if
45381         its original end is at OLD_END; all the other ranges are left
45382         intact.  (Bug#23897)
45383         * src/editfns.c (styled_format): Pass the original length of the
45384         string to 'extend_property_ranges'.
45385         * src/intervals.h (extend_property_ranges): Adjust prototype.
45387         * test/src/editfns-tests.el (format-properties): Add tests for
45388         bug#23897.
45390 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
45392         Allow selecting region with mouse to move point to beginning
45394         * etc/NEWS: Mention new user option
45395         `mouse-select-region-move-to-beginning'.
45397         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
45398         to the following.
45399         (Word and Line Mouse): Describe how double-clicking mouse-1 to
45400         activate region and `mouse-select-region-move-to-beginning'
45401         affect point.
45403         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
45404         (mouse-set-point): Use it.  (Bug#23478)
45406 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
45408         Fix menu bar breakage
45410         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
45411         to prevent void variable errors, and fix typo (bug#23918).
45413 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
45415         Copy buffer names to kill ring
45417         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
45418         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
45419         ;* etc/NEWS: Add entry for this new feature.
45421 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45423         Remove just input mark
45425         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
45426         just MARK.
45428 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45430         Ibuffer change marks
45432         * lisp/ibuffer.el (ibuffer-change-marks): New command.
45433         (ibuffer-mode-map): Bind it to '* c'.
45434         (ibuffer-mode-groups-popup): Update menus.
45435         (ibuffer-mode): Update mode doc.
45437 2016-07-07  Alan Third  <alan@idiocy.org>
45439         Prevent NS event loop being re-entered (bug#11049)
45441         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
45442         in event loop instead of aborting.
45444 2016-07-07  Alan Third  <alan@idiocy.org>
45446         Fix some deprecated functions
45448         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
45449         convertBaseToScreen with convertRectToScreen.
45450         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
45451         OS X 10.2, and always seems to return nil.
45453 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
45455         Disable App Nap (bug#22993)
45457         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
45459 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
45461         Fix an error in Tramp for rsync
45463         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
45464         Make it work for "rsync".
45465         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
45467 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45469         Ibuffer: Mark locked buffers
45471         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
45472         (ibuffer-mark-by-locked): New command.
45473         (ibuffer-mode-map): Bind it to '% L'; update menus.
45474         (ibuffer-mode): Update mode doc.
45475         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
45477 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45479         * lisp/ibuffer.el: Add face for locked buffers
45481         * lisp/ibuffer.el: Add mark for locked buffers
45483         ;* etc/NEWS (Ibuffer): Update entry according with last commit
45485 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45487         Remove duplicate binding
45489         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
45490         just bound to '% g'.
45491         As suggested in:
45492         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
45494 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
45496         Ibuffer: Drop needless binding
45498         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
45499         already bound to 't' inside 'ibuffer-set-mark'.
45501 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
45503         Run tests from non-byte compiled files
45505         * test/Makefile.in: Eval non-byte-compiled files for tests.
45507 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
45509         Replace eldoc-documentation-function with a hook
45511         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
45512         (eldoc-documentation-function): Make into obsolete alias.
45513         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
45514         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
45515         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
45516         on eldoc-documentation-functions.
45517         (eldoc-supported-p): New function.
45518         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
45519         * etc/NEWS: Mention eldoc-documentation-functions.
45520         * doc/lispref/modes.texi: Update reference.
45522 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
45524         Complete "initial" and "unset" in CSS mode
45526         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
45527         "initial" and "unset" completion candidates for all CSS properties,
45528         just like "inherit".
45530         * test/lisp/textmodes/css-mode-tests.el
45531         (css-test-complete-property-value): Update test to reflect the above
45532         change.
45534 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
45536         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
45538 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
45540         Simplify rfc1345.el a bit
45542         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
45543         that would no longer parse.  Replace control characters with
45544         escapes in character constants.  Omit unnecessary \ after ?.
45545         This does not change behavior.
45547 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
45549         Prefer 'frame-parameter' where it is expected to be a bit faster
45551         * lisp/international/mule-diag.el (mule-diag):
45552         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
45553         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
45554         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
45555         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
45557 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
45559         Reduce consing caused by vertical motion commands
45561         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
45562         parameters frequently requested by calls to 'next-line' and 'previous-line'.
45564 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
45566         Make all Tramp tests pass for "gdrive" method
45568         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
45569         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
45570         (tramp-compat-delete-directory):
45571         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
45572         Use `directory-files-no-dot-files-regexp'.
45574         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
45575         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
45576         case of problems.
45578         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45579         Adapt docstring.
45580         (tramp-test14-delete-directory): Make further tests.
45582 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
45584         Fix redisplay with window-start on continuation lines
45586         * src/xdisp.c (pos_visible_p): Return false if the window starts
45587         after CHARPOS.
45588         (compute_window_start_on_continuation_line): Don't return
45589         window-start position that is after point in the buffer, as the
45590         callers don't expect this to happen, and will generally display an
45591         empty window with the cursor in its middle.  (Bug#23871)
45593 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45595         Add :expected-result :failed for unfixed bug test
45597         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
45599 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45601         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
45603 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45605         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
45607         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
45608         there is no need for the end-marker to be created.
45610 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45612         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
45614         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
45615         syntax to non-whitespace so that ‘\s-’ regular expression does not match
45616         it.
45618         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
45619         as a consequence ‘line-beginning-position’ function does not need to be
45620         called any longer.
45622         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
45623         expression ends up matching empty lins since ‘\s-’ matches newline
45624         characetr of proceeding line.  This leads to needless loop iterations.
45626         Since previous change to ‘delete-trailing-whitespace’ already introduced
45627         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
45628         character syntax.
45630 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45632         Make ‘delete-trailing-whitespace’ delete spaces after form feed
45634         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
45635         a non-whitespace character (regradless of whether it’s character syntax
45636         is whitespace) and delete any whitespace following it instead of leaving
45637         lines with form feeds completely unchanged.  I.e. a line like "\f " will
45638         now became "\f".
45640 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
45642         Cleanup XEditRes hack
45644         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
45645         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
45646         linked with -lXmu.  This should work with any non-ancient Xmu library.
45647         * src/xfns.c (toplevel): Remove old cruft.
45648         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
45649         * src/xterm.c (toplevel): Remove old cruft.
45650         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
45651         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
45653 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
45655         Add Google Drive support to Tramp
45657         * doc/misc/tramp.texi: Add `gdrive' method.
45659         * doc/misc/trampver.texi:
45660         * lisp/net/trampver.el: Change version to "2.3.1-pre".
45662         * etc/NEWS: Add Tramp connection method "gdrive".
45664         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
45665         (tramp-default-user-alist, tramp-default-host-alist): Add rule
45666         for "gdrive".
45667         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
45668         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
45669         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
45670         "standard::display-name" as file name, if available.
45671         (tramp-gvfs-handle-file-name-all-completions): Simplify.
45672         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
45673         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
45674         Map between "gdrive" and "google-drive".
45676         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
45678         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45679         Do not enable `tramp-message-show-message'.
45680         (tramp-test13-make-directory, tramp-test14-delete-directory):
45681         Do not specify error type.
45683 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
45685         Calc: Update mode line after change mode
45687         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
45689 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
45691         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
45693 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45695         Re-fix open-network-stream responsiveness
45697         Problem reported by Christer Ekholm (Bug#23864).
45698         * src/process.c (wait_reading_process_output): Further fix for
45699         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
45700         wait == INFINITY and got_output_end_time is invalid.  See:
45701         https://bugs.gnu.org/23864#20
45703 2016-07-03  Alan Mackenzie  <acm@muc.de>
45705         Remove redundant forms from CC Mode for faster fontification
45707         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
45708         the "main" cond form in the function, which have been redundant since the
45709         extraction of c-font-lock-cut-off-declarators from the function on
45710         2016-06-15/16.
45712 2016-07-03  Alan Mackenzie  <acm@muc.de>
45714         Speed up CC Mode fontification with less accurate functions extending region
45716         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
45717         (c-font-lock-enclosing-decls)
45718         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
45719         c-beginning-of-decl-1 with less accurate invocations of
45720         c-syntactic-skip-backwards to speed up fontification.
45722 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
45724         Ibuffer: unmark all buffers without confirmation
45726         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
45727         (ibuffer-mouse-popup-menu): Use it.
45728         (ibuffer-mode): Update mode doc.
45729         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
45730         Rebind 'ibuffer-do-replace-regexp' to 'r'.
45732 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45734         Fix open-network-stream responsiveness
45736         Problem reported by Constantin Kulikov (Bug#23684).
45737         * src/process.c (wait_reading_process_output):
45738         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
45739         when wait == INFINITY and got_output_end_time is invalid.
45740         In this case the code should break, not continue.
45742 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45744         Ibuffer: Mark buffers by content
45746         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
45747         (ibuffer-never-search-content-name): New option.
45748         (ibuffer-never-search-content-mode): Idem.
45749         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
45751         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
45752         (ibuffer-mode): Update mode documentation.
45754 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45756         ibuffer-copy-filename-as-kill verbosity increase
45758         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
45759         Use shorter name, result, for a local bound var.
45760         Show the string result in the echo area.
45762 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45764         Fix cursor positioning on TTY frames after stretch glyph
45766         * src/term.c (append_glyph, append_composite_glyph)
45767         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
45768         members of the produced 'struct glyph'.  Fixes cursor positioning
45769         on the first character after a stretch glyph produced from
45770         line-prefix, wrap-prefix, etc. on TTY frames.
45772 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45774         Fix vertical-movement in buffers with wrap-prefix
45776         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
45777         whenever we zero the vpos vertical position of the iterator.
45778         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
45779         wrap-prefix regardless of whether the current Y coordinate is
45780         inside the window dimensions.  (Bug#23879)
45782 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45784         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
45786         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
45787         FACE_OPT_FROM_ID; all callers changed.
45788         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
45789         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
45790         dereferenced.
45791         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
45792         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45793         when the glyph string is drawn.
45794         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
45795         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45796         in fill_composite_glyph_string.
45797         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
45798         FACE_FROM_ID, since the function and its caller can cope with that
45799         situation.  Conflate 3 tests of missing face or font into just
45800         one.
45801         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
45802         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
45803         functions can cope with that situation.
45804         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
45805         not be used.
45806         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
45808 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
45810         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
45812 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
45814         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
45816         i.e. rename from auto-source--symbol-keyword.
45818 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
45820         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
45822         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
45823         get_widget_info.
45825 2016-06-30  Alan Mackenzie  <acm@muc.de>
45827         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
45829         This applies to applying or removing syntax-table text properties in raw
45830         strings which affect the stringiness of a piece of text.  This fixes the
45831         bug
45832         reported in
45833         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
45835         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
45836         defsubst.
45837         (c-invalidate-state-cache-1): Call new function in place of inline
45838         manipulation.
45839         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
45840         semi-nonlit cache when pertinent syntax-table text properties get applied to
45841         the text.
45843 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45845         Minor tweaks to openp
45847         * src/lread.c (openp): Move invariant code out of the loop
45848         and thus avoid redundant calls to memcpy.  Adjust comments.
45850 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45852         Simplify handling of frame parameters
45854         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
45855         foreground color, background color and font parameters.  Adjust
45856         comments.
45858 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45860         Cleanup around mature character manipulation functions
45862         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
45864         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
45866         * lisp/subr.el (toplevel): Do not advertise calling conventions
45867         for 'decode-char' and 'encode-char'.
45869         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
45871 2016-06-29  Alan Mackenzie  <acm@muc.de>
45873         Fix C-M-a in a C function finding the start of a macro preceding it.
45875         Also amend some pertinent documentation.  This fixes bug #23818.
45877         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
45878         virtual semicolon at a place where we check for other types of statement ends.
45880         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
45881         doc string the bit saying that the variable is a prototype and liable to
45882         change.
45884         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
45885         macros with semicolon can prevent C-M-a missing the beginning of defun.
45887 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
45889         Avoid possible NULL pointer dereference found by GCC 6.1.1
45891         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
45892         the value returned by XRRGetOutputInfo.
45894 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
45896         Dired recognize dirs when file size in human units
45898         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
45899         to match when Dired displays the allocated file size column
45900         in human readable units (Bug#22255).
45902 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45904         Fix breakage from previous change
45906         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
45907         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
45909 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45911         Fix breakage from previous change.
45913         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
45915 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45917         Add tests for copying properties by 'format'
45919         * test/src/editfns-tests.el (format-properties): New test.
45921 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45923         Fix copying properties in 'format' when it produces padding
45925         * src/textprop.c (extend_property_ranges): Correct range extension
45926         when the new end is beyond the old end.  (Bug#23859)
45928 2016-06-27  Alan Third  <alan@idiocy.org>
45930         Enable dividers in NS (bug#22973)
45932         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
45933         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
45934         attempt to set the color.
45935         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
45936         above, although I didn't see any errors.
45938 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45940         Fix the prefix action of shr-copy-url
45942         * lisp/net/shr.el (shr-copy-url): Make the command really copy
45943         the image url if given a prefix.
45945 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45947         New functions svg-text and svg-remove
45949         * doc/lispref/display.texi (SVG Images): Document svg-remove.
45951         * doc/lispref/display.texi (SVG Images): Document svg-text.
45953         * lisp/svg.el (svg-remove): New function.
45954         (svg-text): New function.
45956 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45958         Add new function dom-remove-node
45960         * doc/lispref/text.texi (Document Object Model): Document
45961         dom-remove-node.
45963         * lisp/dom.el (dom-remove-node): New function.
45965 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45967         Add a new function `svg-embed'
45969         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
45971         * lisp/svg.el (svg-embed): New function.
45972         (svg--image-data): Ditto.
45974 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45976         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
45978 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45980         Fix 'move-to-window-line' when EOB is on last screen line
45982         * src/window.c (displayed_window_lines): Fix an off-by-one error
45983         when the bottom of the last display line is exactly at window's
45984         last pixel.  Remove kludgey fix for TTY frames that is no longer
45985         needed.  (Bug#15760)
45986         (Fmove_to_window_line): Doc fix.
45988         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
45989         accurate the documentation of 'move-to-window-line'.
45991 2016-06-27  Alan Mackenzie  <acm@muc.de>
45993         Amend a cache so that typing into C++ raw strings has no undue delay.
45995         Also amend the code so that low-level searches to the end of literals are done
45996         only when these positions get used.
45998         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
45999         c-literal-start instead of c-literal-limit.
46000         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
46001         it stores details of the literal at a point, rather than merely points outside
46002         of literals.
46003         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
46004         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
46005         (c-parse-ps-state-below, c-literal-start): New functions.
46006         (c-state-semi-safe-place): Removed.
46007         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
46008         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
46009         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
46010         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
46012         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
46013         to end of literals.
46015         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
46016         literals.
46018         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
46019         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
46021 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
46023         Also handle escaping when string begins with a quote
46025         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
46026         Handle quoting of the first character in the string.
46028         * test/lisp/progmodes/ruby-mode-tests.el
46029         (ruby-toggle-string-quotes-quotes-correctly): Update.
46031 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
46033         Fix quote escaping in ruby-toggle-string-quotes
46035         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
46036         Change logic to quote based on the current quote of the string.
46038         * test/lisp/progmodes/ruby-mode-tests.el
46039         (ruby-toggle-string-quotes-quotes-correctly): Add test.
46041 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
46043         Fix test-completion with completion-regexp-list
46045         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
46046         completion-regexp-list (Bug #23533).
46048 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
46050         Try other addresses when connecting to multihomed
46052         Problem reported by Juliusz Chroboczek (Bug#17976)
46053         and by Artur Malabarba (Bug#23620).
46054         Patch from a suggestion by Andreas Schwab in:
46055         https://bugs.gnu.org/17976#39
46056         This patch is for non-MS-Windows platforms.
46057         I don't know the situation on MS-Windows.
46058         * src/process.c (connecting_status):
46059         New function, for (connect . ADDRINFOS).
46060         (connect_network_socket, check_for_dns, wait_for_socket_fds)
46061         (wait_while_connecting, wait_reading_process_output, status_notify):
46062         Use it.
46063         (decode_status, Fmake_network_process):
46064         Support (connect . ADDRINFOS) status.
46065         (connect_network_socket) [!WINDOWSNT]:
46066         If the connection failed and there are other addresses to try, do not
46067         signal an error; instead, loop around to try the next address.
46068         (wait_reading_process_output): Advance to the next address
46069         if there are multiple addresses and the first remaining address
46070         failed.
46071         * src/process.h (struct Lisp_Process.status): Adjust comment
46072         to describe (connect . ADDRINFOS).
46074 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
46076         Fix GNUC_PREREQ for GCC 2.8.1 etc.
46078         Problem reported by Eli Zaretskii in:
46079         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
46080         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
46081         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
46082         patchlevel numbers.
46084 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
46086         Don't set 'bidi-paragraph-direction' in 'ansi-term'
46088         * lisp/term.el (ansi-term): Remove unnecessary setting of
46089         'bidi-paragraph-direction'.  The underlying problem is solved in
46090         bidi.c by changing the regexps that define the paragraph beginning
46091         and end.  (Bug#20611)
46093 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
46095         Sync with Tramp 2.3.0
46097         * doc/misc/trampver.texi:
46098         * lisp/net/trampver.el: Change version to "2.3.0".
46100 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
46102         Fix GNUC_PREREQ off-by-1 typo
46104         Problem reported by Martin Rudalics in:
46105         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
46106         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
46107         Fix < vs <= typo.
46109 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
46111         Fix some oddities in Tramp's rsync and smb methods
46113         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
46114         "-s" arguments.
46115         (tramp-do-copy-or-rename-file-out-of-band):
46116         Call `file-name-directory' also for remote NEWNAME.
46118         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
46119         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
46120         (tramp-test24-file-name-completion): Improve check for
46121         hostname completion.
46122         (tramp--test-rsync-p): New defun.
46123         (tramp-test31-special-characters)
46124         (tramp-test31-special-characters-with-stat)
46125         (tramp-test31-special-characters-with-perl)
46126         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
46127         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
46128         (tramp-test32-utf8-with-ls): Skip for "rsync".
46130         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
46131         Check also for CIFS capabilities.
46133 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
46135         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
46137         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
46138         FRAME_INTERNAL_BORDER_WIDTH.
46140 2016-06-25  Leo Liu  <sdl.web@gmail.com>
46142         Deprecations (bug#23850)
46144         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
46145         string-to-multibyte, string-as-multibyte): Make obsolete.
46147 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
46149         Do not prompt twice to save a buffer
46151         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
46153 2016-06-25  Alan Third  <alan@idiocy.org>
46155         Move text line right when in box (bug#23755)
46157         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
46158         CHAR_GLYPH specific code and move glyphs right if within a box.
46159         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
46160         function.
46162 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
46164         Merge from origin/emacs-25
46166         0377fe2 ; Spelling fixes
46167         f253695 Update docs for `customize-mode'
46168         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
46169         ab0ebb9 ; Only load .elc file in tests.
46170         a98aa02 Error on multibyte characters in HTTP request
46171         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
46172         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
46173         dc5e65b Unset GIT_DIR when calling Git commands
46174         6cdd8f7 Ensure undo-boundary after insert-file-contents.
46175         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
46176         5f37572 Fix removal of variables from process-environment
46177         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
46178         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
46180         # Conflicts:
46181         #       doc/lispref/modes.texi
46182         #       lisp/gnus/mm-decode.el
46184 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
46186         Teach net-utils more iproute2 and nl80211 tools
46188         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
46189         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
46190         option is "phy"; beyond that one needs to know the interface name.
46191         (netstat-program): Add ss(8).
46192         (route-program): Add ip(8).
46193         (route-program-options): Add "route" argument for ip.
46195 2016-06-24  Leo Liu  <sdl.web@gmail.com>
46197         Use use-region-p in prolog.el
46199         * lisp/progmodes/prolog.el (region-exists-p): Remove.
46200         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
46201         prolog-edit-menu-insert-move): Use use-region-p.
46203 2016-06-24  Leo Liu  <sdl.web@gmail.com>
46205         Remove compatibility with Emacs 24.3 in octave-mode
46207         * lisp/progmodes/octave.el: Clean up and remove compatibility with
46208         Emacs 24.3.
46210 2016-06-24  Alan Mackenzie  <acm@muc.de>
46212         Ensure hack-local-variables is run in a fundamental mode buffer.
46214         This fixes bug #23827.
46216         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
46217         gets set to that mode, so that `run-mode-hooks', and thus
46218         `hack-local-variables' get run.
46220 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
46222         Fix caller to ediff-setup
46224         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
46226 2016-06-24  Alan Mackenzie  <acm@muc.de>
46228         Implement ' separators in C++ integer literals.
46230         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
46231         c-before-after-change-digit-quote into the C++ value.
46232         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
46233         for all languages.  Insert c-before-after-change-digit-quote into the C++
46234         value.
46236         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
46237         c-save-buffer-state.
46238         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
46240 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
46242         Update from gnulib
46244         This incorporates:
46245         2016-06-24 intprops: port better to GCC 7
46246         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
46247         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
46248         Copy from gnulib.
46250 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
46252         Remove two uses of 'min' in Fwindow_text_pixel_size
46254         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
46255         it calls move_it_to twice.  Suggested by Eli Zaretskii.
46257 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46259         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
46261         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
46262         since it is intended to be used only when it returns a non-null
46263         pointer, and here the pointer might be null.
46264         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
46266 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
46268         Remove some more face aliases obsoleted in 22.1
46270         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
46271         eshell-ls-executable-face, eshell-ls-readonly-face,
46272         eshell-ls-unreadable-face, eshell-ls-special-face,
46273         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
46274         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
46275         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
46276         (isearch-lazy-highlight-update): Use face symbol.
46277         * lisp/net/sieve-mode.el (sieve-control-commands-face,
46278         sieve-action-commands-face, sieve-test-commands-face,
46279         sieve-tagged-arguments-face): Remove.
46280         (sieve-font-lock-keywords): Use non-obsolete faces.
46281         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
46282         (sh-get-indent-info, sh-prev-line): Use face symbol.
46283         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
46284         Use non-obsolete face.
46285         (tex-math-face, tex-verbatim-face): Remove.
46286         (tex-font-lock-syntactic-face-function): Use face symbols.
46288 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
46290         Remove some face aliases obsoleted in 22.1
46292         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
46293         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
46294         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
46295         Info-title-4-face, info-menu-5):
46296         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
46297         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
46298         * lisp/progmodes/make-mode.el (makefile-space-face):
46299         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
46300         (texinfo-font-lock-keywords): Use texinfo-heading face.
46301         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
46302         change-log-email-face, change-log-file-face, change-log-list-face,
46303         change-log-conditionals-face, change-log-function-face,
46304         change-log-acknowledgement-face):
46305         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
46306         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
46307         diff-changed-face, diff-function-face, diff-context-face,
46308         diff-nonexistent-face): Remove.
46309         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
46310         symbols.
46311         (diff-hunk-file-names): Fix comment.
46312         (diff-refine-change): Remove.
46313         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
46314         non-obsolete face.
46315         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
46316         (log-view-font-lock-keywords): Use non-obsolete face names.
46317         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
46318         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
46319         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
46320         widget-field-face, widget-single-line-field-face, widget-inactive-face,
46321         widget-button-pressed-face):
46322         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
46323         woman-addition-face): Remove.
46325 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
46327         * lisp/international/characters.el (standard-case-table): Improve last change.
46329 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
46331         Improve results of 'upcase' for characters with title-case
46333         * lisp/international/characters.el (standard-case-table): Swap the
46334         order of some lines, to have 'upcase' return the upper-case
46335         variant, not the title-case, for some characters whose lower-case
46336         map to the same codepoints.  (Bug#23833)
46338 2016-06-23  Alan Mackenzie  <acm@muc.de>
46340         Make typing into incomplete C++ raw strings work, and make it work fast enough
46342         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
46343         Put `save-match-data' around calls to `looking-at' to enable the use of the
46344         match data in higher level functions.
46346         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
46347         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
46348         limit to speed up handling of C++ raw strings.
46350 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
46352         Fix handling of LWINDOW key on MS-Windows
46354         * src/w32fns.c (funhook): Correct a typo which broke handling of
46355         the LWINDOW key.  (Bug#23830)
46357 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
46359         Update Unicode data files from Unicode 9.0.0
46361         * admin/unidata/copyright.html:
46362         * admin/unidata/BidiBrackets.txt:
46363         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
46364         released.
46366 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
46368         Fix test for whether the '.el' file is newer than '.elc'
46370         * src/lread.c (Fload): Don't overwrite the last character of the
46371         file name in FOUND with 'c', unless the file name ended in ".elc"
46372         to begin with.  Don't treat empty files as byte-compiled.  See
46373         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
46374         for more details of the problem this caused.
46376 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
46378         Fix 'insert-file-contents' when REPLACE is non-nil
46380         * src/fileio.c (maybe_move_gap): New function to move the gap to
46381         the end of a buffer, if it isn't there already.
46382         (Finsert_file_contents): Call 'maybe_move_gap' before using
46383         conversion_buffer's text as a C 'char' array.  (Bug#23659)
46384         * src/coding.c (decode_eol): Compute the byte increment before
46385         calling del_range_2, because the latter can invalidate the pointer
46386         to buffer text.
46388 2016-06-22  Ken Brown  <kbrown@cornell.edu>
46390         Avoid compiler warning
46392         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
46394 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
46396         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
46398 2016-06-22  Ken Brown  <kbrown@cornell.edu>
46400         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
46402         * src/w32fns.c (x_set_internal_border_width): Don’t use
46403         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
46404         lvalue.
46406 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46408         Improve --without-x GCC pacification
46410         * src/composite.c (autocmp_chars):
46411         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
46412         Use simpler ((void) 0) for no-op expression returning void.
46413         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
46414         Include fontset.h, for face_for_char.
46415         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
46416         Now inline functions instead of macros.  This avoids the need for
46417         all those casts to void.
46418         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
46419         All uses changed.
46420         * src/frame.c (Ficonify_frame, Fset_frame_position):
46421         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
46422         * src/xdisp.c (note_mode_line_or_margin_highlight)
46423         (note_mouse_highlight):
46424         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
46425         now work either way without generating warnings.
46426         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
46427         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
46428         (decode_window_system_frame): Use check_window_system instead of
46429         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
46430         (decode_window_system_frame, check_window_system):
46431         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
46432         * src/frame.c (Ficonify_frame, Fset_frame_position):
46433         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
46434         (note_mouse_highlight):
46435         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
46436         this is a better way to pacify GCC.
46437         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
46438         (x_set_right_divider_width, x_set_bottom_divider_width):
46439         * src/xfns.c (x_set_internal_border_width):
46440         Don’t use what are now function calls as lvalues.
46441         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
46442         (decode_window_system_frame, check_window_system):
46443         Use it, to avoid the need for duplicate declarations.
46444         (window_system_available): Now an inline function.
46445         (display_available): New decl.
46446         (frame_dimension): New inline function.
46447         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
46448         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
46449         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
46450         (FRAME_BOTTOM_DIVIDER_WIDTH):
46451         Use it, to avoid the need for duplicate definitions.
46452         Now inline functions instead of macros.
46453         * src/gnutls.c (gnutls_log_function2i): Remove.
46454         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
46455         This avoids complaints about gnutls_log_function2i being defined
46456         and not used on older platforms that do not need to call GNUTLS_LOG2i.
46457         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
46458         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
46459         expr’ to ‘type id; id = expr’, as this would suppress valid
46460         jump-misses-init diagnostics.  Let’s find a better way to address
46461         the problem.
46462         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
46463         Define only if needed.
46464         * src/xdisp.c (handle_single_display_spec):
46465         Simplify fringe_bitmap computation.
46466         (define_frame_cursor1): Do nothing unless in a window system.
46467         All callers changed and simplified.
46468         * src/xfaces.c (realize_default_face):
46469         Use a simpler way to pacify GCC when a return value is not used
46470         on some platforms.
46472 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
46474         Ensure undo-boundary after all commands
46476         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
46477           every command whether it (apparently) changes the buffer or not.
46479         See Bug#23785 for discussion.
46481 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
46483         Fix vertical layout calculations when newline has line-height property
46485         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
46486         'constrain_row_ascent_descent_p' flag after processing the
46487         newline, similar to what 'display_line' does.  Without this, the
46488         flag remains set once set by x_produce_glyphs, and causes the
46489         vertical layout calculations to go awry, because Emacs thinks the
46490         screen lines have zero height.  (Bug#23850)
46492 2016-06-20  Ken Brown  <kbrown@cornell.edu>
46494         Fix compiler warnings in Cygwin-w32 build
46496         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
46497         loop to avoid compiler warnings about empty body of 'if'
46498         statement.
46500         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
46501         macro.
46502         (x_create_bitmap_from_data): Declare 'frame'.
46503         (x_create_bitmap_from_file): Don't declare unused variable
46504         'dpyinfo'.
46506         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
46507         prevent "jump-misses-init" compiler warnings.
46509         * src/w32fns.c (check_w32_winkey_state): Define and use only if
46510         WINDOWSNT.
46511         (Fx_show_tip): Declare 'f'.
46512         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
46513         (w32_strerror): Use format specifier %d for sprintf argument of
46514         type int.
46515         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
46516         int, and use format specifier %x, for compatibility with Cygwin.
46517         (unicode_append_menu) [NTGUI_UNICODE]:
46518         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
46519         (set_menu_item_info, unicode_append_menu)
46520         (unicode_message_box):
46521         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
46522         functions rather than macros to avoid "address will always
46523         evaluate as true" compiler warnings.
46525         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
46526         sprintf argument of type int.
46528         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
46529         sprintf argument of type int to unsigned int to match %X format
46530         specifier.
46531         (w32_scroll_bar_handle_click):
46532         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
46534         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
46535         argument.
46537 2016-06-20  Ken Brown  <kbrown@cornell.edu>
46539         Fix compiler warnings in no-window-system-build
46541         * src/composite.c (autocmp_chars): Declare and set 'f' only if
46542         HAVE_WINDOW_SYSTEM.
46544         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
46545         (FACE_FOR_CHAR): Explicitly discard unused arguments.
46547         * src/font.c (font_open_entity): Declare 'min_width' where it is
46548         first set, and only if HAVE_WINDOW_SYSTEM.
46550         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
46551         Define _Noreturn version to avoid "suggest attribute noreturn"
46552         compiler warning.
46553         (check_window_system): Declare as _Noreturn.
46554         (Ficonify_frame):
46555         (Fset_frame_position): Don’t declare and set 'f'.
46557         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
46558         (check_window_system):  Add _Noreturn prototypes.
46559         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
46560         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
46561         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
46562         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
46564         * src/xdisp.c (handle_single_display_spec): Declare
46565         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
46566         (append_space_for_newline): Declare 'g' where it is first set.
46567         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
46568         HAVE_WINDOW_SYSTEM.
46569         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
46570         if HAVE_WINDOW_SYSTEM.
46571         (note_mode_line_or_margin_highlight):
46572         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
46573         only if HAVE_WINDOW_SYSTEM.
46575         * src/xfaces.c (realize_default_face): Declare and set 'face' only
46576         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
46578 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
46580         Weaken test conditions in filenotify-tests.el
46582         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
46583         Fix thinko in test.
46584         (file-notify-test02-events, file-notify-test04-file-validity)
46585         (file-notify-test07-backup)
46586         (file-notify-test08-watched-file-in-watched-dir): Make test
46587         conditions more weak.  (Bug#23618)
46589 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46591         Minor ABLOCKS_BUSY cleanups in alloc.c
46593         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
46594         with member ‘abase’ in definiens.
46595         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
46596         Avoid compiler warning with fewer casts.
46597         (lisp_align_free): Check busy-field values; this can help the
46598         compiler a bit when optimizing, too.
46600 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46602         ASCII-fy coding-system-for-read used for Git commands
46604         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
46605         New function.
46606         (vc-git-diff, vc-git-annotate-command): Use it.
46608 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46610         Prohibit multibyte characters in url-http-data
46612         It didn't work anyway, but this makes any such errors more obvious
46613         by catching them earlier.
46615         * lisp/url/url-http.el (url-http-create-request):
46616         Use string-to-unibyte (bug#23750).
46618 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
46620         Fix setting a range of char-table slots in a singular case
46622         * src/chartab.c (char_table_set_range): Start the loop from the
46623         first character of the block to which FROM belongs.  (Bug#23797)
46625         * test/src/chartab-tests.el: New test file.
46627 2016-06-19  Alan Mackenzie  <acm@muc.de>
46629         Fix CC Mode fontification problem apparent in test file decls-6.cc.
46631         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
46632         "bar (gnu);" as a declarator only when the construct is directly inside a
46633         class (etc.) called "bar".
46634         (c-directly-in-class-called-p): New function.
46636 2016-06-19  Alan Mackenzie  <acm@muc.de>
46638         c-renarrow-state-cache: take care when new point is inside old brace pair.
46640         Also add display of point-min to the c-parse-state debugging output.
46642         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
46643         point is inside an old recorded brace pair, clear the cache.
46644         (c-debug-parse-state): Output the value of point-min.
46646 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46648         Rename ALIGN to pointer_align
46650         * src/alloc.c (pointer_align): Rename from ALIGN.
46651         This fixes Bug#23764 in a simpler way.
46653 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46655         Merge from origin/emacs-25
46657         d1efbaf Fix documentation of completion functions
46658         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
46659         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
46660         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
46662 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46664         Merge from origin/emacs-25
46666         2317c61 Fix last todo-mode change
46667         5d4d8a3 Improve last todo-mode fix
46668         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
46669         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
46670         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
46671         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
46672         d308aa1 Minor grammar fix (bug#23746)
46673         20de667 Doc fixes for grammar and typos (bug#23746)
46674         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
46675         27f440e Add cross-reference to ELisp manual
46676         10802d8 ; make change-history-commit
46677         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
46678         12e009e Restore initial undo boundary with viper
46679         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
46680         6921f4a Fix dbus crash on 32-bit Cygwin
46682 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46684         Merge from origin/emacs-25
46686         9ae514a * etc/AUTHORS: Update the AUTHORS file
46687         3ca428e add entries to authors.el
46688         66d556b Fix eldoc-related freezes in python mode
46689         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
46690         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
46691         a813487 Fix undo boundary in recursive edit (Bug#23632)
46692         1f85b7c Doc fixes re alist-get.  (Bug#23548)
46693         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
46694         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
46695         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
46696         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
46697         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
46699 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46701         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
46703 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46705         Fix seq-contains
46707         Make sure seq-contains return the element of the sequence instead of t.
46709         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
46710         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
46712 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46714         Add new function map-do
46716         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
46717           functions.
46718         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
46720 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46722         Add seq-do-indexed
46724         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
46725         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
46727 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
46729         map.el (map-merge*): Use `map-into' at beginning rather than end
46731         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
46732         and don't use of an intermediate alist.
46733         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
46734         3 lookups per inner iteration.
46736 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
46738         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
46740 2016-06-15  Alan Mackenzie  <acm@muc.de>
46742         Speed up CC Mode's font locking by taking some code out of a hot loop.
46744         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
46745         tests for bare declarators.
46746         (c-font-lock-cut-off-declarators): New function.
46747         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
46749 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46751         Automatically find vars and functions via definition-prefixes
46753         * lisp/help-fns.el (help-definition-prefixes): New var and function.
46754         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
46755         New functions.
46756         (describe-function, describe-variable): Use them.
46758         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
46759         (radix-tree-prefixes, radix-tree-from-map): New functions.
46761 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
46763         Automatically detect whether .h file is C or C++
46765         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
46766         analyzes contents of the buffer to determine whether it looks like C++
46767         source code and based on that enables c-mode or c++-mode.
46768         (c-or-c++-mode--regexp): Regular expression which, when matches
46769         a buffer, signals file is C++.
46771 2016-06-15  Alan Mackenzie  <acm@muc.de>
46773         Parse compound identifiers in C++ member initialization lists.
46775         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
46776         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
46777         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
46778         than c-simple-skip-symbol-backward.
46780 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46782         Advertize set-keymap-parent as replacement for copy-keymap
46784         * doc/lispref/keymaps.texi (Creating Keymaps):
46785         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
46787 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
46789         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
46790         value is missing
46792 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
46794         Add new ansible-inventory-generic-mode (Bug#23762)
46796         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
46798 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46800         Fix ifdef-vs-if typo with RANDR13_LIBRARY
46802         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
46803         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
46804         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
46806 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46808         Port to platforms where char * has top bit set
46810         This fixes a five-year-old FIXME comment.  Although I don’t know
46811         of a platform where this is a problem in practice, better safe
46812         than sorry.
46813         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
46814         as it is now an integer, not char *.
46815         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
46816         this is a file offset and EMACS_INT is better if --with-wide-int.
46817         If SUBRP, simply store the offset rather than negating it and
46818         converting it to char *.
46819         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
46821 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46823         Remove recursion from store_function_docstring
46825         * src/doc.c (store_function_docstring):
46826         Refactor to avoid the need for C-level recursion.
46828 2016-06-14  Ken Brown  <kbrown@cornell.edu>
46830         Remove system-specific -I switch from Cygwin-w32 build
46832         Suggested by Eli Zaretskii in discussion of bug#18302.
46834         * src/image.c [HAVE_NTGUI]: Remove the unused macro
46835         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
46836         "X11/xpm.h".
46838         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
46839         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
46841 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
46843         Make python.el work in Emacs 24
46845         * lisp/progmodes/python.el: Bump version.
46846         (python-define-auxiliary-skeleton): Only use format-message if
46847         fbound (Bug#23126).
46849 2016-06-13  Ken Brown  <kbrown@cornell.edu>
46851         Avoid compiler warning
46853         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
46854         'type_CtrlAlt'.
46856 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46858         Call tzset after setting TZ
46860         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
46861         the setting change propagates into Emacs local time (Bug#23600).
46862         (emacs_setenv_TZ): Clarify comments.
46864 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46866         Update texinfo.tex
46868         * doc/misc/texinfo.tex: Update from gnulib.
46870 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46872         New macro GNUC_PREREQ for GCC version
46874         * src/conf_post.h (GNUC_PREREQ): New macro.
46875         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
46876         macro instead, for clarity and consistency.
46877         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
46878         if glibc, since non-GNU platforms don’t necessarily support GNU
46879         printf formats.
46880         (ATTRIBUTE_FORMAT_PRINTF): Use it.
46882 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
46884         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
46886 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
46888         Fix printf-related compilation warnings on MinGW
46890         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
46891         '__ms_printf__', not '__gnu_printf__', as the latter is not what
46892         MS 'printf' supports, and causes bogus compilation warnings.
46893         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
46894         doesn't support the "ll" modifier.
46896 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
46898         emacs_strerror cleanups
46900         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
46901         no longer needed, now that emacs_strerror is declared by lisp.h.
46902         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
46903         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
46904         to lisp.h.
46905         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
46906         convert result string; this is now the caller’s responsibility,
46907         as some need conversion and others don’t.
46908         * src/fileio.c (report_file_errno, report_file_notify_error):
46909         Use emacs_strerror rather than rolling it ourselves.
46910         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
46911         * src/lread.c (dir_warning): Just call emacs_strerror rather than
46912         both strerror and emacs_strerror.  Convert its result from
46913         locale-coding-system, since it no longer does that conversion.
46914         * src/sound.c (sound_perror):
46915         * src/sysdep.c (emacs_perror, str_collate):
46916         Use emacs_strerror, not strerror.
46918 2016-06-10  David Reitter  <david.reitter@gmail.com>
46920         Prevent compiler warning for unused arguments
46922         * lisp/international/ucs-normalize.el
46923         (ucs-normalize-hfs-nfd-pre-write-conversion):
46924         Prevent compiler warning for unused arguments, add coment.
46926 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
46928         Catch malloc_get_state, malloc_set_state failure
46930         This should help insulate Emacs better from configuration screwups.
46931         Future versions of the GNU C library are planned to deprecate
46932         these functions, but will continue to support them in
46933         already-built-and-dumped Emacs executables.
46934         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
46935         Abort if malloc_set_state fails.
46936         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
46937         Report malloc_get_state failure, and exit.
46939 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
46941         Show returned value after gdb-mi "finish" command
46943         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
46944         "Value returned" message in response to "finish", when not
46945         produced by GDB/MI.  (Bug#23720)
46947 2016-06-10  David Reitter  <david.reitter@gmail.com>
46949         Simplify pre-write-conversion for utf-8-hfs coding system
46951         * lisp/international/ucs-normalize.el
46952         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
46954         May address an issue where Emacs consumed large amounts of CPU
46955         because of neverending toolbar updating (which was caused
46956         by, but also called this function).
46958 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
46960         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
46962         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
46963         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
46964         Monnier.  (Bug#19185, Bug#20398)
46966         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
46968         That commit did more harm than good (Bug#23571).
46970 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46972         Port __builtin_assume_aligned to Sun C 5.13
46974         * src/conf_post.h (__builtin_assume_aligned):
46975         Fix typo: the extra arg did not conform to C99.
46977 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46979         Prefer getsockopt to getpeername on non-MS-Windows
46981         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
46982         * configure.ac: Don’t check for getpeername.
46983         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
46984         Use getsockopt even if not GNU/Linux, as the platforms where
46985         getsockopt used to hang are no doubt long dead.
46987 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46989         Fix XFASTINT of non-fixnum in process status
46991         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
46992         not int *, and is not decoded.  All uses changed.
46993         (status_message): Do not assume ‘failed’ code is an integer.
46994         * src/process.h: Document codes better.
46996 2016-06-09  Glenn Morris  <rgm@gnu.org>
46998         Make messcompat.el obsolete.
47000         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
47001         * doc/misc/message.texi (Compatibility): Remove section.
47003 2016-06-09  Glenn Morris  <rgm@gnu.org>
47005         Leading "*" in the doc of defvars is long obsolete.
47007         * lisp/plstore.el (plstore-encrypt-to):
47008         * lisp/cedet/semantic/lex-spp.el
47009         (semantic-lex-spp-macro-max-length-to-save):
47010         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
47011         * lisp/cedet/semantic/bovine/el.el
47012         (semantic-elisp-store-documentation-in-tag):
47013         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
47014         (wisent-expected-conflicts):
47015         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
47016         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
47017         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
47018         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
47019         (gnus-browse-menu-hook):
47020         * lisp/gnus/message.el (message-shoot-gnksa-feet):
47021         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
47022         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
47023         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
47024         * lisp/gnus/mml.el (mml-generate-multipart-alist):
47025         * lisp/gnus/nndraft.el (nndraft-required-headers):
47026         * lisp/gnus/nnheader.el (nnheader-max-head-length)
47027         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
47028         (nnheader-directory-separator-character)
47029         (nnheader-pathname-coding-system):
47030         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
47031         (nnmail-active-file-coding-system):
47032         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
47033         * lisp/gnus/nntp.el (nntp-record-commands):
47034         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
47035         (gnus-score-mode-hook, gnus-score-menu-hook):
47036         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
47037         (rfc2047-allow-irregular-q-encoded-words)
47038         (rfc2047-allow-incomplete-encoded-text):
47039         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
47040         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
47041         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
47042         * lisp/net/pop3.el (pop3-password):
47043         * lisp/play/animate.el (animate-n-steps):
47044         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
47045         Convert from defvar with leading * to defcustom.
47048         * lisp/emulation/viper-init.el (viper-heading-end):
47049         * lisp/gnus/mm-url.el (mm-url-html-entities):
47050         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
47051         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
47052         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
47054         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
47055         (message-from-style, message-interactive, message-indentation-spaces)
47056         (message-signature, message-signature-file):
47057         Remove settings that match the defaults.
47058         (message-setup-hook, message-mode-hook, message-default-headers)
47059         (message-send-hook, message-send-mail-function):
47060         Just use setq rather than redefining.
47062         * lisp/gnus/nnrss.el (nnrss):
47063         * lisp/mail/rfc2047.el (rfc2047):
47064         * lisp/play/animate.el (animate): New custom groups.
47066 2016-06-09  Glenn Morris  <rgm@gnu.org>
47068         Remove obsolete leading * from defcustom, defface doc strings.
47070         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
47071         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
47072         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
47073         * lisp/cedet/semantic/decorate/include.el:
47074         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
47075         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
47076         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
47077         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
47078         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
47079         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
47080         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
47081         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
47082         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
47083         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
47084         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
47085         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
47086         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
47087         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
47088         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
47089         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
47090         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
47091         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
47092         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
47093         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
47094         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
47095         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
47096         Remove obsolete leading * from defcustom, defface doc strings.
47098 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
47100         Fix copying text properties by 'format'
47102         * src/editfns.c (styled_format): Fix copying text properties from
47103         the format specification to the produced string representation.
47104         (Bug#23730)
47105         (Fformat) Doc fix.
47107         * doc/lispref/strings.texi (Formatting Strings): Document that
47108         text properties from the format specifiers are also copied to the
47109         produced string.
47111 2016-06-09  Alan Mackenzie  <acm@muc.de>
47113         Handle C++ raw strings.
47115         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
47116         (c-depropertize-raw-strings-in-region,
47117         c-before-change-check-raw-strings)
47118         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
47119         functions.
47121         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
47122         c-font-lock-raw-strings.
47123         (c-font-lock-raw-strings): New function.
47125         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
47126         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
47127         into the values for C, C++, and Objective C.
47128         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
47129         the C++ value.
47131         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
47132         (c-depropertize-CPP): New function, extracted from
47133         c-neutralize-syntax-in-and-mark-CPP.
47134         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
47135         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
47136         of the function.
47137         (c-after-change): Set c-old-BEG and c-old-END to the current values of
47138         c-new-BEG and c-new-END.
47140 2016-06-09  Daiki Ueno  <ueno@gnu.org>
47142         epg: don't use obsolete function
47144         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
47145         redundant configuration check, which is now done in
47146         `epg-make-context'.
47148 2016-06-09  Daiki Ueno  <ueno@gnu.org>
47150         epg: don't start pinentry if it is useless
47152         * lisp/epg.el (epg--start): Don't start pinentry server if the
47153         session is non-interactive or pinentry-mode is set.
47155 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
47157         Replace IF_LINT by NONVOLATILE and UNINIT
47159         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
47160         * .dir-locals.el (c-mode): Adjust to macro changes.
47161         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
47162         (IF_LINT): Remove.  All uses replaced by the new macros.
47164 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
47166         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
47168         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
47169         in favor of ‘cl-letf’ macro which is more generic.  All existing
47170         uses are migrated accordingly.  The macro has not been included in
47171         an official release yet so it should be fine to delete it.
47173 2016-06-08  Glenn Morris  <rgm@gnu.org>
47175         * test/lisp/emacs-lisp/package-tests.el
47176         (package-test-update-archives-async): Try re-enabling on hydra.
47178 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
47180         * src/fileio.c (auto_save_error): Omit unused local.
47182 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
47184         Simplify overflow check via INT_SUBTRACT_WRAPV
47186         * src/editfns.c (check_tm_member): Simplify integer overflow check.
47188 2016-06-07  Glenn Morris  <rgm@gnu.org>
47190         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
47192         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
47193         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
47194         Ensure gnutls-serv process gets killed.
47195         (echo-server-nowait, connect-to-tls-ipv4-nowait):
47196         Limit the amount of time we might wait.
47198 2016-06-07  Glenn Morris  <rgm@gnu.org>
47200         Reduce allout.el's pollution of the namespace.
47202         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
47203         Keep old name as obsolete alias.
47204         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
47205         (allout-solicit-char-in-string)
47206         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
47207         Rename to add an "allout-" prefix.
47209 2016-06-07  Glenn Morris  <rgm@gnu.org>
47211         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
47213 2016-06-07  Glenn Morris  <rgm@gnu.org>
47215         Misc small webjump updates.
47217         * lisp/net/webjump.el (webjump): Add custom group.
47218         (webjump-sample-sites): Make it a constant.
47219         Remove explicit, old list of GNU ftp mirrors.
47220         (webjump-state-to-postal-alist): Make it a constant.
47221         (webjump-sites): Make it a defcustom.
47222         (webjump-to-iwin): Update for changed remote service.
47224 2016-06-07  Glenn Morris  <rgm@gnu.org>
47226         Do not hard-code port for package test server.  (Bug#23708)
47228         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
47229         Do not hard-code port.
47230         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
47231         Update for the above change.
47233 2016-06-07  Tino Calancha  <f92capac@gmail.com>
47235         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
47237 2016-06-07  Glenn Morris  <rgm@gnu.org>
47239         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
47241 2016-06-07  Tino Calancha  <f92capac@gmail.com>
47243         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
47244         Fix non-file-visiting-buffer case.  (Bug#22678)
47246 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
47248         Port --enable-gcc-warnings to clang 3.7.0
47250         * configure.ac: Add -Wno-tautological-compare to avoid bogus
47251         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
47252         seem to be needed, at least in Fedora 23 x86-64.
47254 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
47256         Use __builtin_assume_aligned on untagged Lisp vals
47258         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
47259         New macros, for compilers not already defining them.
47260         (__has_builtin___builtin_assume_aligned): New macro.
47261         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
47262         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
47264 2016-06-07  Glenn Morris  <rgm@gnu.org>
47266         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
47267         aliases as the type of their targets.
47269 2016-06-07  Tino Calancha  <f92capac@gmail.com>
47271         * lisp/simple.el (process-menu-mode, list-processes--refresh):
47272         Include PID.  (Bug#21725)
47274 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
47276         Merge from origin/emacs-25
47278         6e3adf8 Fix crash in syntax.c after GC
47279         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
47280         9d5cceb Fix doc string quoting
47281         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
47282         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
47284 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
47286         Merge from origin/emacs-25
47288         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
47289         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
47290         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
47291         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
47293 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47295         Use standard Unicode names for Thai, Lao
47297         * lisp/language/lao-util.el, lisp/language/thai-util.el:
47298         Don’t override standard Unicode character name (Bug#23698).
47300 2016-06-06  Glenn Morris  <rgm@gnu.org>
47302         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
47303         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
47305 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
47307         Some fixes in filenotify-tests.el for cygwin
47309         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
47310         Reintroduce value for cygwin, it's needed on slow systems.
47311         (file-notify--wait-for-events): Move up definition.
47312         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
47313         (file-notify--test-with-events-check, file-notify--test-with-events)
47314         (file-notify-test08-watched-file-in-watched-dir):
47315         Use :random rather than `random.
47316         (file-notify-test06-many-events): Do not skip for cygwin.
47318 2016-06-05  Juri Linkov  <juri@linkov.net>
47320         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
47322         If non-nil, operate on multiple chunks.  (Bug#23655)
47324         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
47326 2016-06-05  Juri Linkov  <juri@linkov.net>
47328         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
47330         to interactive spec to handle shift-selection.  (Bug#23642)
47332 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
47334         Improve robustness of filenotify-tests.el (Bug#23618)
47336         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
47337         (file-notify--test-no-descriptors-explainer)
47338         (file-notify--test-cleanup-p): New defuns.
47339         (file-notify--test-cleanup): Don't check for
47340         `file-notify--test-event' anymore, that's done in
47341         `file-notify--test-no-descriptors'.
47342         (file-notify--test-with-events-check)
47343         (file-notify--test-with-events): Handle the `random' marker.
47344         (file-notify--test-with-events-explainer): Improve readability.
47345         (file-notify-test00-availability)
47346         (file-notify-test01-add-watch, file-notify-test02-events)
47347         (file-notify-test03-autorevert)
47348         (file-notify-test04-file-validity)
47349         (file-notify-test05-dir-validity)
47350         (file-notify-test06-many-events, file-notify-test07-backup)
47351         (file-notify-test08-watched-file-in-watched-dir)
47352         (file-notify-test09-sufficient-resources): Check also
47353         `file-notify--test-cleanup-p'.
47354         (file-notify-test04-file-validity)
47355         (file-notify-test05-dir-validity): Use `ignore' as handler.
47356         (file-notify-test05-dir-validity)
47357         (file-notify-test06-many-events): Delete directory finally.
47358         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
47360 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
47362         man.el: Fix links on hyphenated words (bug#23647)
47364         * lisp/man.el (Man-bgproc-sentinel): Make links work on
47365         hyphenated words.
47367 2016-06-05  K. Handa  <handa@gnu.org>
47369         Add category 'j' to more characters.
47371         * lisp/international/characters.el: Add category 'j' (Japanese)
47372         to characters in japanese-jisx0213.2004-1.
47374 2016-06-04  Tino Calancha  <f92capac@gmail.com>
47376         isearch-edit-string resumes multi isearches
47378         * lisp/isearch.el (with-isearch-suspended): Remember and restore
47379         multi-isearch variables.  (Bug#21663)
47381 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
47383         Fix Eshell display when RTL characters are involved
47385         * lisp/eshell/esh-mode.el (eshell-mode): Set
47386         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
47388 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
47390         Make ses-jump with completing input.
47392         * lisp/ses.el (ses-jump): Make symbol input completing against list of
47393           named cells.
47395 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47397         Port angle-bracket TZ settings to MS-Windows
47399         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
47400         lack of support for numeric time zone abbreviations.
47401         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
47402         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
47403         Problem reported by Kazuhiro Ito (Bug#23600).
47405 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47407         Avoid delving into Git internals for version
47409         * lisp/loadup.el (exec-path): Set it to nil later, so that
47410         emacs-repository-get-version can invoke git commands in the PATH.
47411         * lisp/version.el (emacs-repository--version-git-1): Remove.
47412         (emacs-repository-get-version): Let Git do it rather than
47413         delving into Git internals.
47415 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
47417         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
47419 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47421         Fix emacs-repository-get-version with packed .git
47423         * lisp/version.el (emacs-repository-get-version):
47424         Parse .git/packed-refs if it exists.
47425         Problem reported by Martin Rudalics in:
47426         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
47428 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
47430         Minor change in tramp.texi
47432         * doc/misc/tramp.texi (Password handling): Do not discuss
47433         anymore how to get password-cache.el.  It is bundled with
47434         Emacs.
47436 2016-06-01  Alan Mackenzie  <acm@muc.de>
47438         Correct fontification and indentation of C++'s "constexpr" expressions
47440         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
47441         (c-modifier-kwds): Add "constexpr".
47443 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
47445         Cosmetic change to kinsoku-eol.  (tiny change)
47447         * lisp/international/kinsoku.el (kinsoku-eol): Make the
47448         order of characters match with the comments.
47450 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
47452         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
47454         * lisp/language/japan-util.el (japanese-kana-table): Add an
47455         entry for HIRAGANA ITERATION MARK (U+309D).
47456         (japanese-alpha-numeric-table): Fix docstring.
47458 2016-05-31  K. Handa  <handa@gnu.org>
47460         Fix incomplete handling of translation table in a coding system.
47462         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
47463         is an alist, return a character or a vector of character.
47464         (produce_chars): Adjust for the above change.
47465         (consume_chars): Likewise.
47467 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
47469         Improve robustness for out-of-band copy in Tramp
47471         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
47472         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
47473         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
47474         Cosmetic changes.
47476         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
47477         Use local `default-directory'.  Simplify command to send.
47478         Don't check return code, this was already done in
47479         `tramp-process-actions'.
47480         (tramp-get-inline-coding): Don't set `default-directory'.
47482         * lisp/net/tramp.el (tramp-action-out-of-band):
47483         Throw `out-of-band-failed'.
47484         (tramp-process-actions): Handle `out-of-band-failed'.
47485         (tramp-call-process, tramp-call-process-region):
47486         Use local `default-directory'.
47488 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47490         Merge from origin/emacs-25
47492         788c9b6 ; Spelling fix
47493         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
47494         0992ec3 Correct cl-flet usage (Bug#22317)
47495         50caae3 Release MH-E manual version 8.6
47496         602bb40 Update MH-E's documentation about HTML renderers
47497         89018f0 Fx the we->the typo
47498         845ee57 Restore frames into the current display by default
47499         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
47500         01c3cd1 etc/TODO: Remove out-of-place issue
47501         5e18486 Clarify doc string of 'file-name-sans-extension'
47502         bffda22 Fix the MSDOS build
47503         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
47504         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
47505         f7ffc4b Fix infloop in 'number-sequence'
47506         4ab2673 ; Spelling and punctuation fixes in comments
47507         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
47509 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
47511         * lisp/emacs-lisp/autoload.el: Use radix-tree.
47513          (autoload--make-defs-autoload): Rewrite.
47514         (autoload--split-prefixes-1): Remove.
47515         (autoload-def-prefixes-max-entries): Rename from
47516         autoload-defs-autoload-max-size.
47517         (autoload-popular-prefixes): Remove.
47518         (autoload-def-prefixes-max-length): New const.
47520         * lisp/emacs-lisp/radix-tree.el: New file.
47522 2016-05-30  Ken Brown  <kbrown@cornell.edu>
47524         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
47526 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47528         Omit IF_LINT code that no longer seems needed
47530         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
47531         and now is as good a time as any to remove uses of IF_LINT that
47532         now seem to be unnecessary.
47533         * lib-src/emacsclient.c (set_local_socket):
47534         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
47535         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
47536         * src/casefiddle.c (casify_region):
47537         * src/charset.c (load_charset_map):
47538         * src/coding.c (decode_coding_object, encode_coding_object):
47539         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
47540         (cons_to_unsigned, cons_to_signed):
47541         * src/frame.c (make_frame, x_set_frame_parameters):
47542         * src/keyboard.c (read_event_from_main_queue):
47543         * src/regex.c (regex_compile):
47544         * src/syntax.c (back_comment):
47545         * src/window.c (Frecenter):
47546         * src/xfaces.c (Fx_list_fonts):
47547         Remove IF_LINT that no longer seems necessary.
47548         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
47549         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
47550         a pragma dance to pacify GCC -Wclobbered.
47551         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
47553         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
47554         mean we do not need IF_LINT any more.
47555         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
47556         at the end, to forestall warnings from older compilers.
47558 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47560         Port --enable-gcc-warnings to Cygwin, FreeBSD
47562         These platforms have a bug where _Noreturn is empty when 'lint' is
47563         defined.  Problem reported by Ken Brown (Bug#23640).
47564         * configure.ac (GCC_LINT): Rename from 'lint'.
47565         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
47567 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47569         Update from gnulib
47571         This incorporates:
47572         2016-05-30 Use GCC_LINT, not lint
47573         2016-05-29 secure_getenv: Port to many more platforms.
47574         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
47575         * m4/secure_getenv.m4: Copy from gnulib.
47577 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
47579         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
47581         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
47583 2016-05-30  Ken Brown  <kbrown@cornell.edu>
47585         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
47587 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
47589         Fix Bug#23631 for Tramp
47591         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
47592         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
47593         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
47594         Fix caching problems.
47596         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
47598         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
47599         Move duplicate deletion ...
47600         (tramp-smb-handle-file-name-all-completions): ... here.
47602         * lisp/net/tramp.el (tramp-handle-file-name-completion):
47603         Handle `completion-ignored-extensions'.  (Bug#23631)
47605         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47606         Test also `completion-regexp-list' and `completion-ignored-extensions'.
47608 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
47610         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
47612         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
47614 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47616         Fix up remainder of the mml property change
47618         * lisp/gnus/message.el (message-send-mail): Use the renamed
47619         mml-buffer-substring-no-properties-except-some function.
47620         (message-send-news): Ditto.
47622 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47624         Allow preserving EXIF rotations when sending HTML messages
47626         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
47627         rotation if you have exiftool installed and the image format
47628         supports it.
47629         (mml-expand-html-into-multipart-related): Use it.
47630         (mml-buffer-substring-no-properties-except-some): Renamed and
47631         copy display properties, too.
47633 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47635         Make message-toggle-image-thumbnails work better
47637         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
47638         `insert-image' instead of `put-image' to make it possible to
47639         edit the resulting text in a sensible manner.
47641 2016-05-29  Alan Mackenzie  <acm@muc.de>
47643         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
47645         Remove the now redundant c-old-BOM and c-old-EOM.
47647         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
47648         meaning.
47649         (c-macro-cache-no-comment): New variable.
47650         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
47651         the new c-macro-cache-no-comment.
47652         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
47653         (c-no-comment-end-of-macro): New function.
47655         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
47656         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
47658         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
47659         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
47660         c-old-BOM/EOM.
47661         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
47662         a cons for the new region, since the function is now called as an after-change
47663         function.  No longer adjust c-new-END for the length of inserted/deleted
47664         text.  Move the size restrictions on macros to here from
47665         c-neutralize-syntax-in-and-mark-CPP.
47666         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
47667         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
47668         upper boundary to "neutralize" syntactically obtrusive characters.
47669         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
47670         one.
47672 2016-05-28  Ken Brown  <kbrown@cornell.edu>
47674         Avoid compiler warnings
47676         * src/cygw32.c (chdir_to_default_directory): Use "void" as
47677         argument list.  Use SSDATA instead of SDATA.
47679         * src/unexcw.c (fixup_executable): Use %td as format specifier for
47680         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
47682 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
47684         Fix 'next-line' and 'previous-line' during keyboard macro
47686         * lisp/simple.el (line-move-visual): Handle the case when point
47687         moves outside of the visible portion of the buffer while executing
47688         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
47690 2016-05-28  Alan Mackenzie  <acm@muc.de>
47692         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
47694         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
47695         back over noise clauses and attribute clauses.
47697         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
47699 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
47701         Prevent locked-file errors in Rmail
47703         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
47704         calling 'rmail-insert-inbox-text'.  Unlock if
47705         'rmail-insert-inbox-text' doesn't modify buffer.
47706         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
47708 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
47710         Sync with Tramp repository.
47712         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
47713         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
47714         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
47715         Create BUFFER if it doesn't exist.  Reported by Nikolay
47716         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
47718         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
47719         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
47720         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
47721         (tramp-gvfs-get-directory-attributes)
47722         (tramp-gvfs-get-root-attributes)
47723         (tramp-gvfs-get-file-attributes): New defun.
47724         (tramp-gvfs-handle-file-attributes)
47725         (tramp-gvfs-handle-file-name-all-completions): Use them.
47726         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
47727         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
47728         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
47729         (top): Suppress D-Bus error messages during zeroconf initialization.
47731         * lisp/net/tramp.el (tramp-unknown-id-string)
47732         (tramp-unknown-id-integer): New defconst.
47733         (tramp-check-cached-permissions)
47734         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
47735         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
47736         (tramp-convert-file-attributes, tramp-get-remote-uid)
47737         (tramp-get-remote-gid): Use them.
47739         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
47740         Rename from `tramp-color-escape-sequence-regexp'.
47741         (tramp-sh-handle-insert-directory)
47742         (tramp-convert-file-attributes): Adapt callees.
47743         (tramp-device-escape-sequence-regexp): New defconst.
47744         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
47745         Gissurarson <icetritlo@gmail.com>.
47747         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
47748         Simplify.
47750         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
47751         (tramp-test28-shell-command):
47752         Use `tramp-display-escape-sequence-regexp'.
47754 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47756         Don’t document declare-function internals
47758         Suggested by Stefan Monnier in:
47759         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
47760         * doc/lispref/functions.texi (Declaring Functions):
47761         * lisp/subr.el (declare-function):
47762         * lisp/emacs-lisp/bytecomp.el:
47763         (byte-compile-macroexpand-declare-function):
47764         Document as (fn file &optional arglist fileonly)
47765         even though it is really (fn file &rest args).
47767 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47769         * src/puresize.h (BASE_PURESIZE): Increase it some more.
47771 2016-05-27  Glenn Morris  <rgm@gnu.org>
47773         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
47775         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
47776         avoid build failure.
47778 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47780         Port to platforms where rlim_max < 0
47782         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
47783         this can happen if a special value like RLIM_INFINITY is negative.
47785 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47787         Robustify stack-size calculation
47789         * src/emacs.c: Include getpagesize.h.
47790         (main): Check for integer overflow when computing stack size.
47791         Round new rlim_cur to pagesize boundary on all platforms, as this
47792         is easy and would have prevented Bug#23622.  If setrlimit
47793         fails, use current limit to determine re_max_failures.
47795 2016-05-27  Ken Brown  <kbrown@cornell.edu>
47797         Adjust filenotify-tests on Cygwin
47799         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
47800         Remove special case for Cygwin.
47801         (file-notify-test07-backup): Update expected results on Cygwin.
47803 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47805         Improve define-function omitted-arg documentation
47807         * doc/lispref/functions.texi (Declaring Functions):
47808         * lisp/subr.el (declare-function):
47809         Be clearer when documenting omitted args for define-function.
47811 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47813         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
47815 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47817         * lisp/subr.el (definition-prefixes): Expand docstring
47819         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
47820         Remove unused function.
47822 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
47824         Fix broken viper deactivation
47826         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
47827           args to advice-remove.
47828           (viper--advice-add): Use cons not list.
47830         Addresses bug#23625
47832 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
47834         Preserve buffer point in windows by default (Bug#4041).
47836         * doc/lispref/windows.texi: Mention new default.
47837         * etc/NEWS: Mention new default.
47838         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
47840 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47842         Fix byte-compiler pacification for declare-function
47844         Problem reported by Michael Heerdegen in:
47845         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
47846         * lisp/emacs-lisp/bytecomp.el:
47847         (byte-compile-macroexpand-declare-function):
47848         Revert signature to previous value.
47849         * lisp/subr.el (declare-function): Change signature to
47850         match the reverted signature used in the byte compiler.
47852 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47854         Update texinfo.tex
47856         This fixes Bug#23611 in a different (and presumably better) way.
47857         * doc/misc/texinfo.tex: Update from gnulib.
47859 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47861         Pacify 'make check-declare'
47863 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47865         Repair damage from emacs-25 merge
47867         * test/lisp/character-fold-tests.el:
47868         Remove, as it was renamed to test/lisp/char-fold-tests.el.
47869         * test/lisp/emulation/viper-tests.el:
47870         Rename from test/automated/viper-tests.el.
47872 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47874         Merge from origin/emacs-25
47876         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
47877         a4d882c Correct old cell name unbinding when renaming cell.
47878         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
47879         0be6725 Document problem: slow screen refresh on missing font.
47880         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
47881         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
47882         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
47883         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
47884         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
47885         897fb6f ; 'Changes from the pre-25.1 API' copyedits
47886         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
47887         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
47888         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
47889         2e589c0 Fix cross-references between manuals
47890         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
47891         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
47892         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
47893         503e752 ; * CONTRIBUTE: Fix a typo.
47894         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
47895         bdfbe6d ; * admin/release-process: Copyedits.
47896         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
47897         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
47898         df4a14b Add automated test for viper-tests.el
47899         c0139e3 Fix viper undo breakage from undo-boundary changes
47900         920d76c Fix reference to obsolete fn ps-eval-switch
47901         18a9bc1 Do not trash symlinks to init file
47902         2671179 Don't print the "decomposition" line for control chars in wha...
47903         869092c Bring back xterm pasting with middle mouse
47904         5ab0830 Provide workaround for xftfont rendering problem
47905         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
47906         30989a0 Mention GTK+ problems in etc/PROBLEMS
47907         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
47908         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
47909         e41a5cb Avoid errors with Czech and Slovak input methods
47910         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
47911         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
47912         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
47913         c45d9f6 Improve documentation of 'server-name'
47914         3b5e38c Modernize ASLR advice in etc/PROBLEMS
47915         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
47917 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
47919         Avoid byte-compiler warnings due to 'declare-function'
47921         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
47922         (w32-get-valid-locale-ids):
47923         * lisp/progmodes/js.el (ido-mode): Specify arglist in
47924         'declare-function' forms, to avoid byte-compiler warnings.
47926 2016-05-26  Glenn Morris  <rgm@gnu.org>
47928         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
47930         No-one puts info pages there.  If /share does exist, it's likely to
47931         contain remote file systems where access could be slow.
47933 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47935         Merge from origin/emacs-25
47937         2d76405 etc/AUTHORS: Update the AUTHORS file
47939 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47941         Merge from origin/emacs-25
47943         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
47945 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47947         Merge from origin/emacs-25
47949         939eb75 Fix bug in default setting of 'ps-paper-type'
47951 2016-05-26  Glenn Morris  <rgm@gnu.org>
47953         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
47955 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
47957         Fix Bug#23614.
47959         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47960         Let-bind `process-coding-system-alist' in order to suppress
47961         the value for "cmdproxy".
47963         * lisp/net/tramp.el (tramp-encoding-shell):
47964         `w32-shell-name' is a function.
47965         (tramp-encoding-command-switch)
47966         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
47968         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47969         Suppress some tests on MS Windows.  (Bug#23614)
47971 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
47973         hl-line.el: Fix flickering of highlighted line (bug#23510)
47975         * lisp/hl-line.el (hl-line-maybe-unhighlight)
47976         (global-hl-line-highlight-all)
47977         (global-hl-line-maybe-unhighlight): New functions.
47978         (hl-line-overlay-buffer): New variable.
47979         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
47980         pre-command-hook by hl-line-maybe-unhighlight on
47981         post-command-hook, to prevent hl-line from flickering.
47982         Adjust document string.
47983         (global-hl-line-mode): Use global-hl-line-highlight-all to
47984         simultaneously highlight the current line in all live windows.
47985         Replace global-hl-line-unhighlight on pre-command-hook by
47986         global-hl-line-maybe-unhighlight on post-command-hook, to
47987         prevent global-hl-line from flickering.  Remove
47988         global-hl-line-unhighlight from change-major-mode-hook on
47989         disabling the mode.  Adjust document string.
47991 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
47993         Make autoloads populate a new definition-prefixes table
47995         * lisp/subr.el (definition-prefixes): New hash table.
47996         (register-definition-prefixes): New function.
47998         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
47999         (autoload--split-prefixes-1, autoload--split-prefixes)
48000         (autoload--make-defs-autoload): New functions.
48001         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
48002         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
48003         (update-directory-autoloads): Don't touch loaddefs.el if the set of
48004         autoloads hasn't changed (i.e. if only the timestamp would change).
48006         * lisp/loadup.el: Purify definition-prefixes.
48008         * lisp/w32-fns.el: Keep name space clean.
48009         (w32-set-default-process-coding-system): Rename from
48010         set-default-process-coding-system.
48011         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
48013 2016-05-24  Ken Brown  <kbrown@cornell.edu>
48015         Allow network-stream-tests to work for out-of-tree builds
48017         * test/lisp/net/network-stream-tests.el
48018         (network-stream-tests--datadir): New defconst.
48019         (make-tls-server): Use it.
48021 2016-05-24  Ken Brown  <kbrown@cornell.edu>
48023         Fix failing echo-server-nowait test
48025         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
48026         Specify IPv4 for the client, to match the family of the server.
48027         (Bug#23606)
48029 2016-05-24  Ken Brown  <kbrown@cornell.edu>
48031         Allow shr-tests to work for out-of-tree builds
48033         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
48034         (shr-test, rendering): Use it.
48036 2016-05-24  Ken Brown  <kbrown@cornell.edu>
48038         Update allowable arguments for open-network-stream
48040         * src/coding.c (Ffind_operation_coding_system): Allow t as a
48041         target for open-network-stream.  (Bug #23540)
48043 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
48045         Make js-mode's syntax highlighting work again
48047         * lisp/progmodes/js.el (js-mode): Fix the assigned
48048         font-lock-defaults value (bug#23603).
48050 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
48052         * lisp/progmodes/cc-mode.el: Add minor comments
48054         (c-change-expand-fl-region): Mark args as unused.
48056 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
48058         * lisp/url/url-http.el: Use lexical-binding
48060         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
48061         (url-http-wait-for-headers-change-function): Remove unused var
48062         `content-length'.
48063         (url-http): Remove unused vars `host' and `port'.
48065 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
48067         * lisp/widget.el (define-widget): Use `declare' (which does work now).
48069         (widget-plist-member): Mark as obsolete.
48071 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
48073         * lisp/image.el: Use lexical-binding
48075         (image-scaling-factor, imagemagick-types-inhibit)
48076         (imagemagick-enabled-types): Remove redundant :group.
48077         (image--get-image): Apply de-Morgan and use car-safe.
48078         (image-compute-scaling-factor): Use the argument.
48080 2016-05-23  Glenn Morris  <rgm@gnu.org>
48082         * lisp/image.el (image--get-image): Remove nonsensical code.
48084         * lisp/image.el (image--get-image): Avoid requiring a library for
48085         one trivial operation.
48087 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
48089         Don’t use only last protocol from getaddrinfo
48091         Problem reported by Ken Brown in:
48092         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
48093         * src/process.c (conv_addrinfo_to_lisp): New function.
48094         (connect_network_socket): Arg is now a list of addrinfos, not
48095         merely IP addresses.  All uses changed.  Use protocol from
48096         each addrinfo.
48097         (Fmake_network_process): Accumulate protocols into addrinfos
48098         rather than just using the last one found.
48099         (check_for_dns): Accumulate protocols here, too.
48100         * src/process.h (struct Lisp_Process): Remove ai_protocol;
48101         no longer needed.
48103 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
48105         Fix seq requirement that broke bootstrap
48107         * lisp/image.el (image--get-image): Require seq here, not at the
48108         top level, to avoid ‘(require seq) while preparing to dump’ while
48109         bootstrapping.  Suggested by Tino Calancha in:
48110         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
48112 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
48114         Add missing dependencies to seq.el
48116         * lisp/emacs-lisp/find-func.el:
48117         * lisp/ibuffer.el:
48118         * lisp/image.el: Require seq.
48120 2016-05-22  Alp Aker  <alp@food52.com>
48122         * src/process.c (SOCK_NONBLOCK): Fix typo.
48124 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
48126         Add completion of colors in CSS mode
48128         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
48129         from "CSS Color Module Level 3".
48131         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
48132         Update test.
48134 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
48136         Prefer SOCK_NONBLOCK to O_NONBLOCK
48138         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
48139         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
48140         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
48141         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
48142         the order does not matter here.
48144 2016-05-21  Alan Third  <alan@idiocy.org>
48146         Fix bug#16856, cursor leaves garbage in fringe on OS X.
48148         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
48149         being drawn outside the text area.
48151 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
48153         Fix compiler warnings in the MinGW build
48155         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
48156         -Wno-pointer-sign, to keep the noise level down.
48158         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
48159         -Wredundant-decls, as that produces a lot of noise due to
48160         redeclaration of time-related functions by gnulib.
48161         * nt/runemacs.c (set_user_model_id): Fix argument type of
48162         'SetCurrentProcessExplicitAppUserModelID'.
48164         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
48165         declare 'dpyinfo', as it is unused.
48166         (xpm_load): Fix warnings about pointer signedness.
48167         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
48168         prototypes.
48169         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
48170         (sys_select): Provide prototype.
48171         (g_b_init_compare_string_w): Move declaration to file scope.
48172         * src/w32heap.c (dumped_data_commit): Now static.
48173         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
48174         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
48175         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
48176         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
48177         Provide prototypes.
48178         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
48179         redundant prototypes.
48180         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
48181         (init_environment, sys_ctime): Avoid warnings about discarding
48182         'const' qualifier.
48183         Include utimens.h.
48184         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
48185         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
48186         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
48187         prototypes.
48188         (sys_rename_replace): Use %d to avoid compiler warnings.
48189         (_wsa_errlist): Make the message text 'const char *', to avoid
48190         compilation warnings.
48191         (dynlib_reset_last_error): Move prototype to file scope.
48192         (w32_get_resource): First argument is now 'const char *'.
48193         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
48194         (otf_features): Second argument is no 'const char *'.
48195         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
48196         (x_set_window_size): Remove redundant prototypes.
48197         (XChangeGC, XGetGCValues, w32_draw_underwave)
48198         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
48199         (x_calc_absolute_position, x_destroy_window): Now static.
48200         (menubar_selection_callback): Move prototype to file scope.
48201         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
48202         declaration.
48203         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
48204         (w32font_full_name): Fix warnings about implicit conversion of
48205         'float' to 'double'.
48206         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
48207         discarding 'const' qualifier.
48208         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
48209         (set_frame_menubar): Remove redundant prototypes.
48210         (menubar_selection_callback, w32_menu_display_help): Provide
48211         prototypes.
48212         (simple_dialog_show): Avoid warnings about discarding 'const'
48213         qualifier.
48214         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
48215         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
48216         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
48217         redundant prototypes.
48218         (current_popup_menu): Remove redundant declaration.
48219         (colormap_t): Member 'name' is now 'const char *'.
48220         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
48221         (x_decode_color, x_set_border_pixel)
48222         (x_clear_under_internal_border, x_set_name, hook_w32_key)
48223         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
48224         static.
48225         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
48226         (w32_msg_worker, w32_last_error): Provide prototypes.
48227         (funhook, lookup_vk_code): Avoid warnings about missing
48228         parentheses.
48229         (x_default_font_parameter, Fw32_notification_notify): Avoid
48230         warnings about discarding 'const' qualifier.
48231         (Fx_create_frame): Avoid warnings about empty body of 'else'.
48232         (x_screen_planes): Ifdef away unused function.
48233         (Fx_show_tip): Remove unused variables.
48234         (Fw32_battery_status): Avoid warnings about implicit promotion
48235         from float to double.
48236         (Fw32_notification_notify): Initialize 'timeout'.
48237         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
48238         define the TIMER_SETTIME_RUNNING value if it will be used.
48239         * src/w32notify.c (send_notifications): Ifdef away an empty if
48240         clause.  Remove unused variable.
48241         (watch_end, watch_completion): Provide prototypes.
48242         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
48243         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
48244         warning with pointer signedness.
48245         * src/gnutls.c (gnutls_x509_crt_get_signature)
48246         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
48247         don't load them from the GnuTLS library, as they are no longer
48248         used.
48249         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
48250         define, as it's unused.
48251         * src/unexw32.c (open_input_file, open_output_file)
48252         (close_file_data): Remove redundant prototypes.
48253         (_start): provide prototype.
48254         (mainCRTStartup): Move prototype to file level.
48255         (find_section): Use type-cast to shut up compiler warnings.
48256         (offset_to_section, relocate_offset): Now static.
48257         (find_section): First argument is now a 'const char *'.
48258         (offset_to_section): Ifdef away, as it's unused.
48259         * src/w32heap.h (find_section): Adjust prototype.
48260         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
48261         * src/dired.c (directory_files_internal_w32_unwind): Avoid
48262         warnings about missing prototypes.
48263         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
48264         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
48265         signedness.
48266         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
48267         Fix warnings about pointer signedness.
48268         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
48269         unused.
48270         * src/sysdep.c (_getpid): Remove redundant prototype.
48271         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
48272         [!MSDOS]: Don't define 'st', it's unused.
48273         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
48274         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
48275         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
48276         n_to_read, as it is not used.
48277         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
48278         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
48279         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
48280         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
48281         not used by DOS_NT builds, to avoid compiler warnings.
48282         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
48283         declaration.
48284         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
48285         up compiler warnings.
48286         * src/w32term.h (x_set_window_size, x_get_focus_frame)
48287         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
48288         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
48289         (x_free_frame_resources, x_real_positions)
48290         (display_x_get_resource): Remove redundant prototypes.
48292         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
48293         (sys_rename, gettimeofday): Provide prototypes.
48294         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
48295         declarations.
48296         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
48297         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
48298         (close_winsock, initialize_sockets, w32_set_user_model_id)
48299         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
48300         prototypes.
48301         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
48302         difference.
48303         (w32_set_user_model_id): Update prototype of
48304         SetCurrentProcessExplicitAppUserModelID to avoid compiler
48305         warnings.
48306         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
48307         shut up compiler warnings.
48308         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
48310 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
48312         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
48314         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
48315         wrap on a whitespace character if it's followed by another
48316         whitespace character.  When returning under WORD_WRAP for a screen
48317         line that is continued, restore to wrap point when atpos/atx
48318         position would be displayed on the next screen line due to
48319         line-wrap.  (Bug#23570)
48321 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
48323         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
48325 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
48327         Added tests for dos unibyte decoding.
48329         The underlying bug was previously fixed by Eli Zaretskii in commit
48330         c8109d9c4057d8cac79e2c139758cadd410e7446.
48332 2016-05-20  Philipp Stephani  <phst@google.com>
48334         Fix handling of ‘mouse-on-link-p’.
48336         If ‘mouse-on-link-p’ returns a string or vector, the first element
48337         is to be used as new event.  Translation to ‘mouse-2’ should only
48338         happen if the return value is not a string or vector.  See
48339         docstring of ‘mouse-on-link-p’ and Bug#23288.
48341         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
48342         value of ‘mouse-on-link-p’ according to documentation.
48344         * test/lisp/mouse-tests.el (bug23288-use-return-value)
48345         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
48347 2016-05-20  Daiki Ueno  <ueno@gnu.org>
48349         epg: Add a way to detect gpg1 executable for tests
48351         Fixes bug#23561.
48353         * test/automated/epg-tests.el
48354         (epg-tests-program-alist-for-passphrase-callback): New
48355         constant.
48356         (epg-tests-find-usable-gpg-configuration): New function,
48357         renamed from `epg-tests-gpg-usable'.  All callers changed.
48358         (epg-tests-gpg-usable): Remove.
48360         * lisp/epg-config.el (epg-config--program-alist): Factor out
48361         constructor element to...
48362         (epg-config--configuration-constructor-alist): ...here.
48363         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
48364         and add PROGRAM-ALIST argument.
48366 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
48368         Put point at beginning of display-time-world buffer.
48370         If display-time-world decides to popup vertically from the bottom of the
48371         frame and scroll-margin is nonzero, the top of the buffer contents are
48372         hidden due to scroll.
48373         * lisp/time.el (display-time-world-display): Move point to point-min
48374         after inserting contents.
48376 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48378         Allow null entries in face and image cache
48380         Problem reported by Tino Calancha (Bug#23580).
48381         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
48382         Don’t assume that the result is non-null.
48383         * src/xdisp.c (fill_image_glyph_string):
48384         Restore check that image pointer is non-null.
48386 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48388         Fix flyspell highlighting
48390         Problem reported by Jim Meyering (Bug#23575).
48391         * src/xdisp.c (extend_face_to_end_of_line):
48392         Fix typo in previous change.
48394 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
48396         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
48398 2016-05-18  Sam Steingold  <sds@gnu.org>
48400         python-describe-at-point: add and bind
48402 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48404         ‘make check-declare’ now chatters less
48406         * etc/NEWS: Document this.
48407         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
48408         Return relative names, not absolute.
48409         (check-declare-scan, check-declare-verify, check-declare-warn)
48410         (check-declare-file, check-declare-directory):
48411         Generate less chatter.  Use relative file names rather than
48412         absolute.  Don’t give up on computing a good file name for a
48413         diagnostic merely because the function name was bad.  Make
48414         malformed declarations more noticeable.  Don’t warn about
48415         "ext:..." declarations if check-declare-ext-errors is nil.
48416         (check-declare-errmsg): Remove.
48417         (check-declare-warn): New optional arg LINE.
48418         (check-declare-files): Put status into mode line rather than
48419         chattering.
48421 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48423         Pacify byte-compiler for byte-compile-macroexpand-declare-function
48425         * lisp/emacs-lisp/bytecomp.el: Change signature of
48426         byte-compile-macroexpand-declare-function to match that of
48427         declare-function.
48429 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48431         Pacify byte-compiler for with-wrapper-hook
48433         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
48434         New macro, split out from with-wrapper-hook.
48435         * lisp/abbrev.el (abbrev--default-expand):
48436         * lisp/minibuffer.el (completion--in-region):
48437         * lisp/simple.el (buffer-substring--filter):
48438         * lisp/subr.el (with-wrapper-hook):
48439         Use it.
48441 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48443         Pacify byte-compiler in lisp/url
48445         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
48446         Add decl.
48448 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48450         Port --enable-gcc-warnings to GCC 6.1
48452         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
48453         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
48454         Omit test whether pointer plus a constant equals a null pointer.
48455         * src/alloc.c (compact_small_strings):
48456         Avoid pointer arithmetic on null pointers.
48457         * src/alloc.c (mark_face_cache):
48458         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
48459         * src/fringe.c (draw_fringe_bitmap_1)
48460         (Fset_fringe_bitmap_face):
48461         * src/macfont.m (macfont_draw):
48462         * src/msdos.c (IT_set_face, IT_clear_screen):
48463         * src/nsfont.m (nsfont_draw):
48464         * src/nsterm.h (FRAME_DEFAULT_FACE):
48465         * src/nsterm.m (ns_draw_window_cursor)
48466         (ns_draw_vertical_window_border, ns_draw_window_divider)
48467         (ns_dumpglyphs_box_or_relief)
48468         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
48469         (ns_dumpglyphs_stretch):
48470         * src/w32term.c (w32_draw_vertical_window_border)
48471         (w32_draw_window_divider, x_set_mouse_face_gc):
48472         * src/xdisp.c (estimate_mode_line_height, init_iterator)
48473         (handle_face_prop, handle_single_display_spec, pop_it)
48474         (CHAR_COMPOSED_P, get_next_display_element)
48475         (next_element_from_display_vector, extend_face_to_end_of_line)
48476         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
48477         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
48478         (lookup_named_face):
48479         * src/xterm.c (x_draw_vertical_window_border)
48480         (x_draw_window_divider, x_set_mouse_face_gc):
48481         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
48482         * src/xterm.c (try_window_id):
48483         Redo loop to convince GCC 6.1 that it is null pointer safe.
48484         (x_color_cells):
48485         Use eassume as necessary to pacify GCC 6.1.
48486         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
48487         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
48488         behavior of the non-_OPT macro, to be used when the result
48489         might be a null pointer.
48490         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
48491         [HAVE_WINDOW_SYSTEM]:
48492         * src/intervals.h (INTERVAL_WRITABLE_P):
48493         * src/term.c (turn_off_face):
48494         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
48495         (produce_image_glyph, produce_xwidget_glyph):
48496         * src/xfaces.c (lookup_named_face):
48497         Remove unnecessary test for null pointer.
48498         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
48499         * src/process.c (would_block): New function.
48500         (server_accept_connection, wait_reading_process_output, send_process):
48501         Use it.
48502         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
48503         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
48504         might be null.
48506 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48508         Sync from gnulib
48510         This incorporates:
48511         2016-05-17 manywarnings: update for GCC 6.1
48512         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
48513         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
48515 2016-05-16  Glenn Morris  <rgm@gnu.org>
48517         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
48518         Include more details on hydra.
48520 2016-05-16  Alan Mackenzie  <acm@muc.de>
48522         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
48524 2016-05-16  Alan Mackenzie  <acm@muc.de>
48526         Fix spurious fontification of "for (; a * b;)" in CC Mode.
48528         This fixes bug #7918 (again).
48530         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
48531         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
48532         cons cell - additionally, return a flag indicating whether the declaration
48533         parsed might have been an expression, and the position of the type identifier
48534         in the said declaration.
48536         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
48537         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
48538         check for it being a spurious declaration in a "for" statement.
48540 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48542         Pacify ‘make check-declare’
48544         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
48545         (data-debug-insert-stuff-list, data-debug-insert-thing):
48546         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
48547         (viper-change-state-to-emacs):
48548         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
48549         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
48550         * lisp/org/ob-awk.el (orgtbl-to-generic):
48551         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
48552         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
48553         * lisp/org/ob-exp.el (org-element-context):
48554         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
48555         (orgtbl-to-generic):
48556         * lisp/org/ob-haskell.el (org-export-to-file):
48557         * lisp/org/ob-latex.el (org-create-formula-image)
48558         (org-latex-compile):
48559         * lisp/org/ob-python.el (run-python):
48560         * lisp/org/ob-sh.el (orgtbl-to-generic):
48561         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
48562         * lisp/org/org-colview.el (org-agenda-redo):
48563         * lisp/org/org-feed.el (url-retrieve-synchronously):
48564         * lisp/org/org-info.el (Info-find-node):
48565         * lisp/org/org-list.el (org-previous-line-empty-p):
48566         * lisp/org/org-macs.el (org-string-match-p):
48567         * lisp/org/org.el (org-beamer-mode):
48568         Fix prototype to match current definition.
48569         * lisp/emacs-lisp/advice.el (function-called-at-point):
48570         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
48571         Fix typo: extra '.
48572         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
48573         Insert ,' to pacify check-declare.
48574         * lisp/org/ob-comint.el (tramp-flush-directory-property):
48575         * lisp/org/ob-tangle.el (org-babel-update-block-body):
48576         * lisp/org/org-bibtex.el (org-babel-trim):
48577         * lisp/org/org-pcomplete.el (org-export-backend-options):
48578         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
48579         Fix file name in declare-function.
48580         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
48581         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
48582         * lisp/org/org.el (org-beamer-mode):
48583         * lisp/url/url-http.el (gnutls-negotiate):
48584         Append ‘t’ to declare-function, since the declaration isn’t a defun.
48585         * lisp/org/ob-core.el (show-all):
48586         Declare outline-show-all instead, since it is the
48587         non-obsolete version of this function.
48588         (org-save-outline-visibility): Remove; not needed.
48589         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
48590         (geiser-eval-region, geiser-repl-exit):
48591         * lisp/org/ox-org.el (htmlize-buffer):
48592         Prepend "ext:" to file name, since it is not part of Emacs.
48593         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
48594         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
48595         Remove decl, since function was removed.
48596         * lisp/org/ob-sh.el (org-babel-comint-with-output):
48597         * lisp/org/org-macro.el (org-with-wide-buffer):
48598         Omit unnecessary (and mismatching) decl.
48599         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
48600         * lisp/org/org-clock.el (calendar-iso-to-absolute):
48601         Declare calendar-iso-to-absolute instead, since it is the
48602         non-obsolete version of this function.
48603         * lisp/org/org-compat.el (w32-focus-frame):
48604         Remove decl, since function is now obsolete.
48606 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
48608         :max-width/height fixes for shr after the scaling changes
48610         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
48611         max-width and max-height even after the scaling changes done
48612         earlier this year.
48614 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
48616         Fix reading minibuffer input in viper-mode
48618         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
48619         Restore an assignment to viper-initial that got lost when
48620         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
48622 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48624         Port autogen.sh to Git 2.4
48626         Problem reported by Michael Brand in:
48627         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
48628         * autogen.sh (git_config): Don't assume that git rev-parse
48629         groks --git-common-dir.
48631 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48633         Merge from origin/emacs-25
48635         6de0715 Properly reject malformed or empty package sigs
48636         edae7d9 Remove buggy non-native image scrolling
48638 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48640         Improve display of tex-verbatim and Info quoted
48642         Problem reported by Glenn Morris (Bug#19889).
48643         * doc/emacs/display.texi (Standard Faces):
48644         * doc/lispref/display.texi (Basic Faces):
48645         * etc/NEWS: Mention fixed-pitch-serif.
48646         * lisp/faces.el (face-font-family-alternatives):
48647         New family alias Monospace Serif.
48648         (fixed-pitch-serif): New face, which uses the new family.
48649         * lisp/info.el (Info-quoted):
48650         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
48651         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
48652         Add test case for Monospace Serif.
48654 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
48656         * lisp/net/sieve-mode.el: Handle the text:... notation
48658         Get rid of redundant :group keywords.
48659         (sieve-mode-syntax-table): Move initialization into declaration.
48660         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
48661         (sieve-mode): Use them.
48663 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48665         Tweak check-declare-directory performance
48667         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
48668         Use ‘find ... -exec ... +’ for speed.
48670 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48672         Sync from gnulib
48674         This incorporates a spelling fix, plus:
48675         2016-05-09 Fix undefined behavior in gettext.h
48676         * lib/gettext.h, lib/mktime.c:
48677         Copy from gnulib.
48679 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48681         Merge from origin/emacs-25
48683         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
48684         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
48685         1a5a05c Do not mistake colon at the end of regexp for slash symbol
48686         4c5a00b Make package-install-from-buffer not move point
48687         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
48688         f79c352 Redo the fix for bug#21839
48689         8d2f78c Don't treat JS spread as contination method call
48691 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
48693         Correct server/client address
48695         * src/process.c (Fmake_network_process): :local is for servers and :remote
48696         is for clients.
48698 2016-05-12  Ken Brown  <kbrown@cornell.edu>
48700         Autosave buffers on logout if HAVE_NTGUI
48702         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
48703         w32_read_socket.
48705         * src/w32term.c (w32_read_socket): Create an event of type
48706         END_SESSION_EVENT if a WM_ENDSESSION message is received.
48708         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
48710         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
48711         `end-session'.
48712         (kbd_buffer_get_event): Return an end-session event if an event of
48713         type END_SESSION_EVENT is read.
48714         (keys_of_keyboard): Bind the end-session event to kill-emacs in
48715         special-event-map.  (Bug#23483)
48717 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48719         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
48721         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
48722         (object-print): Use cl-call-next-method instead of call-next-method.
48723         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
48725 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48727         * lisp/cedet/semantic: Silence some warnings
48729         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
48730         (semanticdb-get-database-tables): Use make-instance to silence warnings.
48732         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
48733         some macros from there.  Silence compilation warnings:
48734         Replace initargs with slot names in oref/oset.
48735         Move `SYMREF TOOLS' section earlier so definitions precede their use.
48737 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
48739         Support srcset in <img>
48741         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
48742         with srcset specifiers (bug#23459).
48744 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48746         Do not autoload some functions of tramp.el
48748         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48749         Autoload a shortened version of this function, avoid recursive load.
48750         (tramp-completion-file-name-handler-alist)
48751         (tramp-completion-mode-p)
48752         (tramp-completion-handle-expand-file-name)
48753         (tramp-completion-handle-file-name-all-completions)
48754         (tramp-completion-handle-file-name-completion): Do not autoload.
48756 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48758         Avoid recursive load of tramp.el
48760         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48761         Autoload a shortened version of this function, avoid recursive load.
48763 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
48765         Fix a problem of tramp-tests on hydra.
48767         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48768         Nullify `tramp-default-method' due to hydra.
48770 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48772         Pacify byte-compiler in lisp/vc
48774         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
48775         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
48776         Declare functions defined elsewhere, to forestall “might not
48777         be defined at runtime” warnings.
48779 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48781         Merge from origin/emacs-25
48783         d0d9f55 Allow newlines inside cl function arglists
48784         963541a Publicize cl--generic-all-functions
48785         3c581d5 ; Fix typo
48786         e58f900 Add some "safe-local-variable" declarations for compatibility...
48788 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48790         'text-quoting-style' now affects only ` and '
48792         Change 'text-quoting-style' so that it no longer affects
48793         formatting of curved quotes in format arguments to functions like
48794         'message'.  In particular, when this variable's value is 'grave',
48795         all quotes in formats are output as-is.
48796         * doc/lispref/help.texi (Keys in Documentation):
48797         * doc/lispref/strings.texi (Formatting Strings):
48798         * doc/lispref/tips.texi (Documentation Tips):
48799         * etc/NEWS:
48800         * src/doc.c (syms_of_doc): Document this.
48801         * lisp/help-fns.el (describe-function-1):
48802         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
48803         (syms_of_doc):
48804         * src/editfns.c (styled_format): Omit now-unnecessary code.
48805         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
48807 2016-05-10  Alan Mackenzie  <acm@muc.de>
48809         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
48811         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
48812         being reverted because it slowed down CC Mode's fontification too much
48813         (factor ~3).  It was the fix to bug #7918.
48815 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
48817         Move "Recent messages" earlier in report-emacs-bug
48819         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
48820         messages" part earlier so that users can see it and remove it
48821         if they want.
48823 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48825         Pacify byte compiler in tramp.el
48827         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
48829 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
48831         Merge from origin/emacs-25
48833         3b47898 Fix doc string in `insert'
48834         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
48835         cd27f73 Say 'All results processed' at the end
48836         4ffec91 Document automatic adjustment of process' logical window dime...
48837         dc66271 ; Fix typos and stylistic glitches in NEWS
48839 2016-05-09  Alan Mackenzie  <acm@muc.de>
48841         CC Mode now uses the new :after-hook feature of define-derived-mode
48843         It now runs internal variable setting functions after the mode hooks, no
48844         longer runs the mode hooks twice, and declares the configuration variables for
48845         noise macros and macros with semicolons as safe variables (when given suitable
48846         arguments).
48848         Fixes bug #16759 and bug #23476.
48850         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
48851         back into the C Mode value.
48853         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
48854         c-make-macro-with-semi-re.
48855         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
48856         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
48857         and c-update-modeline into the :after-hook form.  Remove the explicit settings
48858         of the syntax table, the abbreviation table and the local key map, since they
48859         duplicate forms generated by define-derived-mode.  Remove the explicit
48860         invocation of each mode's mode hook, since they duplicate ones generated by
48861         define-derived-mode.
48863         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
48864         functions.
48865         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
48866         save-local-variable property c-string-list-p.
48867         (c-macro-names-with-semicolon): give the save-local-variable property
48868         c-string-or-string-list-p.
48870         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
48871         necessary to call the regexp generating functions after setting the pertinent
48872         configuration values in a mode hook.
48874 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
48876         Fix the jit-lock-fontify-now test names
48878         * test/lisp/jit-lock-tests.el
48879         (jit-lock-fontify-now-mends-the-gaps)
48880         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
48881         Fix the test names.
48883 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48885         Extend completion candidates in tramp.el
48887         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
48888         (tramp-get-completion-function): Use it.
48890 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48892         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
48894         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
48895         compatibility.
48897 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
48899         Emulate interactive mode
48901         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
48902         (jit-lock-does-not-refontify-unnecessarily):
48903         Bind noninteractive to nil (bug#23278).
48905 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
48907         Simplify now that float-time etc. are built-in
48909         This was prompted by warnings about calls to now-obsolete functions.
48910         * lisp/calendar/time-date.el (encode-time-value):
48911         Use setq rather than a recursive call, to avoid a warning
48912         about calling this obsolete function.
48913         * lisp/calendar/time-date.el (encode-time-value)
48914         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
48915         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
48916         * lisp/net/rcirc.el (rcirc-float-time):
48917         * lisp/org/org-compat.el (org-float-time):
48918         Simplify now that time-add and float-time are now built-in.
48919         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
48920         * lisp/net/newst-backend.el (time-add):
48921         * lisp/org/org.el (time-subtract):
48922         Remove backward-compatibility definitions; they are now built-in.
48923         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
48924         (timeclock-seconds-to-time):
48925         * lisp/net/rcirc.el (rcirc-float-time):
48926         * lisp/org/org-compat.el (org-float-time):
48927         Now obsolete, since callers can just use float-time and
48928         seconds-to-time.  All uses changed.
48929         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
48930         * lisp/gnus/gnus-art.el (article-lapsed-string):
48931         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
48932         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
48933         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
48934         * lisp/net/tramp.el (tramp-time-diff):
48935         * lisp/org/org-clock.el (org-clock-timestamps-change):
48936         Prefer the time-subtract builtin to the subtract-time alias.
48937         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
48938         * test/lisp/character-fold-tests.el (character-fold--speed-test):
48939         Prefer the float-time builtin to the time-to-seconds alias.
48940         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
48941         * lisp/org/org-timer.el, lisp/org/org.el:
48942         Adjust to org-float-time deprecation.
48944 2016-05-08  Alan Mackenzie  <acm@muc.de>
48946         Add :after-hook facility to define-derived-mode.
48948         This allow a form to be evaluated _after_ a major mode's hooks have been run.
48949         It is needed to solve some problems in CC Mode, including bug #16759 and
48950         bug #23476.
48952         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
48953         `:after-hook', and generate the requisite code for it.
48954         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
48956         * lisp/subr.el (delayed-after-hook-forms): New variable.
48957         (run-mode-hooks): As the last thing evaluate the forms in
48958         delayed-after-hook-forms.
48960         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
48961         (Mode Hooks): Document the new feature in run-mode-hooks.
48963         * etc/NEWS: Note the new feature.
48965 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
48967         Fix recursive load of tramp.elc
48969         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48970         Check also for `tramp-completion-mode-p'.
48971         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
48973 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
48975         Prefer grep -E/-F to egrep/fgrep
48977         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
48978         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
48979         are probably more portable.
48980         * lib-src/etags.c (main):
48981         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
48982         (eshell/fgrep):
48983         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
48984         * lisp/eshell/esh-var.el (eshell-apply-indices):
48985         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
48986         (ada-find-in-src-path):
48987         * lisp/textmodes/ispell.el (ispell-grep-command):
48988         (ispell-lookup-words):
48989         Use or document grep -E and grep -F instead of egrep and fgrep.
48990         * lisp/textmodes/ispell.el (ispell-grep-options):
48991         Use -Ei on all platforms, not just MS-Windows.
48993 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
48995         Avoid unnecessary work if a chunk is empty
48997         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
48998         if a chunk is empty (bug#23278).
49000 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
49002         * test/lisp/jit-lock-tests.el: New file.
49004 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
49006         Continue to fix Bug#10085
49008         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
49009         <expand-file-name>: Add handler.
49010         (tramp-completion-handle-expand-file-name): New defun.
49011         (tramp-handle-file-name-as-directory): Handle completion mode case.
49013         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
49014         Fix test.
49015         (tramp-test24-file-name-completion): Extend test.
49017 2016-05-07  Alan Mackenzie  <acm@muc.de>
49019         Revert change 8e4595a... due to annoyance it causes the development team.
49021         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
49022         +0000 was an enhancement to .dir-locals to allow correct fontification
49023         of certain macro constructs.
49025         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
49027 2016-05-07  Alan Mackenzie  <acm@muc.de>
49029         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
49031 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
49033         Add tests for CSS mode completion
49035         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
49036         (css-test-property-values-no-duplicates)
49037         (css-test-value-class-lookup): Use `seq-sort'.
49038         (css-mode-tests--completions): New helper function for retrieving CSS
49039         completions.
49040         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
49041         (css-test-complete-property-value, css-test-complete-pseudo-class)
49042         (css-test-complete-pseudo-element, css-test-complete-at-rule)
49043         (scss-test-complete-at-rule, css-test-complete-property)
49044         (css-test-complete-selector, css-test-complete-nested-selector)
49045         (scss-test-complete-nested-selector): New tests.
49047 2016-05-06  Alan Mackenzie  <acm@muc.de>
49049         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
49051         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
49052         variables which was missing.
49054         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
49055         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
49057         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
49058         (Edebug Options): Document the new option.  Also add documentation for
49059         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
49060         edebug-print-circle, edebug-sit-for-seconds.
49062         * etc/NEWS: Note the new feature.
49064 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
49066         scheme.el: Turn literal tabs into \t
49068         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
49069         also caught some literal tabs in character classes. Fix this by
49070         adding \t to those classes.
49072 2016-05-07  Tino Calancha  <f92capac@gmail.com>
49074         Make 'backtab' work in table-mode on text terminals
49076         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
49077         explicitly.  (Bug#23456)
49079 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
49081         Try to speed-up display of many all-blank lines
49083         * src/bidi.c (bidi_initialize): Use anchored regexps for
49084         paragraph start and paragraph separator sequences.  (Bug#23457)
49086 2016-05-06  Alan Mackenzie  <acm@muc.de>
49088         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
49090         Prevent hack-local-variables being called from the fundamental-mode mode call
49091         early in normal-mode.  This fixes bug #23460 and bug #23463.
49093         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
49094         the things it calls, with the exception of hack-local-variables.
49096         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
49097         major mode initialization.
49099 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
49101         Port xref-tests to master branch
49103         Also, add a test to make this problem less likely in the future.
49104         * test/Makefile.in (check-no-automated-subdir): New rule.
49105         (check, check-expensive, check-maybe): Depend on it.
49106         * test/automated/data/xref/file1.txt: Rename to ...
49107         * test/data/xref/file1.txt: ... here.
49108         * test/automated/data/xref/file2.txt: Rename to ...
49109         * test/data/xref/file2.txt: ... here.
49110         * test/automated/xref-tests.el: Rename to ...
49111         * test/lisp/progmodes/xref-tests.el: ... here.
49112         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
49114 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
49116         Merge from origin/emacs-25
49118         50650cb Doc fixes for fclist and grep
49119         5e814e0 Minor doc fixes for quoting
49120         3347a73 `nreverse' the marker pairs list
49121         1a4127d Use save-excursion in xref-location-marker more
49122         ab3ba91 shell-quote-argument DIR when appropriate
49123         922c7a3 Rework xref-query-replace-in-results
49124         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
49125         0932b94 Fix todo-mode bug involving archived items (bug#23447)
49126         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
49127         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
49128         4d8fd9c Handle "empty line" regexp in xref searches
49129         f559b37 Add tests for xref-collect-matches
49130         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
49131         6f82d8e Clear buffer-undo-list when showing xrefs
49132         c68a091 Note the quote translation in `message' in section "incompati...
49133         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
49134         93703c5 (Common Keywords): Correct what missing :group means
49135         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
49136         2ea2a2f Doc fixes for quoting
49137         8544b98 posnp doc clarification
49138         805204f Mention what a missing :group does
49139         ec554d7 Fix documentation of dired-aux search/replace commands
49141 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
49143         Support completion of HTML tags in CSS selectors
49145         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
49146         list of HTML tags for completion.
49147         (css--nested-selectors-allowed): New variable for determining whether
49148         nested selectors are allowed in the current mode.
49149         (css--complete-selector): New function for completing part of a CSS
49150         selector.
49151         (css-completion-at-point): Support completion of selectors.
49152         (scss-mode): Allow nested selectors.
49154 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
49156         Make `R' in eww work more reliably
49158         * lisp/net/eww.el (eww-score-readability): Protect against
49159         null children.
49161 2016-05-05  Alan Mackenzie  <acm@muc.de>
49163         Call hack-local-variables from major modes rather than from file visiting
49165         This prevents file/directory local variables from being lost when the major
49166         mode is set or changed.
49168         This fixes bug #15577 and bug #23407.
49170         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
49171         function hasn't already done so.
49172         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
49173         its previous non-nil setting be t, and introduce the following action for a
49174         non-nil non-t value: apply all settings apart from `mode'.
49176         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
49177         which are visiting files.
49179         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
49180         sets file variables.
49181         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
49182         dir local variables, but `coding' can't.
49184         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
49185         also calls `hack-local-variables'.
49186         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
49187         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
49188         saying that the mode IS SET, not merely "selected" or "chosen".
49189         (Mode Hooks): Document change to `run-mode-hooks'.
49191         * doc/lispref/variables.texi (File Local Variables): Document change to
49192         `hack-local-variables'.
49194 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
49196         tramp-sh.el: Work around a stat bug
49198         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
49199         stat versions which produce shell quoted output.  See also
49200         coreutils Bug#23422.
49202 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
49204         Fix autogen.sh for separate worktrees
49206         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
49207         of assuming .git/hooks is a directory.
49209 2016-05-04  Alan Mackenzie  <acm@muc.de>
49211         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
49213         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
49214         when text-quoting-style is `leave'.
49216         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
49218         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
49219         `text_quoting_style'.
49220         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
49221         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
49222         LEAVE_QUOTING_STYLE.
49224         * src/editfns.c (styled_format): Set quoting_style to -1 when
49225         text-quoting-style is `leave'.
49227 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
49229         * lisp/emulation/viper.el:
49230         * lisp/emulation/viper-cmd.el: Use lexical-binding.
49231         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
49232         args, for use in advice-add.
49233         (viper--init-message): Rename from init-message.
49234         (viper-minibuffer-standard-hook): Adjust accordingly.
49235         (viper-undo): Remove unused var `modified'.
49236         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
49237         Don't use dynamic vars as args.
49238         (viper-submit-report): Clarify use of dynamic vars.
49240         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
49241         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
49242         Use add-function rather than a `(lambda ...).
49243         (viper--advice-list): New var.
49244         (viper--advice-add, viper--deactivate-advice-list): New funs.
49245         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
49246         (viper-non-hook-settings): Don't hook into find-file any more.
49248 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
49250         * lisp/vc/ediff-util.el: Use lexical-binding.
49252         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
49254 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
49256         Add an animation sanity check
49258         * lisp/image.el (image-multi-frame-p): Give up on animations
49259         if it seems like they are too slow (bug#23431).
49261 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
49263         abbrev-tests.el fix
49265         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
49266         internal implementation detail.
49268 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
49270         (shr-rescale-image): Clarify logic slightly
49272         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
49274 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
49276         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
49278         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
49279         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
49280         Monnier.  (Bug#19185, Bug#20398)
49282 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
49284         Add more abbrev tests
49286         * test/lisp/abbrev-tests.el
49287         (clear-abbrev-table-test): Use `abbrev-expansion'
49288         (abbrev-table-empty-p-test, list-abbrevs-test)
49289         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
49290         (edit-abbrevs-test, define-abbrevs-test)
49291         (read-write-abbrev-file-test)
49292         (abbrev-edit-save-to-file-test): New tests (bug#23139).
49294 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
49296         Allow eval-ing named character literals
49298         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
49299         named character literals.
49300         * test/lisp/progmodes/elisp-mode-tests.el
49301         (elisp--preceding-sexp--char-name): Add test for skipping over
49302         named character literals (bug#23354).
49304 2016-05-02  Aaron Conole  <aconole@redhat.com>
49306         Call va_end in boot_error
49308         * src/gnutls.c (boot_error): A recent change added a function
49309         to signal an error or return an error code. That function uses
49310         a variadic argument list to populate an error message
49311         string. However, it missed calling va_end after using the
49312         variadic argument list.
49314           Copyright-paperwork-exempt: yes
49316 2016-05-02  Aaron Conole  <aconole@bytheb.org>
49318         Fix the call to set_network_coding_system
49320         * src/process.c (Fmake_network_process): A recent commit
49321         modified the set_network_socket_coding_system function to take
49322         arguments host, service, and name. However, those arguments
49323         appear to be swapped.
49325           Copyright-paperwork-exempt: yes
49327 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
49329         Revert "alas, a map can have only one parent"
49331         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
49333         This had already been fixed by using `make-composed-map'.  And
49334         we don't want image-map to inherit from special-mode-map, anyway.
49336 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49338         Merge from origin/emacs-25
49340         bf21c84 Fix quoting problem in cc-engine debug message
49341         8f36614 Add electric-quote-string unit test
49342         6280531 Don’t electrically quote ‘'’ in Python
49343         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
49345 2016-05-02  Sam Steingold  <sds@gnu.org>
49347         alas, a map can have only one parent
49349         * lisp/image-mode.el (image-model-map): Cannot have two parents.
49350         * lisp/image.el (image-map): Inherit from `special-mode-map'.
49352 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
49354         Fix Bug#10085
49356         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
49357         Add optional arguments OPERATION and COMPETION.  Handle
49358         `file-name-as-directory', `file-name-directory' and
49359         `file-name-nondirectory' also in completion mode.
49360         (tramp-file-name-handler): Use it.  (Bug#10085)
49362         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
49363         Extend test.
49365 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
49367         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
49369 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49371         Tweak .gitignore
49373         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
49374         as these files are no longer created.  Add gmon.out, for
49375         -pg profiling.  Sort.
49377 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49379         Sync from gnulib
49381         This incorporates:
49382         2016-05-01 mktime: port to stricter signed overflow checking
49383         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
49384         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
49385         2016-05-01 mktime: simplify DEBUG_MKTIME
49386         2016-05-01 Port mktime_internal offset to unsigned time_t
49387         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
49388         2016-04-13 mktime: improve integer overflow checking
49389         2016-04-13 intprops: check two's complement assumption
49390         2016-04-13 intprops, mktime, strtol: assume two's complement
49391         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
49392         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
49393         Copy from gnulib.
49395 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49397         Merge from origin/emacs-25
49399         c695fb3 ; Spelling fixes
49400         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
49401         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
49403 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49405         Merge from origin/emacs-25
49407         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
49408         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
49409         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
49411         # Conflicts:
49412         #       doc/misc/url.texi
49413         #       lisp/url/url.el
49415 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49417         Merge from origin/emacs-25
49419         16e5e8e Fix last change to isearch-update (bug#23406)
49420         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
49421         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
49422         86aa409 Followup for last commit in the user manual
49423         7004459 Improve doc string of 'set-goal-column'
49424         ccdaf04 Fix the MSDOS build
49425         ffe701c Remove \= from format string (bug#18190)
49426         1c58fa1 Fix variable-pitch font on MS-Windows
49427         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
49428         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
49429         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
49430         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
49431         734fb3a Port dumping to NetBSD with PaX
49432         0255a70 Don't mistake `for' inside a function for a part of array com...
49434         # Conflicts:
49435         #       src/Makefile.in
49437 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49439         Merge from origin/emacs-25
49441         71fb0e0 Improve last change to vc-git-mode-line-string
49442         6858e77 Todo mode doc bug fix
49443         e55d0db Fix revision calculation in vc-git-mode-line-string
49444         ca87b34 ; Fix errant revert ccb75d7
49445         40bfebe Add Python 3.5 keyword "await"
49446         fa7886a Add new keywords of Python 3.5
49447         ccb75d7 Partially revert previous change.
49448         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
49449         b09ca27 Say why text-quoting-style is not a user option
49451 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49453         Merge from origin/emacs-25
49455         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
49456         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
49457         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
49459 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49461         Mention the `find-library-name' changes
49463 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49465         Fix text in menu in minor-mode-menu-from-indicator
49467         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
49468         capitalize "Off" in "Turn Off" (bug#11028).
49470 2016-05-01  David Engster  <deng@randomsample.de>
49472         gitmerge: Add cherry pick to gitmerge-skip-regexp
49474         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
49475         from commit", which is the string appended by 'git cherry-pick
49476         -x'.
49478 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49480         Allow `global-set-key' to bind keys under the `M-o' map
49482         * lisp/subr.el (global-set-key): Allow binding keys under the
49483         `M-o' map (bug#9730).
49485 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49487         Add `size-indication-mode' to the menu on `mouse-1' "Top"
49489         * lisp/bindings.el (mode-line-column-line-number-mode-map):
49490         Add `size-indication-mode' to the menu (bug#5727).
49492 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49494         Allow finding libraries loaded manually outside the load-path
49496         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
49497         New function to find a library from a load path (bug#5661).
49498         (find-library-name): Use it.
49500         There are so many combinations of inputs and possibly entries in
49501         `load-history' that the code looks like an entry in a code obfuscation
49502         contest.  If anybody has a better implementation, please substitute.
49504         But remember that the input given may be foo, foo.el, foo.elc, and the
49505         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
49506         want to return only foo.el and foo.el.gz.  *phew*
49508 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
49510         Allow minibuffer prompts to use faces
49512         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
49513         `minibuffer-prompt-properties' and explain how faces work in
49514         the minibuffer prompt.
49516         * src/minibuf.c (read_minibuf): If `face' is in
49517         `minibuffer-prompt-properties', apply it to the end of the
49518         face list to allow users to have their own faces on the
49519         prompts (bug#16136).
49521 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
49523         Add R7RS syntax forms to scheme.el
49525         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
49526         a number of special forms introduced in R7RS-small.
49527         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
49529 2016-05-01  Alan Third  <alan@idiocy.org>
49531         Implement horizontal scroll bars on NS
49533         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
49534         check.
49535         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
49536         scroll-bar mouse clicks to standard handlers.
49537         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
49538         pixel_height to pixel_length.
49539         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
49540         caused scroll-bars to be over-drawn and the best working solution
49541         appears to be complete removal.
49542         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
49543         correctly.
49544         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
49545         (setFrame): Handle horizontal case.
49546         (dealloc): Handle horizontal case.
49547         (judge): Handle horizontal case.
49548         (setPosition): Rename pixel_height to pixel_length.
49549         (sendScrollEventAtLoc): Handle horizontal case.
49550         (mouseDown): Handle horizontal case and general tidy up of code.
49551         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
49552         absolute pixel size instead of ratio.
49553         * src/window.h: Remove NS check.
49555 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
49557         tramp.texi: Revert last change due to backward compatibility
49559 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49561         Fix the buffer-count patch (Bug#23394)
49563         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
49564         once each time through the loop.  Reported by Lars Ingebrigtsen in:
49565         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
49567 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49569         cua-prefix-override-inhibit-delay doc fix
49571         * lisp/emulation/cua-base.el
49572         (cua-prefix-override-inhibit-delay): Typo fix in doc string
49573         (bug#23401).
49575 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49577         Fix generate-new-buffer-name increment typo
49579         Problem reported by Chaitanya Koparkar (Bug#23394).
49580         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
49581         generating a new buffer.  This fixes a typo I introduced in
49582         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
49584 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49586         global-eldoc-mode doc fix
49588         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
49589         specific about what "applicable" means (bug#23071).
49591 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49593         Make the legend in describe-categories a link
49595         * lisp/help-fns.el (describe-categories): Make the "see
49596         bottom" text a link (bug#22227).
49598 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49600         normal-top-level-add-subdirs-to-load-path doc fix
49602         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
49603         Doc fix (bug#21962).
49605 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49607         isearch-search-fun-function doc tweak
49609         * lisp/isearch.el (isearch-search-fun-function): Mention what
49610         the STRING parameter is (bug#21552).
49612 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49614         Fill some imenu--index-alist doc lines
49616         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
49618 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49620         Make describe-variable look up the variable in the current buffer
49622         * lisp/help-fns.el (describe-variable): Get the variable
49623         definition in the buffer we were called from (in case it only
49624         exists there) (bug#21252).
49626 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49628         Fmarker_position doc string clarification
49630         * src/marker.c (Fmarker_position): Clarify the doc string
49631         (bug#21231).
49633 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49635         Further define-obsolete-* doc fixups
49637         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49638         Fix up last change.
49639         (define-obsolete-variable-alias): Ditto.
49641 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49643         Describe WHEN in all the define-obsolete- macros
49645         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49646         Say more verbosely what WHEN is (bug#21225).
49647         (define-obsolete-function-alias): Describe the WHEN parameter.
49648         (define-obsolete-variable-alias): Ditto.
49650 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49652         Mention with-silent-modifications in the lispref manual
49654         * doc/lispref/text.texi (Changing Properties): Document
49655         with-silent-modifications (bug#21171).
49657 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49659         with-silent-modifications doc clarification
49661         * lisp/subr.el (with-silent-modifications): Rearrange the doc
49662         string a bit so that the most pertinent information is at the
49663         top (bug#21171).
49665 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49667         clear-visited-file-modtime doc string fix
49669         * lisp/files.el (clear-visited-file-modtime): Fix possibly
49670         confusing doc string wording (bug#21169).
49672 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49674         Document mode mode line variables
49676         * doc/lispref/modes.texi (Mode Line Variables): Document
49677         `mode-line-front-space, `mode-line-misc-info',
49678         `mode-line-end-spaces' (bug#21014).
49680 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49682         Add a cross ref to Optional Mode Line
49684         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
49685         reference to the Emacs mode line node that explains things
49686         like `display-time-string' (bug#21002).
49688 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49690         Add a doc string to display-time-string
49692         * lisp/time.el: Add a doc string to `display-time-string',
49693         because it's referred to in the manual, and is too mysterious
49694         otherwise (bug#21002).
49696 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49698         custom-buffer-style doc fix
49700         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
49701         value (bug#20724).
49703 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49705         Document how to check for ImageMagick support
49707         * doc/lispref/display.texi (ImageMagick Images): Say how to
49708         check for ImageMagick support, which isn't quite obvious
49709         (bug#20702).
49711 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49713         Minor doc fix for ImageMagick/SVG builds
49715         * doc/lispref/display.texi (SVG Images): Don't imply that you
49716         have to build Emacs yourself (bug#20702).
49717         (ImageMagick Images): Ditto.
49719 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49721         Rearrange the doc of query-replace slightly
49723         * lisp/replace.el (query-replace): Move the mention of the
49724         interactive prefix arg earlier so that users can find it
49725         (bug#20654).
49727 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49729         apropos-print doc fix
49731         * lisp/apropos.el (apropos-print): Document the undocumented
49732         parameters (bug#20520).
49734 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49736         completion-table-with-predicate doc string fix
49738         * lisp/minibuffer.el (completion-table-with-predicate): t ->
49739         non-nil in the doc string (bug#20460).
49741 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49743         Fill the completion-table-with-predicate doc string
49745         * lisp/minibuffer.el (completion-table-with-predicate): Fill
49746         the doc string (bug#20460).
49748 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49750         replace-match-maybe-edit doc clarification
49752         * lisp/replace.el (replace-match-maybe-edit): Say what
49753         MATCH-DATA is (bug#20304).
49755 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49757         add-timeout doc fix
49759         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
49760         value (bug#20181).
49762 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49764         Extremely minor doc fix in Choosing Window
49766         * doc/lispref/windows.texi (Choosing Window): There's only one
49767         action alist, I think (bug#20158).
49769 2016-04-30  Alan Mackenzie  <acm@muc.de>
49771         * .dir-locals.el: Amend for correct fontification of *.[ch]
49772         containing "IF_LINT"
49774 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49776         Transform mentions of `eval-after-load' to `with-eval-after-load'
49778         * doc/lispref/loading.texi (Hooks for Loading): Update text to
49779         not mention `eval-after-load' (bug#20038).
49781 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49783         cursor-type doc fix
49785         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
49786         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
49788 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49790         Add a link from Tool Bar to Images
49792         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
49793         Images node (bug#19722).
49795 2016-04-30  Alan Mackenzie  <acm@muc.de>
49797         CC Mode: Recognize a noise macro with parens after a declarator's identifier
49799         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
49800         following comment "Skip over type decl suffix operators." insert code also
49801         to check for noise macros with parentheses.
49803 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49805         (default-mode-line-format): More explicit obsolete info
49807         * lisp/subr.el (default-mode-line-format): Be more explicit in
49808         how default values are now handled (bug#19424).
49810 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49812         Fcompare_buffer_substrings doc string clarification
49814         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
49815         doc string clarification (bug#19255).
49817 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49819         insert-file-contents-literally doc fix
49821         * lisp/files.el (insert-file-contents-literally): Say that the
49822         parameters are explained in the other function (bug#18317).
49824 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49826         Fix custom types for cursor-in-non-selected-windows
49828         * lisp/cus-start.el (standard): Use the same custom types for
49829         cursor-in-non-selected-windows as for cursor-type (bug#19214).
49831 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49833         Doc clarification to mwheel-scroll
49835         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
49836         does not apply to Windows (bug#19209).
49838 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49840         Clarify the doc of eval-expression-print-format
49842         * lisp/simple.el (eval-expression-print-format): Doc
49843         clarification (bug#19114).
49845 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49847         (extended-command-suggest-shorter): Add a version string
49849         * lisp/simple.el (extended-command-suggest-shorter): Add a
49850         version string.
49852 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49854         Document extended-command-suggest-shorter
49856         * doc/emacs/m-x.texi (M-x): Mention
49857         extended-command-suggest-shorter (bug#19152).
49859 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
49861         Add a variable to control "shorter command" suggestions
49863         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
49864         (execute-extended-command): Use it.
49866 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49868         Explictly explain that package-initialize loads the packages
49870         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
49871         in saying that `package-initialize' obviates adjusting the
49872         path or requiring the packages, as this is a question that
49873         apparently comes up now and then (bug#18829).
49875 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49877         Have the doc strings of `load-path' and `require' mention each other
49879         * src/fns.c (Frequire): Mention `load-path' and fill the doc
49880         string (bug#18829).
49882         * src/lread.c (syms_of_lread): Mention that `require' uses
49883         `load-path'.
49885 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49887         Doc fix for insert-pair-alist
49889         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
49890         COMMAND-CHAR is (bug#18809).
49892 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49894         Move doc of backup-directory-alist to the Backup node
49896         * doc/emacs/files.texi (Backup): Move the documentation of
49897         `backup-directory-alist' here from the "Single or Numbered
49898         Backups" node, because it doesn't seem to have much to do with
49899         numbering (bug#18692).
49901 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49903         Tiny doc clarification for create-fontset-from-fontset-spec
49905         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
49906         Clarify what the optional part is (bug#18686).
49908 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49910         Fill the doc string of font-lock-keywords
49912         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
49913         reorganize some explanations (bug#21427).
49915 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49917         Doc fix for font-lock-remove-keywords
49919         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
49920         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
49922 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49924         Clarify whitespace-style doc string
49926         * lisp/whitespace.el (whitespace-style): Doc clarification
49927         (bug#18296).
49929 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49931         No need to test for jka-compr
49933         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
49934         is always available; no need to test (bug#18204).
49936 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49938         Doc fixed for next-error-buffer-p
49940         * lisp/simple.el (next-error-buffer-p): Clarify doc string
49941         (bug#18202).
49943 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49945         Tiny doc fix
49947         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
49948         (and fill) (bug#18201).
49950 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49952         Doc fix
49954         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
49955         slightly (bug#18092).
49957 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49959         delsel doc touch ups
49961         * lisp/delsel.el (delete-selection-helper): Use non-nil
49962         instead of t and clarify function return values (bug#18089).
49964 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49966         Doc fixes for menu-bar.el
49968         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
49969         REGION parameter (bug#18028).
49970         (clipboard-kill-region): Ditto.
49972 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49974         Doc fix
49976         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
49978 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49980         Minor doc clarification
49982         * lisp/subr.el (y-or-n-p): Document the return value from "n"
49983         (bug#18024).
49985 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49987         Fill font-lock-mode doc string
49989         * lisp/font-core.el (font-lock-mode): Fill the text to make it
49990         narrower (bug#18008).
49992 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49994         Wrap the auto-generated doc string
49996         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
49997         string to make it less likely that we get overlong lines
49998         (bug#17999).
50000 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50002         Clarify hi-lock-find-patterns
50004         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
50005         (bug#17989).
50007 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50009         Warning fix in jit-lock-mode
50011         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
50012         turning the mode on in an indirect buffer, if this somehow has
50013         happened (bug#17738).
50015 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50017         Add a doc string to `winner-mode'
50019         * lisp/winner.el (winner-mode): Add a doc string based on the
50020         comments in the file (bug#17716).
50022 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50024         Doc fix for align-newline-and-indent
50026         * lisp/align.el (align-newline-and-indent): Mention that
50027         alignment is done by `align' (bug#17707).
50029 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50031         Cancel the eldoc timer when switching off eldoc mode
50033         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
50034         timer when switching off eldoc mode.  It will be restarted
50035         again if needed (bug#17582).
50037 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50039         Doc fix for `kbd'
50041         * lisp/subr.el (kbd): Describe more fully the format of the
50042         parameter (bug#17039).
50044 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50046         Add a sanity check to apropos-documentation-internal
50048         * lisp/apropos.el (apropos-documentation-internal): Add a
50049         sanity check to be less fragile in the presence of invalid
50050         data (bug#16725).
50052 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50054         Doc tweak
50056         * lisp/simple.el (use-empty-active-region): Doc tweak.
50057         There's only one region (bug#16513).
50059 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50061         Clarify `read-face-name' doc and tweak the code
50063         * lisp/faces.el (read-face-name): Clarify the documentation
50064         and allow a mix of faces and faces names in all cases
50065         (bug#16483).
50067 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50069         Remove ": ?" from the read-face-name prompt
50071         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
50072         to be more backwards compatible (bug#15909).
50074 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50076         Link from (emacs)Exiting to (lisp)Killing Emacs
50078         * doc/emacs/entering.texi (Exiting): Link to the lispref
50079         manual for further customizations (bug#15445).
50081 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50083         find-lisp doc touchups
50085         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
50086         string (bug#15047).
50087         (find-lisp-find-files): Clarify doc.
50089 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50091         Don't have the manual claim that it lists all CL incompatibilities
50093         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
50094         incompatibilities isn't exhaustive, so don't say that it is
50095         (bug#15171).
50097 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50099         Fix call of `kmacro-display'
50101         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
50102         `kmacro-display' (bug#15020).
50104 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
50106         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
50108         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
50109         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
50110         (bug#14554).
50112 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50114         Rename "Directory Search" menu to "Servers"
50116         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
50117         Search" to "Directory Servers".  Suggested by Eli
50118         Zaretskii. (bug#14919).
50120         * lisp/net/eudc.el: Rename ditto throughout.
50122 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50124         Remove uses of the unused to-end parameter from simple.el
50126         * lisp/simple.el (line-move-partial): Remove usages of the
50127         unused to-end parameter, and make it optional (bug#14844).
50128         (line-move): Remove use of the unused to-end parameter.
50130 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50132         Doc fix: _ chars are automatically removed.
50134         * lisp/cus-edit.el (custom-buffer-create): _ chars are
50135         automatically removed when displaying help, so fix the last
50136         doc change.
50137         (custom-buffer-create-other-window): Ditto.
50139 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50141         Doc string change to enable-recursive-minibuffers
50143         * src/minibuf.c (syms_of_minibuf): Mention
50144         minibuffer-depth-indicator-mode in the doc string to
50145         enable-recursive-minibuffers (bug#14147).
50147 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50149         Fix definition of nobreak-space
50151         * lisp/faces.el (nobreak-space): The definition to
50152         nobreak-space was inadvertantly changed by the previous checkin.
50154 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50156         Clarify the `interactive' doc string slightly
50158         * src/callint.c (Finteractive): Clarify the doc string slightly
50159           (bug#14577).
50161 2016-04-28  Drew Adams  <drew.adams@oracle.com>
50163         Make icomplete respect `completion-ignored-extensions'
50165         * lisp/icomplete.el (icomplete-completions): Heed
50166         `completion-ignored-extensions' (bug#12939).
50168 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50170         Make ibuffer not break on newline-embedded buffer names
50172         * lisp/ibuffer.el (name): When buffer names contain newlines,
50173         quote those newlines before displaying (bug#12378).
50175 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50177         Add a new face for non-breaking hyphen characters
50179         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
50180         (Text Display): Ditto.
50182         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
50184         * src/xdisp.c (get_next_display_element): Use it instead of
50185         the escape-glyph face.
50187         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
50189 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50191         Make a menu less ambiguous
50193         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
50194         is about using modifier keys, not binding them (bug#10942).
50196 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50198         Make kill-emacs-query-functions into defcustom
50200         * lisp/files.el (save-buffers-kill-terminal): Mention
50201         `save-buffers-kill-emacs' (bug#10794).
50202         (kill-emacs-query-functions): Made into a defcustom.
50204 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50206         Have describe-variable output multi-line values better
50208         * lisp/help-fns.el (describe-variable): When printing
50209         multi-line expressions, display them prettier (bug#10723).
50211 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50213         Clean up custom-buffer-create code slightly
50215         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
50216         pass the unused description value on (for clarity) (bug#10540).
50217         (custom-buffer-create): Ditto
50219 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50221         Clarify some doc strings
50223         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
50224         Clarify doc string (bug#8693).
50225         (syntax-propertize): Clarify doc string.
50227 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
50229         Fix number-at-point in lisp buffers
50231         * lisp/thingatpt.el (number-at-point): Don't say that things
50232         like ?a are numbers in lisp mode buffers (bug#8634).
50234 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
50236         Don't consider colons to be paragraphs starting chars in strings
50238         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
50239         consider colons to start paragraphs in (doc) strings
50240         (bug#7751).
50242 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50244         Make `undo' of `C-x r t' put point where it should be
50246         * lisp/rect.el (string-rectangle): Make `undo' of a this
50247         command put point back where it was (bug#7522).
50249 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50251         Add some concept index entries for custom types
50253         * doc/lispref/customize.texi (Composite Types): Add concept
50254         index entries for restricted-sexp, radio and choice (bug#7385).
50256 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50258         Mention `lisp-indent-function' in the lispref manual
50260         * doc/lispref/macros.texi (Indenting Macros): Mention
50261         `lisp-indent-function' (bug#3393).
50263 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50265         Clarify doc string of internal compilation function
50267         * lisp/progmodes/compile.el (compilation-get-file-structure):
50268         Clarify doc string (bug#3137).
50270 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50272         Avoid having `C-x h' mark the prompt part of the minibuffer
50274         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
50275         part of the minibuffer (bug#2589).
50277 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50279         Allow a prefix argument to find-library to pop to a different window
50281         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
50282         argument to pop to a different window (bug#2270).
50284 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50286         Move the diff command to "Operate" in ibuffer
50288         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
50289         command to the "Operate" menu, and remove the customization
50290         entry to make the "View" menu more logical (bug#1150).
50292 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
50294         Make the minor modes in help buffers into buttons
50296         * lisp/help.el (describe-mode): Make the minor modes into
50297         buttons to enable easier documentation traversal (bug#1149).
50299 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
50301         Add a number of Python 3 exceptions
50303         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
50304         the exception list, adding a number of new Python 3 exceptions and
50305         moving some exceptions to the Python 2 and 3 list as Python 2.7
50306         includes them.
50308 2016-04-26  Anders Lindgren  <andlind@gmail.com>
50310         Fix bug#22891: wrong terminal width when a fringe width is zero.
50312         When either fringe width is zero, Emacs reserved one column for a
50313         continuation glyph. Terminal windows does not take this into
50314         account when the frame is resized.
50316         * lisp/window.el (window-adjust-process-window-size): Use
50317         `window-max-chars-per-line' instead of `window-body-width'.
50318         * lisp/term.el (term-window-width): Remove function. (It does the
50319         same as `window-max-chars-per-line' but without recent bug fixes.)
50320         (term-mode): Use `window-max-chars-per-line' instead of
50321         `term-window-width'.
50323 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
50325         Add completion of `calc()' in CSS mode
50327         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
50328         a completion candidate for several value classes.
50329         (css--value-class-lookup): Return only unique results.
50331         * test/lisp/textmodes/css-mode-tests.el
50332         (css-test-property-values-no-duplicates)
50333         (css-test-value-class-lookup): Update to reflect the above changes.
50335 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
50337         Fix socketd fd startup bug that I introduced
50339         Problem reported by Matthew Leach in:
50340         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
50341         * src/emacs.c (main): Indicate more clearly the coupling between
50342         the --daemon option and init_process_emacs.
50343         * src/lisp.h: Adjust to API changes.
50344         * src/process.c (set_external_socket_descriptor):
50345         Remove, replacing by ...
50346         (init_process_emacs): ... passing the socket FD here instead.
50347         All uses changed.
50349 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
50351         Fix: (void-variable url-http-response-status)
50353         * lisp/url/url-http.el
50354         (url-https-proxy-after-change-function): Display the error
50355         message before doing the callback to avoid a void variable
50356         situation (bug#23290).
50358 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50360         smtpmail would say it's done before it is
50362         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
50363         of the data end marker from here... (bug#23020).
50364         (smtpmail-send-data): ... to here, so that we don't get a
50365         "Sending done" before we've sent the final "." (which can make
50366         the SMPT server reject the email.
50368 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50370         `url-retrieve-synchronously' now takes an optional timeout parameter
50372         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
50374         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
50375         in a timeout parameter (bug#22940).
50377 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50379         Include "Retype" as a comint password prompt
50381         * lisp/comint.el (comint-password-prompt-regexp): Include
50382         "Retype" to catch "Retype password for [account]:" from the
50383         "pass" utility (bug#22942).
50385 2016-04-25  Alan Mackenzie  <acm@muc.de>
50387         Fix spurious fontification of "for (; a * b;)" in CC Mode.
50389         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
50390         inside the parens of a for statement and after a semicolon near the beginning
50391         of the lambda form.
50393 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50395         New function ‘char-from-name’
50397         This also fixes the mishandling of "\N{CJK COMPATIBILITY
50398         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
50399         Problem reported by Eli Zaretskii in:
50400         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
50401         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
50402         * lisp/international/mule-cmds.el (char-from-name): New function.
50403         (read-char-by-name): Use it.  Document that "BED" is treated as
50404         a name, not as a hexadecimal number.  Reject out-of-range integers,
50405         floating-point numbers, and strings with trailing junk.
50406         * src/lread.c (character_name_to_code): Call char-from-name
50407         instead of inspecting ucs-names directly, so that we handle
50408         computed names like "VARIATION SELECTOR-1".  Do not use an auto
50409         string, since char-from-name might GC.
50410         * test/src/lread-tests.el: Add tests for new behavior, and
50411         fix some old tests that were wrong.
50413 2016-04-25  Alan Mackenzie  <acm@muc.de>
50415         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
50417         This allows the calling of c-restore-<>-properties from c-common-init without
50418         the test suite giving spurious errors.
50420         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
50421         sets face properties.
50422         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
50423         template brackets using c-inside-<>-type-key.  Don't bind
50424         c-record-type-identifiers or c-record-found-types around the recursive call,
50425         allowing positions of found types to flow back to the caller.
50427         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
50428         new lang consts/var.
50430         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
50431         c-restore-<>-properties from the list of functions called at mode
50432         initialization.
50434 2016-04-25  Jun Hao  <jun_hao@aol.com>
50436         Pass in port only if provided by caller in the OS X keychain
50438         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
50439         port only if provided (bug#23374).
50441 2016-04-25  Alan Mackenzie  <acm@muc.de>
50443         Add fontification for a C declaration which looks like a function call.
50445         For example, "t1 *fn (t2 *b);".
50447         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
50448         at-decl-start, setting it to whether the putative decl starts immediately
50449         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
50450         non-nil.
50452         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
50454 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
50456         Don't mirror slashes in convert-standard-filename on MS-Windows
50458         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
50459         slashes into backslashes.  This avoids producing ugly file names,
50460         and is deemed no longer necessary, and should certainly be
50461         unrelated to which shell is in use.
50463 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
50465         Revert the disputed VC change and update the tests
50467         * lisp/vc/vc-hooks.el (vc-working-revision):
50468         Remove the previous change.
50469         (vc-state): Same.  And update the old, incorrect comment about
50470         unregistered files
50471         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
50473         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
50474         calling `vc-state' on default-directory (VC state is undefined
50475         for directories).  Check that `vc-state' returns nil where it
50476         returned `unregistered' before.  Remove all checks comparing
50477         invocations with the backend passed in explictly and without.
50478         (vc-test--working-revision): Remove all checks comparing
50479         invocations with the backend passed in explictly and without.
50480         Update comments, and add a new one.
50482 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50484         * etc/NEWS: Grammar and punctuation improvements.
50486 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50488         Merge from origin/emacs-25
50490         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
50491         0cd2e92 Don't kill ~/ if it's the top level directory
50492         4f40f5f describe-char: fix insert char documentation
50493         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
50495 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50497         Merge from origin/emacs-25
50499         960f90d * etc/AUTHORS: Update the AUTHORS file
50500         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
50502 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50504         Merge from origin/emacs-25
50506         78f9af7 ; ChangeLog fixes
50507         162e549 * admin/authors.el (authors-ignored-files): Additions.
50508         2b31a0c In x_set_window_size restore do_pending_window_change calls
50509         401857e Fix Alt-modified keys on some European MS-Windows keyboards
50510         a77cf24 Document 'help-go-forward'
50511         1ba947f Revert "Allow to customize names of executables used by grep.el"
50512         570e0fa Revert "Don't use 'find-program'"
50513         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
50514         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
50515         ce0d8c7 Make tmm-menubar work in correct order again
50516         b8d5a8f Remove the Meta-CVS VC backend
50518 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
50520         Don't let `css--property-values' return duplicates
50522         * lisp/textmodes/css-mode.el (css--property-values): Don't return
50523         duplicate values.
50525         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
50526         Take the above into account.
50527         (css-test-property-values-no-duplicates): Test that duplicates aren't
50528         returned by `css--property-values'.
50530 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50532         Call `make-composed-keymap' correctly
50534         * lisp/image-mode.el (image-mode-map): Call
50535         `make-composed-keymap' correctly.
50537 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50539         Use `make-composed-keymap' instead of copying the keymap
50541         * lisp/image-mode.el (image-mode-map): Use
50542         `make-composed-keymap' instead of copying the keymap.
50544 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50546         Make `q' etc work in image mode again
50548         * lisp/image-mode.el (image-mode-map): Restore
50549         special-mode-map as the parent keymap of image-mode-map (bug#23167).
50551 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50553         Fix typo in last url.texi checkin
50555 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50557         Make STARTTLS error messages better
50559         * lisp/net/network-stream.el (network-stream-open-starttls):
50560         Output a better error message when TLS negotiation fails while
50561         doing STARTTLS (bug#23027).
50563 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50565         Encode the shr tests files with trailing white space
50567 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
50569         Cache results of `css--property-values'
50571         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
50572         values.
50574         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
50575         New regression test for the above.
50577 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
50579         Some improvements in vc
50581         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
50582         Check, whether FILE is registered.
50584         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
50585         for nonexistent files.
50587         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
50588         (vc-test--revision-granularity-function)
50589         (vc-test--unregister-function): Use `vc-call-backend'.
50590         (vc-test--run-maybe-unsupported-function): New defmacro.
50591         (vc-test--register, vc-test--state, vc-test--working-revision)
50592         (vc-test--checkout-model): Use it.  Fix also expected results.
50593         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
50595 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50597         Document the nil/default values of url-user-agent
50599         * doc/misc/url.texi (Customization): Document the nil/default
50600         values of url-user-agent.
50602 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
50604         Compute User-Agent dynamically in url-http
50606         * lisp/url/url-http.el (url-http-user-agent-string): Compute
50607         User-Agent string dynamically.
50608         (url-http--user-agent-default-string): New function.
50610         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
50611         of information not to send.
50612         (url-user-agent): Add nil and `default' options; do not
50613         pre-compute value.
50615 2016-04-24  Jun Hao  <jun_hao@aol.com>
50617         Handle auth-source items with special characters on OS X
50619         * lisp/auth-source.el
50620         (auth-source-macos-keychain-search-items): Handle keychain
50621         output correctly when has special chararcters (bug#22824).
50623 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
50625         Implement process-attributes for Darwin
50627         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
50628         (system_process_attributes): Implement process-attributes
50629         for Darwin (bug#16579).
50631 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50633         Use Unicode literals instead of hex values
50635         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
50636         of hex values for greater readability.
50637         (shr-tag-bdi): Ditto.
50639 2016-04-24  Steve Purcell  <steve@sanityinc.com>
50641         Allow _ characters in SQL prompts
50643         * lisp/progmodes/sql.el (sql-product-alist): Allow _
50644         characters in SQL prompts (bug#22596).
50646         Fixes issue 22596, whereby "_" is now not considered a word constituent
50647         character in sql-interactive-mode, so prompts like "foo_dev# " are not
50648         correctly detected. Rather than piggy-back on the symbol table, we
50649         explicitly match against alphanumeric chars or "_".
50651 2016-04-23  Glenn Morris  <rgm@gnu.org>
50653         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
50655         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
50656         (autoload-generate-file-autoloads, autoload-find-destination)
50657         (update-directory-autoloads): Use autoload--non-timestamp.
50659 2016-04-23  Glenn Morris  <rgm@gnu.org>
50661         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
50663 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
50665         Regexps for matching CMake output
50667         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
50668         regexps for matching CMake output.
50669         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
50670         CMake test cases.
50671         * etc/compilation.txt (CMake): Add CMake examples.
50673 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
50675         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
50677         Fix docstring quotes.
50679 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
50681         Improve character name escapes
50683         * doc/lispref/nonascii.texi (Character Properties):
50684         Avoid duplication of Unicode names.  Reformat examples to fit in
50685         narrow pages.
50686         * doc/lispref/objects.texi (General Escape Syntax):
50687         Simplify and better-organize explanation of \N{...} escapes.
50688         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
50689         (char_surrogate_p): New inline function.
50690         * src/lread.c: Do not include string.h; no longer needed.
50691         (invalid_character_name, check_scalar_value): Remove; the ideas
50692         behind these functions are now bundled into character_name_to_code.
50693         (character_name_to_code): Remove undocumented support for "CJK
50694         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
50695         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
50696         point in \N escapes instead of returning garbage.  Use
50697         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
50698         * test/src/lread-tests.el (lread-char-number, lread-char-name)
50699         (lread-string-char-number, lread-string-char-name):
50700         Test runtime behavior, not compile-time, as the test framework
50701         is not set up to test compile-time.
50702         (lread-char-surrogate-1, lread-char-surrogate-2)
50703         (lread-char-surrogate-3, lread-char-surrogate-4)
50704         (lread-string-char-number-2, lread-string-char-number-3):
50705         New tests.
50706         (lread-string-char-number-1): Rename from lread-string-char-number.
50708 2016-04-21  Philipp Stephani  <phst@google.com>
50710         Use 'ucs-names' for character name escapes
50712         * src/lread.c (invalid_character_name, check_scalar_value)
50713         (parse_code_after_prefix, character_name_to_code): New helper
50714         functions that use 'ucs-names' and parsing for CJK ideographs.
50715         (read_escape): Use helper functions.
50716         (syms_of_lread): New symbol 'ucs-names'.
50717         * test/src/lread-tests.el: New tests; fix a couple of bugs in
50718         existing tests.
50720 2016-04-21  Philipp Stephani  <phst@google.com>
50722         Minor cleanups for character name escapes
50724         * src/lread.c (init_character_names): Add missing 'void'.
50725         Remove top-level 'const'.
50726         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
50728 2016-04-21  Philipp Stephani  <phst@google.com>
50730         Add documentation for character name escapes
50732 2016-04-21  Philipp Stephani  <phst@google.com>
50734         Implement named character escapes, similar to Perl
50736         * src/lread.c (init_character_names): New function.
50737         (read_escape): Read Perl-style named character escape sequences.
50738         (syms_of_lread): Initialize new variable 'character_names'.
50739         * test/src/lread-tests.el (lread-char-empty-name): Add test file
50740         for src/lread.c.
50742 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
50744         Avoid run-time dependency on libwinpthread DLL on MS-Windows
50746         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
50747         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
50748         present, so that MinGW64 builds don't depend on libwinpthread.
50749         (Bug#22959)
50751 2016-04-21  Matthew Leach  <matthew@mattleach.net>
50753         Add LIBSYSTEMD to the list of supported features
50755         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
50756         message at the end of configure stating whether Emacs will be build
50757         with libsystemd support.
50759 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
50761         Support absolute column movement in 'ansi-term'
50763         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
50764         for absolute column movement.  (Bug#23303)
50766 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
50768         Add Python 3.5 keyword "await"
50770         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
50771         keyword.
50773 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
50775         Add "keyframes" to list of CSS at-rules
50777         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
50779 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
50781         Prevent bootstrap autoload backup files
50783         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
50784         backups in newly created file.
50786         (autoload-ensure-default-file): Function split into two.
50787         (autoload-ensure-file-writeable): New function from split.
50789         (Bug#23203)
50791 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
50793         Fix org-timestamp-change typo
50795         Problem reported by Peter Münster (Bug#23299).
50796         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
50797         on undocumented behavior in ‘encode-time’.  In practice the
50798         old code used local time, so use that.
50800 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
50802         Avoid AC_PREPROC_IFELSE glitch in configure.ac
50804         Problem reported by Angelo Graziosi in:
50805         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
50806         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
50807         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
50809 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
50811         autorevert: Resume with polling if file is deleted
50813         * lisp/autorevert.el: Use consistent wording in comments and
50814         docstrings.
50815         (auto-revert-mode): Add local function to `kill-buffer-hook'.
50816         (auto-revert-notify-handler): Improve handling of `stopped' event.
50818         * test/lisp/autorevert-tests.el
50819         (auto-revert-test02-auto-revert-deleted-file): New test.
50820         (auto-revert-test03-auto-revert-tail-mode)
50821         (auto-revert-test04-auto-revert-mode-dired): Rename them.
50823 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50825         Merge from origin/emacs-25
50827         5a0cbe5 Fix Bug#23276
50828         2007e32 Sync with upstream vhdl mode v3.38.1.
50829         b6d2552 Tweak configure.ac syntax in recent module patch
50831 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50833         Merge from origin/emacs-25
50835         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
50836         3287f48 ; Add entry to MAINTAINERS
50837         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
50838         0f33284 Make use of rectangle-preview custom variable.
50839         aa0d83a Make use of rectangle-preview face.
50840         33bef6e Use 'grep-find-program' in check-declare.el
50841         a8560e5 Improve "C-h S" for cl-lib symbols
50842         52e798b Fix minor issues with removing left or right fringes
50843         d6ffd64 Speed up redisplay in ansi-term mode
50844         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
50845         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
50846         ab849b7 Fix w32 memory-management problem when extending buffer text
50848 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50850         Merge from origin/emacs-25
50852         32364bb substitute-command-keys keeps quotes’ text props
50853         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
50854         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
50855         cc0b713 Perform xref searches without visiting unopened files
50856         5045575 Revert "Prevent bootstrap autoload backup files"
50858 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
50860         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
50862         so that it matches the actual implementation.
50863         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
50865 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50867         * lisp/textmodes/ispell.el: Compile with lexical-binding
50869         (declare-function): Don't define any more.
50870         (ispell-check-minver, ispell-looking-back): Tweak definition so that
50871         the compiler can obviously know that it's always defined.
50872         (ispell-debug-buffer): Declare var.
50873         (ispell-hunspell-fill-dictionary-entry)
50874         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
50875         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
50876         (ispell-command-loop): Avoid add-to-list on local variables.
50878 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50880         Minor fixups for external socket launching
50882         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
50883         * doc/emacs/misc.texi (Emacs Server):
50884         * etc/NEWS: Spelling and doc fixes.
50885         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
50886         Check for sd_is_socket returning positive, not zero.
50887         * src/process.c (external_sock_fd): Instead of initializing here ...
50888         (init_process_emacs): ... initialize it here, so that it does the
50889         right thing after dump/restore.
50890         (connect_network_socket): Simplify socket_to_use test.
50892 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
50894         Add HTML5 tags to HTML mode
50896         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
50897         (html-tag-help): Add short descriptions of those tags.
50899 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50901         Finish idna->puny changes in last Message patch
50903         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
50904         instead of idna functions.
50906 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50908         Use puny.el instead of idna.el functions in Gnus
50910         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
50911         Emacs comes with IDNA support built in).
50912         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
50913         `idna-to-unicode'.
50915         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
50917 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50919         Mention `message-use-idna' in NEWS
50921 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50923         Default `message-use-idna' to t
50925         * lisp/gnus/message.el (message-use-idna): Default to t (since
50926         Emacs comes with puny.el now).
50928 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50930         Extend battery.el to exotic power supply types
50932         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
50933         'battery--linux-sysfs-regexp' and make a defcustom. All users
50934         changed.  (Bug#23216)
50936 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50938         Add external socket launching support
50940         * src/process.c (connect_network_socket): Allow a pre-allocated socket
50941         descriptor to be used if passed to Emacs, avoiding the call to
50942         'socket' and 'bind'.
50943         (Fmake_network_process): Allow users to pass ':use-external-socket' in
50944         the parameter plist to use any sockets that have been passed to Emacs.
50945         (wait_reading_process_output): Call 'socket' and 'bind' every time.
50946         (syms_of_process): New symbol ':use-external-socket'.
50947         (set_external_socket_descriptor): New function.
50948         (external_sock_fd): New variable.
50949         * src/lisp.h: (set_external_socket_descriptor): New declaration.
50950         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
50951         passed and call 'set_external_socket_descriptor' to set the external
50952         socket.
50953         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
50954         compilation options.
50956         * configure.ac: Add new default-on option "systemd" and check for
50957         libsystemd at configure time.
50959         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
50960         calling 'make-network-process'.
50962         * etc/NEWS: Document new socket-passing functionality and the configure
50963         option to disable systemd interaction.
50965         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
50966         functionality and provide systemd unit examples.
50967         * doc/lispref/processes.texi (Network Processes): Document new
50968         'make-network-process' option ':use-external-socket'.
50970 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50972         Don't spell-check argument of 'cref' TeX macro
50974         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
50975         macro to skip spell-checking the cref macro argument.
50977 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50979         Simplify use of O_BINARY
50981         * src/callproc.c (call_process):
50982         * src/fileio.c (write_region):
50983         * src/filelock.c (read_lock_data):
50984         * src/image.c (x_find_image_fd):
50985         * src/lread.c (openp):
50986         * src/sysdep.c (init_random, emacs_fopen):
50987         * src/unexcw.c (unexec):
50988         Omit unnecessary use of O_BINARY, since emacs_open now arranges
50989         that for us.
50991 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50993         * src/indent.c (Fvertical_motion): Pacify GCC
50995         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
50997 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50999         Port ‘./autogen.sh git’ to non-clones
51001         Problem reported by Angelo Graziosi in:
51002         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
51003         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
51004         there is no ‘.git’.
51005         (git_common_dir, hooks): New vars.
51006         (git_config, tailored_hooks, sample_hooks): Use them.
51008 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51010         Do not require that .git be a directory
51012         Problem reportyed by Phillip Lord.
51013         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
51014         * configure.ac, make-dist:
51015         Do not require that .git be a directory, as 'git worktree' makes
51016         it a file and not a directory.
51018 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
51020         Avoid now-obsolete function gmm-format-time-string
51022         * lisp/gnus/message.el (message-insert-formatted-citation-line):
51023         Use format-time-string instead of obsolete function
51024         gmm-format-time-string.
51026 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
51028         Support OFFSET and (OFFSET ABBR) time zone rules
51030         This simplifies Gnus and VC time zone support, by letting them
51031         feed the output of ‘current-time-zone’ and ‘decode time’ to
51032         primitives that accept time zone arguments.
51033         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
51034         * etc/NEWS:
51035         * lisp/gnus/message.el (message-insert-formatted-citation-line):
51036         * lisp/org/org.el (org-timestamp-format):
51037         * src/editfns.c (Fformat_time_string, Fdecode_time):
51038         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
51039         Document new behavior.
51040         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
51041         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
51042         Mark as obsolete, as it is now just an alias or narrow wrapper
51043         around format-time-string.
51044         * src/editfns.c (tzlookup): Also support integer OFFSET and
51045         list (OFFSET ABBR) as time zone rules.
51046         (Fencode_time): No longer need a special case for a cons ZONE.
51047         (Fcurrent_time_zone): If the time zone string is missing, compute
51048         it the same way the other new code does.
51050 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
51052         Merge from origin/emacs-25
51054         ca50981 Improve time zone documentation
51055         c23c965 Prevent bootstrap autoload backup files
51056         9344612 Disable multicolor fonts on OS X since they are not supported...
51057         c41ce1c Capitalize “Universal Time” in documentation
51058         10597c9 Don't use 'find-program'
51060 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51062         Merge from origin/emacs-25
51064         b134c20 Sync with gnulib
51065         bb30fa9 Fix last change on 2016-01-02
51066         488a72f ; Spelling fixes
51067         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
51068         0e7bcec Avoid crashes due to unreasonably large or small text scaling
51069         85f257c Improve documentation of 'with-eval-after-load'
51070         668c7bc Improve handling of non-ASCII characters in Git log messages
51071         b570769 Remove undefined behavior in OS X dumper.
51072         97211f3 Fix clipping of xwidgets
51073         e87fbc0 Improve Lisp-level documentation of tooltips
51074         9f1786e Faces names should not end in "-face".
51075         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
51076         a1f221b Comint and compile no longer set EMACS
51077         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
51078         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
51079         c93ae7a Allow to customize names of executables used by grep.el
51080         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
51081         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
51082         a3f1ac2 Avoid infinite loop in 'studlify-word'
51083         f36df4b Don’t recommend obsolete EMACS env var
51084         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
51086 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51088         Merge from origin/emacs-25
51090         96d9e78 Fix "Beginning of buffer" error in forward-page
51091         20686f7 Add a `transient' project type
51093 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51095         Merge from origin/emacs-25
51097         80128a7 Fix stability confusion in sort-tests
51098         1e4aa42 Avoid describe-key error with lambdas
51099         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
51100         f501116 Sync with gnulib
51101         c4963f9 Fix doc for Universal Time
51103 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
51105         Fix alignement rule for CSS
51107         * lisp/align.el (align-rules-list): Support CSS properties that have
51108         multiple words.
51110 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
51112         New custom option for overriding mailcap choices
51114         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
51115         (mailcap--set-user-mime-data): New function.
51116         (mailcap-user-mime-data): New customization option.
51117         (mailcap-select-preferred-viewer): New function.
51118         (mailcap-mime-info): Use it.
51120         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
51122 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
51124         Fix Bug#23207
51126         * src/keyboard.c (read_char): Resume idle timers in case of
51127         dbus-event, file-notify-event and config-changed-event.
51128         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
51130 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
51132         Add vc-backend and vc-responsible-backend tests
51134         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
51135         (vc-file-clearprops): Use properties on absolute files.
51137         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
51138         Clear file properties.
51139         (vc-test--register): Add tests for `vc-backend' and
51140         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
51141         (vc-test--state, vc-test--checkout-model): Catch other errors
51142         but `vc-not-supported'.
51143         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
51144         other errors but `vc-not-supported'.
51145         (vc-test-src02-state): Mark as an expected failure.
51147 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
51149         Minor improvements for hash function primitives
51151         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
51152         hashfn_eq rather than reaching inside them.
51153         (hashtest_eq, hashtest_eql, hashtest_equal):
51154         Now constants with initializers.
51155         (syms_of_fns): Omit no-longer-needed initialization.
51156         * src/lisp.h (LISPSYM_INITIALLY): New macro.
51157         (DEFINE_LISP_SYMBOL): Use it.
51159 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
51161         New primitives sxhash-eq, sxhash-eql
51163         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
51164         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
51165         Add sxhash-equal, sxhash-eq, sxhash-eql.
51166         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
51167         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
51169 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
51171         Teach Dired support parallel execution of commands on MS-Windows
51173         * lisp/dired-aux.el (dired-shell-stuff-it): Support
51174         parallel-in-background execution of commands on MS-Windows.
51175         Test 'w32-shell-dos-semantics' instead of the underlying OS
51176         when determining whether addition of 'wait' is needed.
51178 2016-04-08  Tino Calancha  <f92capac@gmail.com>
51180         Make 'dired-do-shell-command' wait for all background jobs
51182         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
51183         wait until all background jobs exit.  (Bug#23206).
51185 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
51187         Prefer 'font-lock-face to 'face in erc where appropriate
51189         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
51190         'font-lock-face to 'face where appropriate.
51191         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
51192         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
51193         * lisp/erc/erc-goodies.el (erc-controls-propertize)
51194         * lisp/erc/erc-stamp.el (erc-format-timestamp)
51195         * lisp/erc/erc-track.el (erc-faces-in)
51196         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
51197         (erc-display-command, erc-make-notice, erc-highlight-notice)
51198         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
51199         (erc-display-prompt, erc-display-message-highlight)
51200         (erc-log-irc-protocol): Ditto.
51202         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
51203         tests.
51205 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
51207         Add new keywords of Python 3.5
51209         Python 3.5, released in mid September 2015, introduced a few new
51210         keywords to better support asynchronous code, "async" and "await"
51211         in particular. See https://www.python.org/dev/peps/pep-0492/ for
51212         details. (Bug#21783)
51213         * lisp/progmodes/python.el (python-rx-constituents): Add async
51214         def/for/with as block-start and async def as defun.
51215         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
51216         def/for/with as keyword.
51217         * test/automated/python-tests.el (python-indent-after-async-block-1,
51218         python-indent-after-async-block-2, python-indent-after-async-block-3,
51219         python-nav-beginning-of-defun-3): New tests to test indentation and
51220         navigation for the async keyword.
51222 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
51224         Support completion of at-rules in SCSS mode
51226         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
51227         SCSS-specific at-rules.
51228         (css--at-ids): New buffer-local variable holding the list of at-rules
51229         for the current mode.
51230         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
51231         (scss-mode): Set `css--at-ids'.
51233 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
51235         Enable GCC warnings in developer builds
51237         However, do not fail; just issue the warnings.  Add an option
51238         --enable-gcc-warnings=warn-only to configure, to implement this.
51239         * INSTALL, etc/NEWS: Document this.
51240         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
51241         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
51242         Don’t treat --with-x-toolkit=no as a special case when configuring
51243         warnings.
51245 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51247         Inhibit querying for the encoding of the headers when resending
51249         * lisp/gnus/message.el (message-resend): Inhibit querying for
51250         the encoding of the headers when resending.
51252 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51254         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
51256         * src/buffer.c (Fgenerate_new_buffer_name):
51257         * src/filelock.c (get_boot_time):
51258         * src/minibuf.c (get_minibuffer):
51259         * src/process.c (make_process):
51260         * src/xdisp.c (ensure_echo_area_buffers):
51261         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
51262         when either will do.
51264 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
51266         Allow URL using HTTPS proxies using CONNECT
51268         * lisp/url/url-http.el (url-http-find-free-connection): Allow
51269         using proxies (bug#11788).
51270         (url-http-end-of-document-sentinel): Ditto.
51271         (url-http): The protocol may change from http to https and
51272         vice versa.
51273         (url-https-proxy-connect): Allow using CONNECT proxies for https.
51275 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51277         New C macro AUTO_STRING_WITH_LEN
51279         Put a bit less pressure on the garbage collector by defining a
51280         macro that is like AUTO_STRING but also allows null bytes in strings,
51281         and by extending AUTO_STRING to work with any unibyte string.
51282         * src/alloc.c (verify_ascii): Remove; all uses removed.
51283         AUTO_STRING can now be used on non-ASCII unibyte strings.
51284         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
51285         (AUTO_STRING_WITH_LEN): New macro.
51286         * src/coding.c (from_unicode_buffer):
51287         * src/editfns.c (format_time_string):
51288         * src/emacs-module.c (module_make_string, module_format_fun_env):
51289         * src/fileio.c (Fexpand_file_name):
51290         * src/font.c (font_parse_family_registry):
51291         * src/ftfont.c (ftfont_get_charset):
51292         * src/keymap.c (silly_event_symbol_error):
51293         * src/menu.c (single_menu_item):
51294         * src/sysdep.c (system_process_attributes):
51295         Use AUTO_STRING_WITH_LEN if possible.
51296         * src/emacs-module.c (module_make_function):
51297         * src/fileio.c (report_file_errno, report_file_notify_error):
51298         * src/fns.c (Flocale_info):
51299         * src/sysdep.c (system_process_attributes):
51300         Use AUTO_STRING if possible.  This is doable more often now
51301         that AUTO_STRING works on any unibyte string.
51303 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51305         Port redirect-debugging-output to MS-Windows
51307         Suggested by Eli Zaretskii in:
51308         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
51309         * src/print.c [WINDOWSNT]: Include sys/socket.h.
51310         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
51312 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51314         Port redirect-debugging-output to non-GNU/Linux
51316         Problem reported by Kylie McClain for musl in:
51317         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
51318         * etc/DEBUG, etc/NEWS: Mention this.
51319         * src/callproc.c (child_setup) [!MSDOS]:
51320         * src/dispnew.c (init_display):
51321         * src/emacs.c (main, Fdaemon_initialized):
51322         * src/minibuf.c (read_minibuf_noninteractive):
51323         * src/regex.c (xmalloc, xrealloc):
51324         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
51325         to make file-descriptor manipulation easier to follow.
51326         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
51327         now that we make sure stdin, stdout and stderr are open.  All uses
51328         removed.
51329         (main): Make sure standard FDs are OK.  Prefer symbolic names like
51330         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
51331         * src/lisp.h (init_standard_fds): New decl.
51332         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
51333         Remove; no longer needed.
51334         (Fredirect_debugging_output): Define on all platforms, not just
51335         GNU/Linux.  Redirect file descriptor, not stream, so that the code
51336         works even if stderr is not an lvalue.  Report an error if the
51337         file arg is neither a string nor nil.
51338         (syms_of_print): Always define redirect-debugging-output.
51339         * src/sysdep.c (force_open, init_standard_fds): New functions.
51341 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
51343         Spelling fixes
51345 2016-04-03  John Wiegley  <johnw@newartisans.com>
51347         Revert "Add `r'/`l' grep command history commands"
51349         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
51351 2016-04-03  John Wiegley  <johnw@newartisans.com>
51353         Revert "Restore the point in grep buffers when traversing the history"
51355         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
51357 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
51359         Merge from origin/emacs-25
51361         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
51363 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
51365         Merge from origin/emacs-25
51367         b787d55 More format-time-string change fixups
51368         13c8f29 make-xwidget unused arg cleanup
51369         36e05f0 Remove unused arguments from make-xwidget
51370         1042217 Document incompatible changes in 'format-time-string'
51371         7228eb8 Improve documentation of byte-code objects
51372         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
51373         17b5152 Improve vc-diff with Git backend
51374         c28f87a (js--continued-expression-p): Special-case unary plus and minus
51375         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
51376         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
51377         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
51378         a3daa34 Teach M-x disassemble a default argument.
51379         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
51380         df441b3 Fix OS X specific settings in tramp-tests
51381         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
51383         # Conflicts:
51384         #       lisp/net/tramp-sh.el
51385         #       lisp/progmodes/cc-engine.el
51387 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51389         Restore the point in grep buffers when traversing the history
51391         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
51392         point to a specific place after finishing the grep command.
51393         (grep-mode): Use it to restore point after traversing the history.
51394         (grep--history-point): New internal variable.
51395         (grep--save-history, grep-forward-history): Use it to restore
51396         the point.
51398 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51400         Add `r'/`l' grep command history commands
51402         * doc/emacs/building.texi (Grep Searching): Mention the
51403         `r'/`l' commands.
51405         * lisp/progmodes/grep.el (grep-forward-history): New command.
51406         (grep-backward-history): Ditto.
51407         (grep--save-buffers): New function.
51408         (grep): Use it to record the history.
51409         (grep--command-history, grep--history-inhibit)
51410         (grep--history-place): New internal variables for the grep
51411         history (bug#22627).
51413 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
51415         Fix Bug#23186, again
51417         * lisp/net/tramp.el (tramp-encoding-shell)
51418         (tramp-encoding-command-switch)
51419         (tramp-encoding-command-interactive): Check for
51420         `w32-shell-name'.  (Bug#23186)
51422 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
51424         Fix Bug#23186
51426         * lisp/net/tramp.el (tramp-encoding-command-switch)
51427         (tramp-encoding-command-interactive):
51428         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
51429         `tramp-encoding-shell' could be nil.  (Bug#23186)
51431 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
51433         Fix Bug#22145
51435         * lisp/net/tramp-cache.el (tramp-get-connection-property)
51436         (tramp-set-connection-property, tramp-connection-property-p)
51437         (tramp-flush-connection-property): Improve docstring.
51439         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
51441         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
51443         * test/automated/tramp-tests.el (tramp--test-utf8):
51444         Improve settings of coding systems.  (Bug#22145)
51446 2016-04-02  John Wiegley  <johnw@newartisans.com>
51448         Merge from origin/emacs-25
51450         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
51451         9034c50 * doc/man/emacsclient.1: Document +line:column option.
51452         06495c9 Fix rare problems with echo-area display and multiple frames
51453         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
51455 2016-04-02  John Wiegley  <johnw@newartisans.com>
51457         Merge from origin/emacs-25
51459         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
51460         c8b868b Don't start the 'midnight' timer twice
51461         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
51462         e5c17f4 Fix todo-mode category movement
51463         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
51464         cf40f38 Ignore non-nil. non-cons values of unread-command-events
51465         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
51466         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
51467         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
51468         3a13472 Fix map-put and map-delete for alists (Bug#23105)
51469         422c3da Minor copyedits of documentation for temporary displays
51470         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
51471         f14d463 Minor doc string fixes in replace.el
51472         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
51473         44782de Fix display of Indic scripts
51474         326c64f Fix splash screen display at startup
51475         7ab2a97 ; In NEWS mention new display of minibuffer completions window
51476         a1cd84c Describe temporary displays in Emacs manual
51477         5ec1056 Avoid stray As next to IDLW icons
51478         45577d5 Avoid GTK 3 crash with icons and masks
51479         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
51480         077b78c Define make_save_ptr_ptr unconditionally
51481         20a1003 Preserve current buffer when popping up TTY menus
51482         7eba90c Improve font selection by family on MS-Windows
51483         73d213f Comint, term, and compile now set EMACS
51484         9524ec5 Ignore more merges when generating ChangeLog
51485         ad250f2 Sync with gnulib
51486         c0165ea Resurrect GNUS-NEWS autogeneration
51487         1e5327c ; Backport ChangeLog.2 fixes from master
51488         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
51489         38a43f1 Fix bug in displaying header line with a box face
51490         91e6676 Fix an Isearch var to be a string (Bug#23038)
51491         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
51492         8a35f83 Render empty <ul><li><ul> correctly
51493         d8b2ce5 Ignore invalid base64 encoded embedded images
51494         52ba24b Fix <p> and <div> newlines with or without <li> in shr
51495         b8ea08b Avoid errors in 'newline'
51496         fc3cd53 Fix Bug#23032
51497         dd2737b Adjudicate review comments in abbrevs.texi
51498         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
51499         413e73b ; Small theme additions
51500         cd950da Honor prefix arg in doc-view-next-line-or-next-page
51501         ed909c0 ; Spelling fixes
51502         6da3a6d Port to strict C99 offsetof
51503         de7601f Port to GTK with strict C11 compiler
51504         658aa2d Port to GTK with strict C99 compiler
51505         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
51506         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
51507         dca240a Suppress some Tramp tests for OSX, do not merge with master
51508         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
51509         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
51510         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
51511         9ab03f2 ; Auto-commit of loaddefs files.
51512         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
51513         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
51514         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
51515         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
51516         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
51517         d6d164f Avoid segfaults due to frame image cache being absent
51518         bc7f6f6 Improve documentation of glyphless-character display
51519         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
51520         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
51521         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
51522         2036be4 Fix Ruby's operator precedence
51523         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
51524         7950e1d Port to clang 3.7.0 on x86-64
51525         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
51526         ba33b7c Sync with gnulib
51527         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
51528         dbfbedd Do not tokenize a comment before continuation as ';'
51529         0403620 Don't misindent arguments of a method call inside continuation
51530         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
51531         8475f3d ASCII-only etc/NEWS etc.
51532         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
51533         0ce37ea Fix Isearch prompt when invoked with an argument
51534         f3033d4 Fix a typo in the Emacs manual
51535         4235d2d Curved quotes in etc/NEWS etc.
51536         26b56dc Fix some single quotes in documentation
51537         80ec484 Make lisp-completion-at-point's argument optional
51538         9d463ae Tweak the left precedence of '=>'
51539         5b705bc Indent '.' relative to the first sibling expression
51540         04f5525 Make '.' associative, for easier sexp navigation
51541         ba24c99 Revert "Simplify "Visit New File" to "New File""
51543 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
51545         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
51547         Use #' to quote functions.
51548         (erc-server-delayed-reconnect): Remove unused arg `event'.
51549         (erc-process-sentinel-2): Adjust accordingly.
51550         Don't pass `err' to condition-case if we don't use it.
51551         (define-erc-response-handler): Use add-hook rather than add-to-list.
51552         (NICK): Use cl-pushnew rather than add-to-list.
51553         (331): Remove unused var `topic'.
51554         (352): Remove unused var `hopcount'.
51556 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
51558         Support macros in 'func-arity'
51560         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
51562 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
51564         Fix compilation of Cygwin w32 port
51566         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
51567         initialize and free the notification set if compiling with
51568         w32notify feature.
51570 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
51572         Fix resize incompatibility with GTK+ master
51574         Problem reported by Matthias Clasen (Bug#23144).
51575         * src/xterm.c (handle_one_xevent) [USE_GTK]:
51576         Do not call xg_frame_resized.
51578 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
51580         Fix check for subscript errors in module calls
51582         * src/emacs-module.c (check_vec_index): New function.
51583         (module_vec_set, module_vec_get): Use it instead of a
51584         not-strict-enough check.
51586 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
51588         Support completion of bang-rules in CSS mode
51590         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
51591         holding the list of bang-rules for the current mode.
51592         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
51593         instead of computing them.
51594         (css--complete-bang-rule): New function for completing a bang-rule.
51595         (css-completion-at-point): Add support for completing bang-rules.
51596         (scss-font-lock-keywords): Change from a variable to a function in
51597         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
51598         changed.
51599         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
51601 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
51603         Add HTML4 tags to HTML mode
51605         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
51606         (html-tag-help): Add short descriptions of those tags.
51608 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51610         Pacify --enable-gcc-warnings for buffer-hash etc.
51612         * src/fns.c (make_digest_string): Now static.
51613         (secure_hash): Omit unused local.
51615 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
51617         Add support for 7z archives
51619         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
51620           also work with 7z archives.
51622         The shell command should produce a single extracted directory named
51623         after the archive's name.
51625         In case the extracted directory exists, all files will be overwritten
51626         without a prompt. This matches the expected behavior with the "tar.gz"
51627         archives.
51629 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51631         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
51633 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
51635         Fix typo in network-stream-tests.el
51637         * test/lisp/net/network-stream-tests.el
51638         (connect-to-tls-ipv6-nowait): Fix typo.
51640 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51642         New function seq-sort-by in seq.el
51644         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
51645         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
51646         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
51648 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51650         Mention the `M-q' changes
51652 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51654         Have `M-q' not mark buffers are changed when they haven't
51656         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
51657         to avoid marking buffers as changed when they haven't.
51659 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51661         Add a new function `buffer-hash'
51663         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
51665         * src/fns.c (Fbuffer_hash): New function.
51666         (make_digest_string): Refactored out into its own function.
51667         (secure_hash): Use it.
51669         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
51671 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51673         Rename C names to match Lisp symbols better
51675         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
51676         which fixed a bug where the C name for a symbol disagreed with the
51677         symbol name itself.  Fix other instances of disagreements that I found.
51678         Although this doesn’t fix a bug, it should make code easier to follow.
51679         The remaining disagreements are idiosyncratic: Qminus, Qplus,
51680         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
51681         All uses changed.
51682         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
51683         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
51684         (QCsession): Rename from QCdbus_session_bus.
51685         (QCtimeout): Rename from QCdbus_timeout.
51686         (QCbyte): Rename from QCdbus_type_byte.
51687         (QCboolean): Rename from QCdbus_type_boolean.
51688         (QCint16): Rename from QCdbus_type_int16.
51689         (QCuint16): Rename from QCdbus_type_uint16.
51690         (QCint32): Rename from QCdbus_type_int32.
51691         (QCuint32): Rename from QCdbus_type_uint32.
51692         (QCint64): Rename from QCdbus_type_int64.
51693         (QCuint64): Rename from QCdbus_type_uint64.
51694         (QCdouble): Rename from QCdbus_type_double.
51695         (QCstring): Rename from QCdbus_type_string.
51696         (QCobject_path): Rename from QCdbus_type_object_path.
51697         (QCsignature): Rename from QCdbus_type_signature.
51698         (QCunix_fd): Rename from QCdbus_type_unix_fd.
51699         (QCarray): Rename from QCdbus_type_array.
51700         (QCvariant): Rename from QCdbus_type_variant.
51701         (QCstruct): Rename from QCdbus_type_struct.
51702         (QCdict_entry): Rename from QCdbus_type_dict_entry.
51703         (QCserial): Rename from QCdbus_registered_serial.
51704         (QCmethod): Rename from QCdbus_registered_method.
51705         (QCsignal): Rename from QCdbus_registered_signal.
51706         * src/emacs-module.c (Qinternal__module_call):
51707         Rename from Qinternal_module_call.
51708         * src/frame.c (Qwindow__pixel_to_total):
51709         Rename from Qwindow_pixel_to_total.
51710         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
51711         (QCpriority): Rename from QCgnutls_bootprop_priority.
51712         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
51713         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
51714         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
51715         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
51716         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
51717         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
51718         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
51719         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
51720         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
51721         (Qgnutls): Rename from Qgnutls_dll.
51722         (Qlibxml2): Rename from Qlibxml2_dll.
51723         (Qzlib): Rename from Qzlib_dll.
51724         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
51725         * src/window.c (Qwindow__resize_root_window):
51726         Rename from Qwindow_resize_root_window.
51727         (Qwindow__resize_root_window_vertically):
51728         Rename from Qwindow_resize_root_window_vertically.
51729         (Qwindow__sanitize_window_sizes):
51730         Rename from Qwindow_sanitize_window_sizes.
51731         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
51732         * src/xdisp.c (Qredisplay_internal_xC_functionx):
51733         Rename from Qredisplay_internal.
51734         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
51735         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
51737 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
51739         func-arity minor improvements
51741         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
51742         runtime test for integer argument, unless debugging.
51743         Use EMACS_INT for Emacs integers.
51744         * src/eval.c (Ffunc_arity): Omit unused locals.
51745         Avoid side effects in ‘if’ expr.
51746         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
51748 2016-03-26  John Wiegley  <johnw@newartisans.com>
51750         Restore the fix to bug#18527 from commit d6868025
51752 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
51754         Safely run window size change functions
51756         * src/window.c (run_window_size_change_functions): Use
51757         safe_call1 when running a size change function.
51758         (grow_mini_window, shrink_mini_window): Report error when
51759         minibuffer window cannot be resized.
51761 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
51763         Implement 'func-arity'
51765         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
51766         * src/bytecode.c (get_byte_code_arity): New function.
51767         * src/lisp.h (get_byte_code_arity): Add prototype.
51769         * doc/lispref/functions.texi (What Is a Function): Document
51770         'func-arity'.
51772         * etc/NEWS: Mention 'func-arity'.
51774         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
51776 2016-03-25  Alan Mackenzie  <acm@muc.de>
51778         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
51780         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
51781         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
51782         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
51783         c-noise-macro-with-parens-name-re.
51785         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
51786         cc-engine.el.
51788         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
51789         `c-make-noise-macro-regexps'.
51790         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
51792         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
51793         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
51795 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51797         (shr-insert): Respect non-breaking space in non-<pre> text
51799         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
51800         non-<pre> text.
51802 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51804         parse-times-string doc string clarification
51806         * lisp/calendar/parse-time.el (parse-time-string): Note that
51807         we accept RFC2822 strings.
51809 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
51811         Doc string fix
51813         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
51814         doc string and clean up code.
51816 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
51818         Cleanup file notification code in Tramp
51820         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
51821         Make `events' a list of symbols for "inotifywait".
51822         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
51823         Call `file-notify-handle-event' for better traces.
51824         (tramp-sh-inotifywait-process-filter): Check for expected events.
51825         Call `file-notify-handle-event' for better traces.
51827 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
51829         Adapt filenotify-tests.el according latest tests
51831         * test/lisp/filenotify-tests.el (file-notify-test02-events)
51832         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
51833         Remove superfluous `read-event' calls.
51834         (file-notify-test02-events): Expect different events under MS
51835         Windows 7 and 10.
51836         (file-notify-test04-file-validity): Move `file-notify-valid-p'
51837         check up.
51839 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51841         Merge from origin/emacs-25
51843         ad250f2 Sync with gnulib
51844         c0165ea Resurrect GNUS-NEWS autogeneration
51846         # Conflicts:
51847         #       etc/GNUS-NEWS
51848         #       lisp/Makefile.in
51850 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51852         Merge from origin/emacs-25
51854         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
51855         38a43f1 Fix bug in displaying header line with a box face
51857 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51859         * etc/NEWS: Use straight quotes.
51861 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
51863         Support completion of attribute values in CSS mode
51865         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
51866         holding CSS identifiers and the values they can have.
51867         (css-property-ids): Compute dynamically from `css-property-alist'.
51868         (css-value-class-alist): New defconst holding property value classes
51869         and their values.
51870         (css--property-value-cache): New variable providing a cache for
51871         `css--property-values'.
51872         (css--value-class-lookup): New function for computing a list of values
51873         in a value class.
51874         (css--property-values): New function for computing a list of possible
51875         values for a CSS property.
51876         (css--complete-property-value): New function for completing a property
51877         value.
51878         (css-completion-at-point): Add support for completing property values.
51879         * test/lisp/textmodes/css-mode-tests.el: New file.
51881 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
51883         Sync with verilog-mode development tree.
51885         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
51886         verilog-speedbar-initialize): Automatically add verilog-mode
51887         extensions when in speedbar mode, bug1045, bug1046.  Reported by
51888         David Shleifman.
51889         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
51890         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
51891         (verilog-read-always-signals-recurse): Fix :: notation for
51892         auto-reset signals.  Reported by Andrew Jones.
51893         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
51894         grouping keywords, bug1002. Reported by Paul Sargent.
51895         (verilog-save-font-no-change-functions): Commentary and fix
51896         pre-Emacs 21 behavior.
51898 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51900         Compute a better commit message for merges
51902         Problem reported by David Engster in:
51903         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
51904         * admin/gitmerge.el (gitmerge-commit-message):
51905         Truncate the computed commit message to at most 72 characters per line.
51906         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
51907         merges; use the computed commit message instead.
51909 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51911         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
51913 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51915         Change do-not-merge pattern to "do not merge"
51917         This should avoid the problem we recently had with
51918         automatically-generated merge messages, while still letting people
51919         specify commits not to merge.
51920         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
51921         (gitmerge-highlight-skip-regexp): Fold case when searching
51922         for gitmerge-skip-regexp.
51924 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51926         Merge from origin/emacs-25
51928         91e6676 Fix an Isearch var to be a string (Bug#23038)
51929         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
51931 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51933         -
51935         -
51937 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51939         Keep "merge" commits by default in gitmerge
51941         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
51942         causes false positives.  See:
51943         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
51945 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51947         Assume NON_BLOCKING_CONNECT (Bug#22946)
51949         * lisp/proced.el (proced-signal-list): Omit comment about
51950         obsolete systems that do not support POSIX 1003.1-2001 signals.
51951         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
51952         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
51953         (connect_network_socket): Assume EINPROGRESS is defined,
51954         as that’s portable too now.
51955         (Fmake_network_process): Use bool for boolean.
51957 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51959         Fix problems caused by new implementation of sub-word mode
51961         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
51962         New functions.
51963         (word-move-empty-char-table): New variable.
51965         * etc/NEWS: Mention 'forward-word-strictly' and
51966         'backward-word-strictly'.
51968         * doc/lispref/positions.texi (Word Motion): Document
51969         'find-word-boundary-function-table', 'forward-word-strictly', and
51970         'backward-word-strictly'.  (Bug#22560)
51972         * src/syntax.c (syms_of_syntax)
51973         <find-word-boundary-function-table>: Doc fix.
51975         * lisp/wdired.el (wdired-xcase-word):
51976         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
51977         (texinfo-copy-section-title, texinfo-start-menu-description)
51978         (texinfo-copy-menu-title, texinfo-specific-section-type)
51979         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
51980         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
51981         (texinfo-insert-@end):
51982         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
51983         (texinfo-anchor, texinfo-multitable-widths)
51984         (texinfo-multitable-item):
51985         * lisp/textmodes/tex-mode.el (latex-env-before-change):
51986         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
51987         * lisp/skeleton.el (skeleton-insert):
51988         * lisp/simple.el (count-words):
51989         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
51990         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
51991         (vhdl-update-sensitivity-list, vhdl-template-block)
51992         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
51993         (vhdl-template-default-indent, vhdl-template-for-loop)
51994         (vhdl-template-if-then-use, vhdl-template-bare-loop)
51995         (vhdl-template-nature, vhdl-template-procedural)
51996         (vhdl-template-process, vhdl-template-selected-signal-asst)
51997         (vhdl-template-type, vhdl-template-variable)
51998         (vhdl-template-while-loop, vhdl-beginning-of-block)
51999         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
52000         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
52001         (verilog-forward-sexp, verilog-beg-of-statement)
52002         (verilog-set-auto-endcomments, verilog-backward-token)
52003         (verilog-do-indent):
52004         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
52005         (vera-indent-block-closing):
52006         * lisp/progmodes/simula.el (simula-context)
52007         (simula-backward-up-level, simula-forward-down-level)
52008         (simula-previous-statement, simula-next-statement)
52009         (simula-skip-comment-backward, simula-calculate-indent)
52010         (simula-find-if, simula-electric-keyword):
52011         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
52012         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
52013         (ruby-smie--forward-token, ruby-smie--backward-token)
52014         (ruby-singleton-class-p, ruby-calculate-indent)
52015         (ruby-forward-sexp, ruby-backward-sexp):
52016         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
52017         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
52018         (perl-syntax-propertize-special-constructs)
52019         (perl-backward-to-start-of-continued-exp):
52020         * lisp/progmodes/pascal.el (pascal-indent-declaration):
52021         * lisp/progmodes/octave.el (octave-function-file-p):
52022         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
52023         * lisp/progmodes/js.el (js--forward-function-decl):
52024         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
52025         (idlwave-beginning-of-block, idlwave-end-of-block)
52026         (idlwave-block-jump-out, idlwave-determine-class):
52027         * lisp/progmodes/icon.el (icon-is-continuation-line)
52028         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
52029         * lisp/progmodes/hideif.el (hide-ifdef-define):
52030         * lisp/progmodes/f90.el (f90-change-keywords):
52031         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
52032         (cperl-linefeed, cperl-electric-terminator)
52033         (cperl-find-pods-heres, cperl-fix-line-spacing)
52034         (cperl-invert-if-unless):
52035         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
52036         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
52037         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
52038         (ada-adjust-case-skeleton, ada-create-case-exception)
52039         (ada-create-case-exception-substring)
52040         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
52041         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
52042         (ada-get-indent-if, ada-get-indent-block-start)
52043         (ada-get-indent-loop, ada-get-indent-type)
52044         (ada-search-prev-end-stmt, ada-check-defun-name)
52045         (ada-goto-decl-start, ada-goto-matching-start)
52046         (ada-goto-matching-end, ada-looking-at-semi-or)
52047         (ada-looking-at-semi-private, ada-in-paramlist-p)
52048         (ada-search-ignore-complex-boolean, ada-move-to-start)
52049         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
52050         * lisp/net/quickurl.el (quickurl-grab-url):
52051         * lisp/mail/sendmail.el (mail-do-fcc):
52052         * lisp/mail/rmail.el (rmail-resend):
52053         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
52054         * lisp/mail/mail-extr.el (mail-extract-address-components):
52055         * lisp/json.el (json-read-keyword):
52056         * lisp/files.el (insert-directory):
52057         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
52058         * lisp/completion.el (symbol-under-point, symbol-before-point)
52059         (symbol-before-point-for-complete, next-cdabbrev)
52060         (add-completions-from-c-buffer):
52061         * lisp/cedet/semantic/texi.el (semantic-up-context)
52062         (semantic-beginning-of-context):
52063         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
52064         use 'forward-word-strictly' and 'backward-word-strictly' instead
52065         of 'forward-word' and 'backward-word'.
52067         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
52068         which was inadvertently lost by merge commit
52069         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
52071 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
52073         * etc/TODO: Minor quoting and grammar fixes.
52075         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
52076         which was inadvertently lost by merge commit
52077         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
52079 2016-03-21  Alan Mackenzie  <acm@muc.de>
52081         Don't confuse "::" with ":" when trying to parse member initializers.
52083         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
52084         more robustly for ":" token when searching backwards for it.
52086         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
52087         language variable.
52089         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
52090         which was inadvertently lost by merge commit
52091         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52093 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
52095         Ensure positive number of glyphs for margins of positive width
52097         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
52098         positive value when a non-zero width of the marginal area was
52099         requested.  (Bug#22356)
52101         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
52102         which was inadvertently lost by merge commit
52103         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52105 2016-03-21  Alan Mackenzie  <acm@muc.de>
52107         In comment-dwim with style `extra-line', respect indent-tabs-mode.
52109         This fixes bug #22369.
52111         * lisp/newcomment.el (comment-make-bol-ws): New function.
52112         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
52114         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
52115         which was inadvertently lost by merge commit
52116         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52118 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
52120         Merge doc fixes for 'random' lost in previous merge
52122         [This reapplies part of commit
52123         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
52124         which was inadvertently lost by merge commit
52125         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52126         (Bug#22202)
52128 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
52130         Unhide the --no-line-directive option to 'etags'
52132         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
52133         option.  (Bug#22306)
52135         * doc/man/etags.1: Document the --no-line-directive option.
52137         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
52138         which was inadvertently lost by merge commit
52139         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52141 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
52143         Fix picture-mode wrt double-width characters
52145         * lisp/textmodes/picture.el (picture-insert): Check the width of
52146         the character being replaced, not just that of the replacement.
52147         (Bug#1808)
52149         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
52150         which was inadvertently lost by merge commit
52151         7823745acbe9b87eea2db4ef434e379fc903ec35.]
52153 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
52155         Resurrect earlier fix of resize_frame_windows
52157         * src/window.c (resize_frame_windows): Resurrect earlier fix for
52158         calculating the number of columns of the minibuffer window which
52159         was lost in subsequent merges.
52161 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52163         Move the cert files to the data directory
52165 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52167         Further empty <li> tweaks
52169         * lisp/net/shr.el (shr-tag-li): When showing several empty
52170         <li> elements, ensure that they really get inserted on a new line.
52172 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52174         Don't remove too much white space at the end of documents
52176         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
52177         remove too much white space -- leave it on the last line (in
52178         case there's a background color).
52180 2016-03-20  Alan Mackenzie  <acm@muc.de>
52182         Amend parse-partial-sexp correctly to handle two character comment delimiters
52184         Do this by adding a new field to the parser state: the syntax of the last
52185         character scanned, should that be the first char of a (potential) two char
52186         construct, nil otherwise.
52187         This should make the parser state complete.
52188         Also document element 9 of the parser state.  Also refactor the code a bit.
52190         * src/syntax.c (struct lisp_parse_state): Add a new field.
52191         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
52192         (internalize_parse_state): New function, extracted from scan_sexps_forward.
52193         (back_comment): Call internalize_parse_state.
52194         (forw_comment): Return the syntax of the last character scanned to the caller
52195         when that character might be the first of a two character construct.
52196         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
52197         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
52198         information via the address parameter `state'.  Remove the code which converts
52199         from external to internal form of `state'.  Access buffer contents only from
52200         `from' onwards.  Reformulate code at the top of the main loop correctly to
52201         recognize comment openers when starting in the middle of one.  Call
52202         forw_comment with extra argument (for return of syntax value of possible first
52203         char of a two char construct).
52204         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
52205         doc string.  Clarify the doc string in general.  Call
52206         internalize_parse_state.  Take account of the new elements when consing up the
52207         output parser state.
52209         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
52210         element 10.  Minor wording corrections (remove reference to "trivial
52211         cases").
52212         (Low Level Parsing): Minor corrections.
52214         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
52215         state.
52217 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52219         Allow the shr test files to have trailing blank space.
52221         * .gitattributes: Allow the shr test files to have trailing
52222         blank space.
52224 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52226         Add tests for empty <ul><li>
52228 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
52230         * src/alloc.c (purecopy): Use AUTO_STRING.
52232 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52234         Ignore invalid base64 encoded embedded images
52236         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
52237         encoded embedded images (bug#22928).
52239 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52241         Render empty <ul><li><ul> correctly
52243         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
52244         correctly (bug#22964).
52246 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52248         Fix <p> and <div> newlines with or without <li> in shr
52250         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
52251         a <li>, if we are, and don't insert newlines there.
52252         (shr-ensure-paragraph): When mixing newlines and paragraph
52253         ensurements, don't insert too many blank lines.
52254         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
52255         new line.
52257 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52259         Add more shr HTML rendering tests
52261         Add a test harness for shr HTML rendering and one test
52263 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52265         Remove code left over from when overlays were used for padding
52267         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
52268         (shr-remove-trailing-whitespace): Ditto.
52269         (shr-insert-document): Don't call them.
52271 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52273         Remove trailing blank lines in shr
52275         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
52276         (shr-insert-document): Use it to remove trailing blank lines
52277         at the end of documents, since these never seem to be very useful.
52279 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52281         Don't bug out on nil `patch-buf' arguments
52283         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
52284         `patch-buf' arguments.
52286 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
52288         Add a Catalan language environment
52290         * lisp/international/mule-cmds.el (locale-language-names): Map locale
52291           language name `ca' to language environment `Catalan'.
52293         * lisp/language/european.el: Add definition of language
52294         environment for the Catalan language.
52296         * lisp/leim/quail/latin-pre.el: Add quail rule to the
52297         `catalan-prefix' input method to support input of middle dot
52298         characters through composition (bug#18279).
52300 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52302         No need to block input when reading directories
52304         * src/dired.c: Don’t include blockinput.h.
52305         (open_directory, directory_files_internal_unwind)
52306         (directory_files_internal, file_attributes):
52307         Don’t block input here, as the reasons for blocking input should
52308         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
52310 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
52312         * lisp/vc/vc-hooks.el: Fix typo
52314 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
52316         Improve w32notify notifications
52318         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
52319         (struct notification): 'terminate' is now a HANDLE.
52320         (send_notifications): Argument is now a pointer to a
52321         notification.  Don't loop waiting for the notification to be
52322         acknowledged by the main thread; instead, just add the
52323         notification to the linked list of notifications waiting to be
52324         acknowledged.
52325         (watch_end): Don't close the directory handle.
52326         (watch_completion): Allocate a new notification structure to be
52327         added to the notifications set.  Call ReadDirectoryChangesW
52328         immediately after adding the new notification, and before sending
52329         a message to the main thread about them.
52330         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
52331         call it just once -- it will be called again in watch_completion.
52332         Loop waiting for the main thread's indication to terminate.
52333         (start_watching): Create the event to be used to indicate to the
52334         worker thread that its should terminate.
52335         (remove_watch): Indicate to the worker thread that it should
52336         terminate.
52337         * src/w32term.c (queue_notifications): Loop over all the
52338         notifications in the linked list, processing all of them in one
52339         go.
52340         * src/w32inevt.c (handle_file_notifications): Loop over all the
52341         notifications in the linked list.
52342         * src/w32xfns.c (init_crit): Initialize the linked list of file
52343         notifications.
52344         (delete_crit): Free the linked list of file notifications,
52345         including any unprocessed notifications left in it.
52346         * src/w32term.h (struct notifications_se): New struct.
52348         * test/lisp/filenotify-tests.el (file-notify-test02-events)
52349         (file-notify-test05-dir-validity): Add read-event calls to
52350         facilitate event recognition by the main thread in batch mode.
52352 2016-03-17  Sam Steingold  <sds@gnu.org>
52354         make `vc-log-operation' buffer local to allow multiple simultaneous editing
52356 2016-03-17  Glenn Morris  <rgm@gnu.org>
52358         Simplify some rococo Gnus code that loads or tests for other libraries.
52360         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
52361         * lisp/gnus/mml-smime.el (epg): Simply require it.
52362         (mml-smime-use): Simplify the default.  Doc fix.
52363         * lisp/gnus/mml2015.el (epg-config): Require it.
52364         (mml2015-use): Simplify the default.
52365         * lisp/gnus/smime.el (password-cache): Simply require it.
52366         (password-read-and-add): Remove declaration.
52368 2016-03-16  Glenn Morris  <rgm@gnu.org>
52370         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
52372 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
52373             Alex Harsanyi  <AlexHarsanyi@gmail.com>
52375         Sync with soap-client repository, version 3.1.1
52377         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
52378         message.
52379         (soap-find-port): Delete trailing whitespace.
52380         (soap-find-operation): Fix documentation and rename parameter.
52381         (soap-find-port): Likewise.
52382         (soap-operation-arity): Likewise.
52384         * lisp/net/soap-client.el: Update copyright years.
52385         (soap-warning): Fix docstring quoting.
52386         (soap-decode-date-time): Likewise.
52387         (soap-validate-xs-simple-type): Remove tabs for indentation.
52388         * lisp/net/soap-inspect.el: Update copyright years.
52390         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
52391         assume xsd:base64Binary values are UTF-8 strings.
52392         (soap-decode-xs-basic-type): Likewise.
52393         (soap-invoke): Document xsd:base64Binary handling.
52395         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
52396         (soap-operation-arity): new defuns
52397         (soap-invoke-internal): use soap-find-port, soap-find-operation.
52399 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
52401         Merge from gnulib
52403         This incorporates:
52404         2016-03-15 std-gnu11: improve clang support
52405         * m4/std-gnu11.m4: Copy from gnulib.
52407 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52409         Disable MOVE more for Dovecot
52411         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
52412         disable MOVE when expirying.
52413         (nnimap-split-incoming-mail): And when splitting mail.
52415 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52417         Don't use MOVE on Dovecot
52419         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
52420         MOVE on Dovecot, since it's broken in many versions.
52421         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
52423 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
52425         Improve diff hunk headers when maintaining Emacs
52427         * .gitattributes: Improve diff hunk header support for makefiles,
52428         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
52429         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
52430         somewhere (sometimes just in test cases).
52431         * autogen.sh: Add regexes for makefiles and shell scripts.
52433 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
52435         Update handling of <bdo> per Unicode 9.0
52437         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
52438         Unicode 9.0 changes in UAX#9, paragraph 2.7.
52440 2016-03-11  John Wiegley  <johnw@newartisans.com>
52442         Merge from origin/emacs-25
52444         facb5e2 Update Emacs manual section related to character folding
52445         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
52446         f8df21b Update admin/notes/unicode
52447         950be68 Add symref-filepattern entries for c?perl-mode
52448         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
52449         985dacf ; NEWS update for the last change in etags
52450         741a6f8 Sync with gnulib
52451         7352c6c Rework C source files to avoid ^(
52452         a589e9a By default, etags produces unqualified Perl tag names
52453         72c7438 Indent methods with keyword names correctly
52454         28532a9 Propertize character literals and special global variables
52455                 differently
52456         a7d6f39 ; Fix last change in NEWS
52457         83b2a20 Change how /etc/NEWS presents character folding
52458         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
52459                 off by default""
52460         711ca36 Properly handle lambda as read function (bug 22961)
52461         1b9d616 Propertize operator symbol names with symbol syntax class
52462         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
52463         366ec77 Allow using the left shift operator without spaces on both sides
52464         02bf7cc Properly handle unquoting in wdired (bug 22938)
52465         16cf469 ; Spelling fix and tighten up comment
52466         f50bc04 Allow splat operator before percent literal
52467         991c801 Don't apply the return value of goto-char as syntax class
52468         6e63b3e Guard against nested percent literals
52469         066f3bc Recognize iuwu-mod after an escaped newline
52470         6f7a57c Fix symbolic mode string conversion for s and t
52471         50b9826 Update 'ucs-names' database
52472         993b2fb Improve doc string of 'shell-command'
52473         b71c717 Make the code in movemail_strftime more general
52474         cc057e4 Speed up redisplay of binary files with long series of nulls
52475         e51b27e Remove the highlighting support for quoting 'like this' inside
52476                 Lisp docstrings
52477         b1abce1 Restore leading space in movemail pop output
52478         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
52479         dc9d837 Don't misindent computed property generator methods
52480         7923112 Fix mbox files produced by movemail on MS-Windows
52481         c45a1ca doc string file descriptor exhaustion fix
52482         265141b Fix Bug#22814
52484 2016-03-11  John Wiegley  <johnw@newartisans.com>
52486         Merge from origin/emacs-25
52488         620951f Fix previous fix of enlarge-/shrink-window
52489         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
52490         66d2717 Complete temperature units in calc-convert-temperature
52491         dbb02bf Make sure to use case-sensitive search
52492         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
52493         100346a Add the missing test case for the previous patch
52494         5aba61e Use the correct dabbrev expansion
52496 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
52498         Remove compat code in Tramp
52500         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
52501         Remove compat code.
52503 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
52505         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
52507         Use #' for function names.
52508         (latex-complete-envnames): Include existing environments in
52509         current buffer.
52510         (latex-insert-block): Use latex-complete-envnames.
52511         (tildify-foreach-ignore-environments): Declare.
52513 2016-03-10  Alain Schneble  <a.s@realize.ch>
52515         Fix asynchronous TLS connections on MS-Windows
52517         * src/w32.c (sys_write): Don't switch the socket to blocking mode
52518         if the connection attempt is in progress.  Instead, return either
52519         EWOULDBLOCK immediately if the connection is in progress, or the
52520         error code produced by '_sys_wait_connect' if the connection
52521         failed.  Switching the socket to blocking mode was found to
52522         interfere with GnuTLS handshake.  (Bug#22789)
52524 2016-03-10  Alan Mackenzie  <acm@muc.de>
52526         Clarify the documentation of nested comments.
52528         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
52529         style are recognized inside nestable comments.
52530         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
52531         UNNESTED comments.
52533 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
52535         Add new function display-buffer-reuse-mode-window
52537         * lisp/window.el (display-buffer-reuse-mode-window): New function.
52538         * doc/lispref/windows.texi (Display Action Functions): Document it.
52540 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
52542         Minor fixes for getaddrinfo_a usage
52544         * src/process.c (Fdelete_process): Check gai_cancel return value.
52545         That way, there’s no need to invoke gai_error.  Check gai_suspend
52546         return value.
52547         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
52548         string.  Simplify call to connect_network_socket.
52549         (check_for_dns): Avoid unnecessary initialization of local.
52551 2016-03-09  Sam Steingold  <sds@gnu.org>
52553         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
52555         The former avoids a compiler warning, the latter fixes a bug whereas
52556         the variable is compiled as lexical instead of dynamic.
52558 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
52560         Pacify --enable-gcc-warnings
52562         * src/xfns.c (x_create_tip_frame): Omit unused local.
52563         (Fx_show_tip): Don’t jump over auto initialization.
52565 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
52567         Optionally reuse tooltip frames instead of deleting/recreating them.
52569         * src/frame.c (tooltip_reuse_hidden_frame): New option.
52570         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
52571         handling of dividers.
52572         (x_hide_tip): New function.
52573         (Fx_show_tip): Try to reuse old tooltip frame when
52574         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52575         have not changed.  Insert STRING here instead of passing it to
52576         x_create_tip_frame.  Compute size of tooltip window with
52577         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
52578         padding tooltip window.
52579         (Fx_hide_tip): Call x_hide_tip.
52580         (Vw32_tooltip_extra_pixels): New variable.
52581         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
52582         value.  Fix doc-string.
52583         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
52584         make_frame with mini_p argument false.
52585         (x_hide_tip): New function.
52586         (Fx_show_tip): Try to reuse old tooltip frame when
52587         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52588         have not changed.  Insert STRING here instead of passing it to
52589         x_create_tip_frame.  Compute size of tooltip window with
52590         Fwindow_text_pixel_size.
52591         (Fx_hide_tip): Call x_hide_tip.
52592         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
52593         customization entry.
52595 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52597         Assume getaddrinfo in C code
52599         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
52600         All uses removed.
52601         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
52602         Say that port numbers can be integer strings.
52603         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
52604         (socket_connection): Assume HAVE_GETADDRINFO.
52605         * lisp/mpc.el (mpc--proc-connect):
52606         * lisp/net/network-stream.el (open-network-stream):
52607         It’s now OK to use integer strings as port numbers.
52608         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
52609         (Fmake_network_process): Assume HAVE_GETADDRINFO.
52611 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52613         Remove support for IRIX
52615         The IRIX port wasn’t really working anyway, and the code was
52616         getting in the way of other changes (e.g., getaddrinfo fixes).
52617         IRIX’s supplier dropped support for IRIX in 2013.
52618         * admin/CPP-DEFINES:
52619         * configure.ac (opsys):
52620         * doc/lispref/os.texi (System Environment):
52621         * etc/MACHINES, etc/PROBLEMS:
52622         * lisp/find-dired.el (find-grep-options):
52623         * lisp/lpr.el (lpr-lp-system):
52624         * lisp/ls-lisp.el (ls-lisp-emulation):
52625         * lisp/mail/rmail.el (rmail-spool-directory):
52626         * lisp/net/net-utils.el (ping-program-options):
52627         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
52628         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
52629         * src/conf_post.h [IRIX6_5]:
52630         * src/emacs.c (Vsystem_type):
52631         * src/filelock.c (get_boot_time_1):
52632         * src/process.c (process_send_signal):
52633         * src/unexelf.c (unexec):
52634         Omit IRIX-specific code and/or documentation.
52635         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
52636         Remove.  All uses removed.
52637         * etc/NEWS: Document the change.
52639 2016-03-06  John Wiegley  <johnw@newartisans.com>
52641         Revert "Use colors in the VC mode lines"
52643         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
52645 2016-03-06  Ken Brown  <kbrown@cornell.edu>
52647         Fix Cygwin-w32 build
52649         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
52650         Define only if WINDOWSNT, and update all uses accordingly.
52651         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
52652         (remove_w32_kbdhook): Declare only if WINDOWSNT.
52653         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
52655 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
52657         Unbreak the MinGW64 build
52659         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
52660         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
52661         for the details.  Reported by Angelo Graziosi
52662         <angelo.graziosi@alice.it>.
52664 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52666         Don't signal errors on E_AGAIN
52668         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
52669         error now that TLS is async.
52671 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52673         Allow making TLS negotiation blocking
52675         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
52677         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
52678         :complete-negotiation, to specify that we want complete
52679         negotiation even if the socket is non-blocking.
52680         (gnutls_try_handshake): Complete negotiation if given that keyword.
52682         * src/process.h (L): Added gnutls_complete_negotiation_p.
52684 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52686         Don't run ipv6 test on systems without ipv6
52688         * test/lisp/net/network-stream-tests.el
52689         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
52691 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
52693         Implement getaddrinfo fallback for MS-Windows
52695         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
52696         for more details.
52698         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
52699         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
52700         test program is not smart enough to auto-detect these.
52701         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
52702         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
52703         sys_getaddrinfo and sys_freeaddrinfo.
52705         * src/w32.c (init_winsock): Try loading getaddrinfo and
52706         freeaddrinfo from ws2_32.dll.
52707         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
52709         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
52710         and also ws2tcpip.h.
52711         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
52712         sys_getaddrinfo and sys_freeaddrinfo, respectively.
52713         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
52714         functions.
52716 2016-03-04  Glenn Morris  <rgm@gnu.org>
52718         * lisp/files.el: Fix recent typo.
52720         * lisp/subr.el (read-multiple-choice): Avoid free variable.
52722         * doc/lispref/files.texi (File Attributes): Fix typo.
52724 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52726         Make the describe-key prompts clearer
52728         * lisp/help.el (describe-key-briefly): Make the prompt clearer
52729         (bug#14854).
52730         (describe-key): Ditto.
52732 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52734         Allow scrolling while querying multiple choice
52736         * lisp/subr.el (read-multiple-choice): Allow scrolling the
52737         buffer while querying (bug#22827).
52739 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52741         Add accessors for `file-attributes'
52743         * doc/lispref/files.texi (File Attributes): Mention the accessors.
52745         * lisp/files.el (file-attribute-type)
52746         (file-attribute-link-number, file-attribute-user-id)
52747         (file-attribute-group-id, file-attribute-access-time)
52748         (file-attribute-modification-time)
52749         (file-attribute-change-time, file-attribute-size)
52750         (file-attribute-modes, file-attribute-inode-number)
52751         (file-attribute-device-number): New functions.
52753         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
52755 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
52757         Fix Bug#22814
52759         * lisp/autorevert.el (global-auto-revert-mode): Do not set
52760         `auto-revert-use-notify' to nil.
52762         * etc/NEWS: Mention this.
52764         * etc/PROBLEMS: Remove problem Bug#22814.
52766         * src/kqueue.c: Include <sys/resource.h>.
52767         (Fkqueue_add_watch): Limit the number of used file descriptors.
52768         (Bug#22814)
52770         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
52771         (file-notify-test00-availability, file-notify-test01-add-watch)
52772         (file-notify-test02-events, file-notify-test06-many-events):
52773         Use #' read syntax for functions.
52774         (file-notify-test05-dir-validity)
52775         (file-notify-test06-many-events): Simplify directory creation.
52776         (file-notify-test09-sufficient-ressources): New test.
52778 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52780         Fix insertion of edited servers in the dribble file
52782         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
52783         insert explicit newlines, because they're quoted (bug#22903).
52785 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52787         Move cl-seq-tests to the right place after the merge
52789         Move cl-seq-tests to the right place after the merge
52791 2016-03-03  John Wiegley  <johnw@newartisans.com>
52793         Merge from origin/emacs-25
52795         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
52796         5cf7c39 authors.el updates
52797         a26f193 ; fix changelog entries
52798         fbc85c7 ; make change-history-commit
52799         06da00c Fix Bug#22859
52800         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
52801         1481029 Fix reordering of bidi text in an isolate inside an override
52802         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
52804 2016-03-03  John Wiegley  <johnw@newartisans.com>
52806         Merge from origin/emacs-25
52808         f5d1435 Fix targets in test/automated/Makefile.in
52810 2016-03-03  John Wiegley  <johnw@newartisans.com>
52812         Merge from origin/emacs-25
52814         b6d6304 Comment on last change to define-derived-mode
52816 2016-03-03  John Wiegley  <johnw@newartisans.com>
52818         Merge from origin/emacs-25
52820         cb1e3da Also allow setting the paragraph direction to nil
52821         bbe8a89 Made the new OS X visible bell more visible.
52823 2016-03-03  John Wiegley  <johnw@newartisans.com>
52825         Merge from origin/emacs-25
52827         aae436e Uncomment the next-error-function integration in xref
52828         5f0d096 Remove the word "valid", to avoid ambiguity
52830 2016-03-03  John Wiegley  <johnw@newartisans.com>
52832         Merge from origin/emacs-25
52834         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
52835         0d60bfc Fix ModelSim error parsing
52837 2016-03-03  John Wiegley  <johnw@newartisans.com>
52839         Merge from origin/emacs-25
52841         b13cab6 Add a eww command to toggle paragraph direction
52842         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
52843         9e078e5 Fix char signedness issue in bidi code
52844         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
52845         14060a9 Avoid inflooping in thing-at-point-looking-at
52846         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
52847                 indent change.
52848         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
52849         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
52850         d2dd614 Remove unneeded workaround in xftfont.c
52851         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
52852         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
52853         06a872b Fix redisplay on a TTY after 'make-frame'
52854         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
52855                 Fixes bug#5560.
52856         7d206fc Input method polish-slash should not use keyboard translation
52857         8be32cf Fix an assertion
52858         040e0d6 Fix 'toggle-save-place'
52859         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
52861 2016-03-03  John Wiegley  <johnw@newartisans.com>
52863         Merge from origin/emacs-25
52865         e6a3819 Update HISTORY section in readme for the NextStep interface.
52866         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
52867         7c81a0b Improve documentation of 'save-place-mode'
52868         cab3f0a Allocate glyph matrices for the initial frame
52869         e01c72f Fix white space in last checkin
52870         370eb67 Make `insert-pair' always leave the cursor where documented
52871         b594393 etc/NEWS: Mention the new second parameter to `package-install'
52873 2016-03-03  John Wiegley  <johnw@newartisans.com>
52875         Merge from origin/emacs-25
52877         bd58c13 Improve documentation of focus-related hooks
52878         00a4720 Further improve doc string of 'disable-point-adjustment'
52879         c582def Further adaptions in file-notify-tests.el for w32notify
52880         a1585e1 Don't bug out on localized dates in gnus-icalendar
52882 2016-03-03  John Wiegley  <johnw@newartisans.com>
52884         Merge from origin/emacs-25
52886         7bc4820 Make setf for frame-height/width work again
52888 2016-03-03  John Wiegley  <johnw@newartisans.com>
52890         Merge from origin/emacs-25
52892         6620944 (cl-union): Do not ignore :test argument when lists are equal.
52893         17dd3fb Add `isearch' to `basic-faces'
52894         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
52895         e72a26e Make find-tag-default-bounds more strict
52896         1bc0e0a Minor fixes in filenotify.el
52898 2016-03-02  Alain Schneble  <a.s@realize.ch>
52900         Fix issue of inserting images on some systems
52902         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
52903         to pass to shr-image-fetched, to indicate where to insert the
52904         image.  Fixes the issue introduced with commit
52905         80852f843e69b81618f29cfb9aa4b074946cb3c4
52906         (bug#22789).
52908 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
52910         Ensure TLS negotiation progress
52912         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
52913         number of retries so that we try for about a minute.
52915         * src/process.c (wait_reading_process_output): Ensure progress
52916         for DNS resolution and TLS negotiation.
52918 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52920         emacs-module.h slight simplification
52922         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
52923         * src/emacs-module.h: ... from here, as they don’t need to be public.
52924         (enum emacs_arity): Remove useless enum tag.  The enum value is
52925         used in ptrdiff_t contexts.
52927         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52929 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52931         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52933 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52935         emacs-module.c simplification and tuneup
52937         * src/emacs-module.c (CHECK_USER_PTR): New function.
52938         (module_get_user_ptr, module_set_user_ptr)
52939         (module_get_user_finalizer, module_set_user_finalizer): Use it.
52940         (module_make_global_ref, module_copy_string_contents)
52941         (module_make_string, module_vec_set, module_vec_get): Omit
52942         unnecessary runtime tests.  For example, vector sizes are always
52943         fixnums, so we don’t need to test that they are in fixnum range.
52945 2016-03-02  Philipp Stephani  <phst@google.com>
52947         Use standard checks whenever possible.
52949         This is possible in all functions where we catch signals anyway.
52951         * src/emacs-module.c (module_make_global_ref, module_funcall)
52952         (module_copy_string_contents, module_make_string): Use xsignal0
52953         and CHECK macros for argument checks.
52955 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52957         Deterministic build improvements
52959         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
52960         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
52961         and have its value be either empty or --no-build-details.
52962         All uses changed.  Change option to --disable-build-details.
52963         * doc/emacs/cmdargs.texi (Initial Options):
52964         Document --no-build-details.
52965         * doc/lispref/internals.texi (Building Emacs):
52966         * etc/NEWS:
52967         Document --disable-build-details.
52968         * doc/lispref/intro.texi (Version Info): Say that
52969         emacs-build-time can be nil.
52970         * lisp/erc/erc-compat.el (erc-emacs-build-time):
52971         Now nil if details are omitted.
52972         * lisp/erc/erc.el (erc-cmd-SV):
52973         * lisp/version.el (emacs-build-time):
52974         Now nil if no build details.
52975         (emacs-version):
52976         Output build time only if build details.
52977         * src/Makefile.in (BUILD_DETAILS): New macro.
52978         (temacs, bootstrap-emacs): Use it.
52979         * src/emacs.c (build_details): New var.
52980         (standard_args, main): Support --no-build-details.
52981         (Vdeterministic_dump): Remove; all uses replaced
52982         by !build_details.
52983         (syms_of_emacs): Set Vbuild_details to a boolean, not
52984         to a Lisp_Object.
52985         * src/lisp.h (build_details): New decl.
52986         * src/sysdep.c (init_system_name): When !build_details,
52987         set system-name to nil, not to "elided".
52989 2016-03-02  Philipp Stephani  <phst@google.com>
52991         Remove build system name from deterministic dumps
52993         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
52994         * lisp/version.el (emacs-build-time): Add a comment to make the
52995         build time deterministic if requested.
52996         (emacs-build-system): Make variable deterministic if requested.
52997         * src/emacs.c (main): Initialize `deterministic-dump' from the
52998         configuration option.
52999         (syms_of_emacs): New constant `deterministic-dump'.
53000         * src/sysdep.c (init_system_name): Use a constant
53001         if a deterministic dump is requested.
53003 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
53005         Remove buggy parse-time test
53007         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
53008         Remove the iso parse test, since it doesn't work.
53010 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53012         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
53014 2016-02-29  Glenn Morris  <rgm@gnu.org>
53016         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
53017         Experiment with setting to nil.
53019 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53021         Make the revert command in timer-list-mode work
53023         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
53024         command work.
53026 2016-02-29  Glenn Morris  <rgm@gnu.org>
53028         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
53029         Fix 6-week old merge error.
53031         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
53032         Ensure timestamps.
53034         * lisp/emacs-lisp/package.el (package-generate-autoloads):
53035         Disable timestamps.
53037 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53039         Allow binding `url-mime-accept-string'
53041         * lisp/url/url-http.el (url-http): Allow binding
53042         `url-mime-accept-string' (bug#22855).
53044 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53046         Add a NEWS entry for the colorful VC indicator
53048 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53050         Use colors in the VC mode lines
53052         * lisp/vc/vc-hooks.el: Make the mode line faces default to
53053         using colors to more clearly tell the user what the status is.
53055 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53057         Support <bdo> and <bdi>
53059         * lisp/net/shr.el (shr-tag-bdo): New function.
53060         (shr-tag-bdi): Ditto.
53062 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53064         Respect <html dir=auto>
53066         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
53067         directional HTML setting.
53069 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53071         Default bidi paragraph direction to nil
53073         * lisp/net/eww.el (eww-display-html): Default bidi rendering
53074         to nil, so that possibly more Arabic web pages render
53075         correctly (bug#22786).
53076         (eww-setup-buffer): Ditto.
53078 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
53080         Preserve current column, going up/down in thumbnail view.
53082 2016-02-29  Alan Mackenzie  <acm@muc.de>
53084         Handle "noise" macros and compiler directives.
53086         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
53088         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
53089         (c-noise-macro-with-parens-names): New customizable variables.
53090         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
53091         (c-make-noise-macro-regexps): New function.
53093         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
53094         members of c-noise-macro-names as whitespace.
53095         (c-forward-noise-clause): New function.
53096         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
53097         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
53098         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
53099         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
53101         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
53102         in parallel with "prefix-spec keywords".
53104         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
53105         c-make-noise-macro-regexps to initialize the internal variables.
53107         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
53108         facilities.
53110 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
53112         Stop calling res_init
53114         Emacs shouldn’t need to call res_init any more, now that nscd or
53115         equivalent is everywhere.  On modern systems, calling res_init
53116         simply slows Emacs down.  On ancient systems lacking nscd Emacs
53117         will still work well enough with this change; it’s just that it
53118         won’t respond to changes in /etc/resolv.conf.
53119         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
53120         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
53121         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
53122         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
53124 2016-02-29  Glenn Morris  <rgm@gnu.org>
53126         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
53128         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
53130 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
53132         * src/process.c (Fdelete_process): Simplify cast.
53134 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
53136         Use the correct background color when filling nested <divs>
53138         * lisp/net/shr.el (shr-face-background): Return the first
53139         background, because that's the one that's visible (bug#22680).
53141 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53143         Make <div> in <li> not insert extra newlines
53145         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
53146         extra newlines (bug#19587).
53148 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53150         Allow reading Gnus reports from an offline cache
53152         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
53153         Allow reading bug reports from an offline cache directory.
53155 2016-02-28  Tino Calancha  <f92capac@gmail.com>
53157         Meta + shift + Fn combos are recognized by xterm>=216.
53159         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
53160         Fn combos are recognized by xterm>=216 (bug#22837).
53162 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
53164         Declare $ as an expression prefix in SCSS
53166         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
53167         expression prefix (bug#22841).
53169 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53171         Revert "Declare $ as an expression prefix in SCSS"
53173         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
53175         Revering to fix author name.
53177 2016-02-28  Simen  <simenheg@gmail.com>
53179         Declare $ as an expression prefix in SCSS
53181         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
53182         expression prefix (bug#22841).
53184 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
53186         Save buffers before running grep commands
53188         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
53189         (grep, lgrep, rgrep): Use it (bug#96).
53191         * doc/emacs/building.texi (Grep Searching): Document
53192         `grep-save-buffers'.
53194         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
53195         `grep-ask-about-save'.
53196         (grep--save-buffers): New function.
53197         (grep, lgrep, rgrep): Use it.
53199 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53201         Allow sorting flyspell corrections
53203         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
53204         (flyspell-sort-corrections-functionx): New variable.
53205         (flyspell-sort-corrections-alphabetically): New function.
53206         (flyspell-notify-misspell): Use them.
53207         (flyspell-auto-correct-word): Ditto.
53208         (flyspell-emacs-popup): Ditto.
53209         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
53211 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53213         Wait for async DNS to complete before freeing resources
53215         * src/process.c (Fdelete_process): Wait for async DNS to
53216         complete before freeing the data structures it needs.
53218 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
53220         * lisp/faces.el: Remove duplicated functions from previous patch.
53222 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
53224         Fix TLS connections on MS-Windows
53226         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
53227         this is a non-blocking socket whose connection is in progress, set
53228         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
53229         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
53230         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
53232 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
53234         Add a NEWS entry for the read-color change
53236 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
53238         Show the face colors when completing in `read-color'
53240         * lisp/faces.el (defined-colors-with-face-attributes): New function.
53241         (readable-foreground-color, defined-colors-with-face-attributes)
53242         (readable-foreground-color): Ditto.
53243         (read-color): Use them (bug#5305).
53245 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
53247         Clean up the code in parse-time-string-chars
53249         * lisp/calendar/parse-time.el (parse-time-string-chars):
53250         Clean up the code a bit.
53252 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
53254         Add some tests for parse-time.el
53256         * test/lisp/calendar/parse-time-tests.el: New file.
53258 2016-02-27  Dima Kogan  <dima@secretsauce.net>
53260         Strip out some leading whitespace when looking at logs
53262         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
53263         at expanded git logs with `vc-print-root-log' (C-x v L, then
53264         <enter> by default), Emacs was stripping out all leading
53265         whitespace from git logs.  I now strip exactly 2 leading
53266         spaces, which retains the indentation in the logs (bug#18110).
53268 2016-02-27  Dima Kogan  <dima@secretsauce.net>
53270         Use a separate history variable for align-regexp
53272         * lisp/align.el (align-regexp-history): New variable (bug#16891).
53273         (align-regexp): Use it.
53275 2016-02-27  Phil Sung  <philbert@gmail.com>
53277         Create subdirectories automatically in wdired
53279         * lisp/wdired.el (wdired-create-parent-directories): New
53280         variable (bug#6817).
53281         (wdired-create-parentdirs): New function.
53282         (wdired-do-renames): Use it.
53283         * doc/emacs/dired.texi (Wdired): Mention
53284         `wdired-create-parent-directories'
53286 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
53288         Return the correct error values from gnutls.c
53290         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
53291         expected by process.c.
53292         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
53293         possible race condition with the process.c socket polling
53294         functions.
53296 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
53298         Don't make assumptions about mkdir.  (Bug#22822)
53300         * test/Makefile.in (MKDIR_P): New, set by configure.
53301         (%.log): Use MKDIR_P.
53303 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
53305         Support switching to hexl-mode from image-mode
53307         * lisp/image-mode.el (image-toggle-hex-display)
53308         (image-mode-to-text): New functions.
53309         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
53310         image-toggle-hex-display.
53311         (image-mode-map): New menu item "Show as Hex".
53312         (image-mode): Update doc string and echo-area message.
53313         (image-toggle-display): Support toggle to hex.  (Bug#22453)
53315         * doc/emacs/files.texi (File Conveniences): Document
53316         'image-toggle-hex-display'.
53318 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
53320         Remove unused code in coding.c
53322         * src/coding.c (decode_eol): Remove unused code that handled the
53323         case of coding->dst_object being nil.  Replace it with an
53324         assertion.
53326 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
53328         * src/syntax.c: Fix result of syntax_multibyte()
53330         The ?: operator has a lower precedence than ||.
53331         Bug introduced by commit 45b683a.
53333 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53335         --enable-gcc-warnings now uses -Wjump-misses-init
53337         When configuring with --enable-gcc-warnings, also enable
53338         -Wjump-misses-init, as it’s confusing to use a goto to skip over
53339         an initialization.  Fix the few places in the code that run afoul
53340         of this warning.
53341         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
53342         * src/doc.c (Fsubstitute_command_keys):
53343         * src/image.c (svg_load_image):
53344         * src/regex.c (re_match_2_internal):
53345         * src/xdisp.c (redisplay_internal, redisplay_window):
53346         Don’t jump over initialization.
53348 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
53350         Improve the register-hotkey functionality on MS-Windows
53352         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
53353         keyboard hook functionality.
53354         Include w32inevt.h, basetyps.h and unknwn.h.
53355         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
53356         (kbdhook): A new struct definition.
53357         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
53358         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
53359         (modifier_set): Call check_w32_winkey_state if a Win key was
53360         pressed and the keyboard hook is active.
53361         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
53362         hook is active.  Only register/unregister the hotkeys if the
53363         keyboard hook is not active.  When WM_CREATE is received, call
53364         setup_w32_kbdhook.  When WM_DESTROY is received, call
53365         reset_w32_kbdhook_state.
53366         (lookup_vk_code): When the keyboard hook is active, map
53367         alphanumeric characters to themselves.
53368         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
53369         modified keys to VK_ANY if the keyboard hook is active.  Register
53370         Alt-x and Win-x combinations.
53371         (Fw32_shell_execute): Update doc string to reflect new
53372         functionality.  Bypass the code that posts the
53373         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
53374         (Fw32_unregister_hot_key): Bypass the code that posts the
53375         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
53376         (syms_of_w32fns) <w32-pass-lwindow-to-system>
53377         <w32-pass-rwindow-to-system, w32-phantom-key-code>
53378         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
53379         to reflect the new functionality.
53380         * src/w32console.c (initialize_w32_display): Install the low-level
53381         keyboard hook.
53382         * src/w32inevt.c (key_event): Handle Win-x combinations only if
53383         the keyboard hook is not active.  If the hook is active, use
53384         check_w32_winkey_state instead.
53385         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
53386         (check_w32_winkey_state): Add prototypes.
53387         (w32_kbdhook_active): New macro.
53389         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
53390         new functionality.
53392 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
53394         Add forward-sexp (and related) tests
53396         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
53397         forward-sexp and related functions (bug#22800).
53399 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
53401         Don't use (localized) week days in dates
53403         * lisp/gnus/gnus-icalendar.el
53404         (gnus-icalendar-event:org-timestamp): Don't use (localized)
53405         week days in the dates, because that messes up things later.
53407 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
53409         Update pcomplete/find
53411         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
53412         (bug#10487).
53414 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
53416         Make parse-time-string-chars more efficient
53418         * lisp/calendar/parse-time.el (parse-time-string-chars): The
53419         string has already been downcase, so don't care about case
53420         (bug#18522).
53422 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
53424         Remove killed buffers from the list of Gnus buffers
53426         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
53427         buffers from the list of Gnus buffers (bug#18522).
53429 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53431         Integer overflow cleanups for ports and socklen
53433         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
53434         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
53435         (connect_network_socket):
53436         Use ptrdiff_t, not int, for signed object sizes.
53437         This addresses only a theoretical problem, as in practice these
53438         object sizes are less than 2**31, but we might as well use the
53439         same style here as elsewhere in Emacs.
53440         (string_integer_p): Remove; all uses removed.
53441         (Fmake_network_process): Check that port number is in range.
53442         When converting an integer-string service, rely on strtol
53443         rather than rechecking the string by hand.
53444         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
53445         Adjust prototypes to match.
53447 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
53449         Add pcomplete support for find
53451         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
53452         for find (bug#10487).
53454 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
53456         Replace XXX acronyms with draft standard ones
53458         * lisp/international/characters.el (c1-acronyms): Replace XXX
53459         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
53460         (bug#13745).
53462 2016-02-24  Kevin Ryde  <user42@zip.com.au>
53464         Make checkdoc warn about variables described as "True"
53466         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
53467         Docstrings for variables "True...", and functions "Return
53468         true...", should usually be "non-nil" (bug#15506).
53470 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
53472         Add NEWS entry for "number string" change
53474 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
53476         Allow using "number strings" as services on non-GNU systems
53478         * src/process.c (string_integer_p): New function.
53479         (Fmake_network_process): Use it to allow connecting to
53480         services specified as "993" even when getaddrbyname isn't
53481         available.
53483 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
53485         Fix problem in tramp.texi
53487         * doc/misc/tramp.texi (File name completion): Do not use
53488         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
53489         during PDF creation.
53491 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53493         Make image commands available in image-mode
53495         * lisp/image-mode.el (image-mode-map): Inherit from
53496         `image-map' so that the usual image commands work.
53498 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53500         Move `o' to `O' in shr-map
53502         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
53503         from `o' to `O' to avoid collisions with `image-map'.
53505 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53507         Make setting the coding system non-blocking
53509         * src/process.c (Fset_process_filter_multibyte): Defer
53510         completing coding system setup in asynchronous processes.
53511         (Fset_process_coding_system): Ditto.
53513 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
53515         Mention `proced-toggle-auto-update' in the proced-mode doc string
53517         * lisp/proced.el (proced-mode): Mention
53518         `proced-toggle-auto-update' (bug#14341).
53520 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
53522         Add a fortune-message command
53524         * lisp/play/fortune.el (fortune-message): Add a command to
53525         display fortunes in the echo area (bug#14915).
53527 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
53529         Add hideshow bindings analogous to outline mode
53531         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
53532         analogous to outline mode bindings (bug#15324).
53534 2016-02-23  Bastien Guerry  <bzg@altern.org>
53536         Allow highlighting things like @math{2^{12}}
53538         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
53539         Allow highlighting things like @math{2^{12}} (bug#16390).
53541 2016-02-23  Per Bothner  <per@bothner.com>
53543         Make `C-{up,down,left,right}' work in term mode
53545         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
53546         to send the same escape sequence that xterm sends.  This makes
53547         backward-word and forward-word work in readline (bug#16746).
53549 2016-02-23  Dima Kogan  <dima@secretsauce.net>
53551         Allow ff-find-other-file (etc) to work with indirect clone buffers
53553         * lisp/find-file.el (ff-buffer-file-name): New function to
53554         allow the feature to work with indirect buffers, too
53555         (bug#16904).
53556         (ff-find-the-other-file): Use it.
53557         (ff-other-file-name): Ditto.
53558         (ff-get-file-name): Ditto.
53560 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53562         Fix error in add-change-log-entry when the entry has no newline
53564         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
53565         ChangeLog may end without a new line starting with blanks.
53567 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53569         Avoid using mm-util functoins in gravatar.el
53571         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
53572         mm-util functions.
53573         (gravatar-retrieve-synchronously): Ditto.
53575 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53577         Move low-level library files from the lisp/gnus directory
53579         The files moved from lisp/gnus are:
53581         auth-source.el -> /
53582         compface.el -> /image
53583         ecomplete.el -> /
53584         flow-fill.el -> /mail
53585         gravatar.el -> /image
53586         gssapi.el -> /net
53587         html2text.el -> /net
53588         ietf-drums.el -> /mail
53589         mail-parse.el -> /mail
53590         mail-prsvr.el -> /mail
53591         mailcap.el -> /net
53592         plstore.el -> /
53593         pop3.el -> /net
53594         qp.el -> /mail
53595         registry.el -> /
53596         rfc1843.el -> /international
53597         rfc2045.el -> /mail
53598         rfc2047.el -> /mail
53599         rfc2231.el -> /mail
53600         rtree.el -> /
53601         sieve-manage.el -> /net
53602         sieve-mode.el -> /net
53603         sieve.el -> /net
53604         starttls.el -> /net
53605         utf7.el -> /international
53606         yenc.el -> /mail
53608 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53610         Allow undoing changes while doing query-replace
53612         * doc/lispref/searching.texi (Search and Replace): Mention
53613         undo (bug#21684).
53615         * lisp/replace.el (query-replace-help): Document undo.
53616         (perform-replace): Implement undo while replacing text.
53618 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
53620         Highlight assignments in Makefiles more correctly
53622         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
53623         Highlight assignments preceded by a TAB character correctly
53624         (bug#20787).
53626 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
53628         Use memmove instead of memcpy on overlapping regions
53630         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
53631         use memmove instead of memcpy (bug#19213).
53633 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53635         Port to --enable-gcc-warnings sans getaddrinfo_a
53637         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
53638         to a local unused when getaddrinfo_a is missing.
53639         Resize portbuf to size needed.  Do cheap test first.
53640         Move local to block where it’s needed.
53642 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53644         Minor cleanups for async DNS etc.
53646         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
53647         Omit unnecessary parens.
53648         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
53649         (gnutls_verify_boot):
53650         Use bool for boolean.
53651         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
53652         * src/process.c (free_dns_request, Fmake_network_process):
53653         Allocate and free async request control block all in one go.
53654         (set_network_socket_coding_system, finish_after_tls_connection)
53655         (connect_network_socket):
53656         Now static.
53657         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
53658         (Fmake_network_process): Use list1 for brevity.
53659         (wait_for_socket_fds): 2nd arg is now const ptr.
53660         * src/process.h (struct Lisp_Process.dns_request):
53661         Now struct gaicb *, not struct gaicb **, since there was always
53662         exactly one.  All uses changed.
53663         * src/window.c, src/window.h (run_window_configuration_change_hook):
53664         Now static.
53666 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
53668         Allow more shell script defun forms
53670         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
53671         script defun forms, like function name () {...} (bug#19754).
53673 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
53675         Fix `window-configuration-change-hook' and `window-size-change-functions'
53677         (1) Run `window-configuration-change-hook' if and only if at least
53678         one window was deleted or created or shows another buffer since
53679         last redisplay.
53681         (2) Run `window-size-change-functions' if and only if at least
53682         one window changed its size since last redisplay (in a few cases
53683         `window-size-change-functions' will also run when no window
53684         changed its size).
53686         (3) Provide two functions `window-pixel-height-before-size-change'
53687         and `window-pixel-width-before-size-change' that allow to easily
53688         detect which window changed size.
53690         * src/frame.h (struct frame): New boolean member
53691         window_configuration_changed.
53692         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
53693         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
53694         * src/frame.c (adjust_frame_size): Don't run
53695         `window-configuration-change-hook'.
53696         * src/window.h (struct window): New fields
53697         pixel_width_before_size_change and pixel_height_before_size_change.
53698         (WINDOW_INTERNAL_P): New macro.
53699         * src/window.c (Fwindow_pixel_width_before_size_change)
53700         (Fwindow_pixel_height_before_size_change): New functions.
53701         (Fdelete_other_windows_internal, Fwindow_resize_apply)
53702         (resize_frame_windows, Fsplit_window_internal)
53703         (Fdelete_window_internal, grow_mini_window)
53704         (shrink_mini_window, Fresize_mini_window_internal): Don't call
53705         FRAME_WINDOW_SIZES_CHANGED.
53706         (window_size_changed, window_set_before_size_change_sizes)
53707         (run_window_size_change_functions): New functions.
53708         (make_window): Initialize pixel_width_before_size_change and
53709         pixel_height_before_size_change.
53710         (Fdelete_window_internal): Don't call
53711         run_window_configuration_change_hook.
53712         (struct saved_window): Add pixel_height_before_size_change and
53713         pixel_width_before_size_change.
53714         (Fset_window_configuration): Try to identify window configuration
53715         changes correctly so run_window_configuration_change_hook and
53716         run_window_size_change_functions run only if configuration and size
53717         really changed.
53718         (save_window_save): Set the pixel_height_before_size_change and
53719         pixel_width_before_size_change fields.
53720         (Vwindow_size_change_functions): Move here definition from xdisp.c.
53721         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
53722         run_window_size_change_functions.
53723         (Vwindow_size_change_functions): Move definition to window.c.
53724         * src/xfns.c (x_set_menu_bar_lines): Don't call
53725         run_window_configuration_change_hook.
53726         * doc/lispref/windows.texi (Window Sizes): Document new
53727         functions `window-pixel-height-before-size-change' and
53728         `window-pixel-width-before-size-change'.
53729         (Window Configurations): Mention that this may trigger
53730         execution of `window-size-change-functions' although no window
53731         changed size.
53732         (Window Hooks): Update descriptions of `window-size-change-functions'
53733         and `window-configuration-change-hook'.
53735 2016-02-23  Drew Adams  <drew.adams@oracle.com>
53737         (ls-lisp-insert-directory): Make -B work
53739         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
53740         (bug#20776).
53742 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53744         Fix typo in message-setup-fill-variables
53746         * lisp/gnus/message.el (message-setup-fill-variables): Fix
53747         typo in a recent checkin that used `setq-default' instead of
53748         `setq-local' (bug#22781).
53750 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53752         `message-dont-reply-to-names' can also be a list of regexps
53754         * lisp/gnus/message.el (message-dont-reply-to-names):
53755         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
53757 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
53759         Make buttons in header lines work
53761         * lisp/help-mode.el (help-button-action): `help-xref-button' in
53762         header line doesn't work (bug#21024).
53764 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
53766         Place apples randomly in Snake
53768         * lisp/play/snake.el (snake-score): New variable (bug#21359).
53769         (snake-set-dot): Place the apples randomly.
53771 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53773         Allow optional parameter to be nil
53775         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
53776         optional parameter to be nil (bug#21576).
53778 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53780         Completely ignore buffers with no name when copying file names
53782         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
53783         ignore buffers with no file name. (bug#21577).
53785 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53787         Make spelling of "Eshell" consistent
53789         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
53790         * lisp/eshell/eshell.el (eshell-command):
53791         Spell it "Eshell" (bug#21678).
53793 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
53795         Allow pretty lambdas in Scheme mode
53797         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
53798         `prettify-symbols-alist' from Lisp mode (bug#21679).
53800 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53802         Rename lisp--prettify-symbols-alist
53804         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
53805         Rename from `lisp--prettify-symbols-alist' since we're going
53806         to use it in Scheme mode, too.
53807         (lisp-mode-variables): Use it.
53809 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
53811         Remove spurious newline in package list
53813         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53814         spurious newline (bug#21706).
53816 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53818         Revert "Remove spurious newline in package list"
53820         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
53822 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
53824         Remove spurious newline in package list
53826         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53827         spurious newline (bug#21706).
53829 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53831         Keep the position in the process buffer when deleting processes
53833         * lisp/simple.el (process-menu-delete-process): Keep the
53834         position in the buffer after killing a process (bug#21759).
53836 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53838         Require that the buffer that we're trying to patch exist
53840         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53841         buffer that we're trying to patch exist (bug#21852).
53843 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53845         Require that the buffer that we're trying to patch exist
53847         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53848         buffer that we're trying to patch exist (bug#21852).
53850 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53852         Be more verbose when changing frame mode in ediff
53854         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
53855         mode we toggled to (bug#21853).
53857 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
53859         Encode header strings before printing
53861         * lisp/ps-print.el (ps-generate-header-line): Encode the
53862         header strings to avoid problems with non-ASCII headers
53863         (bug#22611).
53865 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53867         Test message-strip-subject-trailing-was
53869         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
53870         New test (bug#22632).
53872 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53874         Make use of the `ert-with-function-mocked' macro
53876         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
53877         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
53878         `ert-with-function-mocked' instead of implementing the fragile
53879         `unwind-protect' logic openly.
53881 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53883         message-strip-subject-trailing-was: Refactor
53885         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
53886         the function replacing sequence of `if' calls with a mixture of `or'
53887         and `and' calls instead.  This makes it shorter and containing less
53888         internal state thus easier to follow.
53890 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53892         ert-with-function-mocked: New macro
53894         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
53895         allows evaluating code while particular function is replaced with
53896         a mock.  The original definition of said function is restored once the
53897         macro finishes.
53899 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53901         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
53903         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
53904         interface functions.
53906         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
53907         gnus-rfc1843.
53909 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53911         Don't use mm-util functions in qp.el
53913         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
53914         mm-util functions.
53915         (quoted-printable-encode-string): Ditto.
53916         (quoted-printable-encode-region): Ditto.
53918 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53920         Don't require mm-util
53922         * lisp/mail/ietf-drums.el (mm-util): Don't require.
53924 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53926         Remove Gnus functions from auth-source.el
53928         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
53929         Remove usage of Gnus utility function.
53930         (mm-util, gnus-util): Don't require.
53932 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53934         Allow deleting all non-matching cookies
53936         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
53937         keeping matching cookies (bug#22720).
53939 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53941         Make (setf (image-property ...)) return VALUE
53943         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
53945 2016-02-22  John Wiegley  <johnw@newartisans.com>
53947         Merge from origin/emacs-25
53949         a9c48d5 Additional fixes for file notification
53950         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
53951         8c22ac9 ; Spelling fix
53952         2975784 Set file modes of pinentry socket for extra safety
53953         2667b3e Clarify GnuPG version compatibility chapter
53954         5e34c36 Revert "Change the default socket location for pinentry"
53955         e19c1c3 Kill off xref--display-history
53956         5698947 Keep the xref buffer visible until the user quits it explicitly
53957         e34fbde Change the default socket location for pinentry
53958         5f89658 Mention how to enable pinentry feature
53959         db51224 Sync with gnulib
53960         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
53961         2d8b2fd Restore point when writing semantic table to disk
53962         27d3430 Mention pinentry.el in epa manual
53963         5baa001 Fix Bug#22736
53964         7261355 Grammar fix in doc string
53965         d0f3b18 Naming fix for consistency
53966         74ec92d Prefer customized value for GnuPG executable
53967         ea0b604 Fix memory reservation on MS-Windows
53968         c5f72aa Update NextStep readme and add wish list.
53969         6de26a7 Report also result in `file-notify--test-event-handler'
53970         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
53971         1cb1268 Fix todo-mode item date editing bugs
53972         1e996cf Fix "[:upper:]" for non-ASCII characters
53973         896f993 Allow customizing the article mode cursor behavior
53974         24c1c1d Use pop-to-buffer-same-window in woman.el
53975         2a75f64 New filenotify test for bug#22736
53976         c9bccf7 Report critical battery errors
53977         d675db9 Make eww message toggling message clearer
53978         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
53979         fa8fd65 ; Improve character-folding entries in NEWS
53980         3722a69 Fix bugs in window resizing code
53981         289d5c6 Fix decoding DOS EOL in a unibyte buffer
53982         2abcb06 Correct c-parse-state cache manipulation error.
53983         14aec91 Take advantage of new GnuPG version check function
53984         e80c2a7 Make GnuPG version check robuster
53985         15a9464 Fix x-load-color-file pointer signedness
53986         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
53987         78ab6f1 Follow convention for greek letter constants.
53988         106b5bb Add Stefan-Boltzmann constant to calc units table.
53989         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
53990         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
53991         2d40f7d Fix soffice UserInstallation-URL for Windows
53992         b1a3ebe Fix display of <pre> elements
53993         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
53994         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
53996 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
53998         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
54000         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
54001           non-existing buffer.
54003 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54005         Mention the further asynchronousity
54007 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54009         Fix async TLS boot problem
54011         * src/process.c (wait_reading_process_output): Verify the boot
54012         of the correct process.
54014 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54016         Clean up forgotten text in manual
54018         * doc/lispref/display.texi (Defining Images): Remove example
54019         forgotten when making previous change.
54021 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54023         Clean up debugging code
54025         * src/process.c (Fmake_network_process): Remove debugging printf.
54026         (wait_for_socket_fds, wait_while_connecting)
54027         (wait_for_tls_negotiation): Remove newlines from messages.
54029 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54031         Fix merge conflicts in network-stream-tests.el
54033 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
54035         Port recent filevercmp addition to MS-Windows
54037         Reported by Andy Moreton in:
54038         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
54039         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
54040         (EXTRA_DIST): Add filevercmp.h.
54042 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54044         add_to_log expects Lisp parameters
54046 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54048         Mention sentinels in conjunction with :nowait t.
54050         * doc/lispref/processes.texi (Network Processes): Mention the
54051         recommended way of using sentinels with :nowait t.
54053 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54055         Mention in the doc strings that process functions may block
54057         (Fprocess_contact, Fprocess_datagram_address)
54058         (Fset_process_datagram_address, Fset_network_process_option)
54059         (Fprocess_send_region, Fprocess_send_string): Mention that the
54060         functions may block.
54061         (Fset_process_coding_system): Ditto.
54063 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54065         Add blocker warnings to the *Messages* buffer
54067         * src/process.c (wait_for_socket_fds): Add warning to the log.
54068         (wait_while_connecting): Ditto.
54069         (wait_for_tls_negotiation): Ditto.
54071 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
54073         Rework the image property getter/setters
54075         * doc/lispref/display.texi (Defining Images): Document the
54076         renamed `image-get/set-property' functions.
54078         * lisp/image.el (image--set-property): Rename from
54079         image-set-property.
54080         (image-property): Declare a setf form.
54081         (image-property): Rename from `image-get-property'.
54083 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
54085         Use Gnulib filevercmp for version comparison
54087         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
54088         * doc/lispref/strings.texi (Text Comparison):
54089         * etc/NEWS, src/fns.c:
54090         * test/src/fns-tests.el (fns-tests-string-version-lessp):
54091         Rename newly-introduced function to string-version-lessp, by
54092         analogy with strverscmp.
54093         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
54094         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
54095         * src/fns.c: Include <filevercmp.h>.
54096         (gather_number_from_string): Remove.
54097         (Fstring_version_lessp): Reimplement via filevercmp.
54099 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
54101         Add a function to delete URL cookies
54103         * doc/misc/url.texi (Cookies): Document
54104         url-cookie-delete-cookies.
54106         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
54108 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
54110         Avoid integer overflows in string-numeric-lessp
54112         * src/fns.c (Fstring_numeric_lessp): If we have an integer
54113         overflow, compare lexicographically.
54115 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
54117         Add the string-numeric-lessp function
54119         * doc/lispref/strings.texi (Text Comparison): Document
54120         `string-numerical-lessp'.
54122         * src/fns.c (Fstring_numeric_lessp): New function.
54123         (gather_number_from_string): Helper function for that function.
54125         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
54127 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
54129         Clarify levels of :nowait t.
54131         * doc/lispref/processes.texi (Network Processes): Mention
54132         levels of asynchronicity.
54134 2016-02-20  Alain Schneble  <a.s@realize.ch>
54136         Respect DNS timeouts
54138         * src/process.c (check_for_dns): If the async DNS request
54139         failed and the associated process is still in "connect" state,
54140         deactivate the process and set status to "failed".
54142 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
54144         Add a frame around the placeholder image in shr
54146         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
54147         around the image.
54149 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
54151         Use placeholder images in shr to avoid text moving around
54153         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
54154         from the HTML.
54155         (shr-tag-img): Ditto.
54156         (shr-string-number): New function.
54157         (shr-make-placeholder-image): Make placeholder images.
54158         (shr-tag-img): Insert them if we have SVG support.
54160 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
54162         Get explicit width/height + scale computations right
54164         * src/image.c (compute_image_size): :scale should also be
54165         taken into account when :width and :height are explicitly names.
54167 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
54169         New functions for getting and setting image properties
54171         * doc/lispref/display.texi (Defining Images): Document
54172         image-get/set-property.
54174         * lisp/image.el (image-set-property): New function.
54175         (image-get-property): Ditto.
54177 2016-02-19  Alan Mackenzie  <acm@muc.de>
54179         Await the final mouse event in C-h c and C-h k.
54181         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
54182         event, keep reading further events until a timeout occurs, to ensure we have
54183         the complete mouse event from the user.
54185 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
54187         Add a library for creating and manipulating SVG images
54189         * doc/lispref/display.texi (SVG Images): New section.
54191         * lisp/svg.el: New file.
54193 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
54195         Fix up tests for async TLS negotiation
54197 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
54199         Fix coding system setup
54201         * src/process.c (set_network_socket_coding_system): Pass in
54202         the host/service that's been computed already.
54204 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
54206         Reference `tramp-theme' in GNU ELPA.
54208         * doc/misc/tramp.texi (Frequently Asked Questions):
54209         Reference `tramp-theme' in GNU ELPA.
54211 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
54213         Verify the TLS connection asynchronously
54215         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
54216         function so that we can call it asynchronously.
54217         (Fgnutls_boot): Use it.
54219         * src/process.c (wait_reading_process_output): Verify the TLS
54220         negotiation.
54222 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
54224         Add column layout module to CSS property list
54226         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
54227         CSS Multi-column Layout Module.
54229 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
54231         Minor cleanup in CONTRIBUTE and test/README
54233         * CONTRIBUTE: Remove detailed explanation about testing; this
54234         is now in test/README.
54236         * test/README: Don't mention automated/ subdirectory.
54238 2016-02-15  Glenn Morris  <rgm@gnu.org>
54240         Provide 'term/name in lisp/term files.
54242         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
54243         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
54244         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
54245         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
54246         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
54247         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
54248         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
54249         For consistency, provide 'term/name in all files that don't already.
54251 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54253         Deactivate the correct process
54255         * src/process.c (wait_reading_process_output): Deactivate the
54256         correct process on failure.
54258 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54260         Implement asynch TLS negotiation
54262         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
54263         function.
54264         (emacs_gnutls_handshake): Use it.
54265         (emacs_gnutls_read): Just return instead of retrying the handshake.
54267         * src/process.c (finish_after_tls_connection): Factor out
54268         into its own function.
54269         (connect_network_socket): Use it.
54270         (wait_reading_process_output): Retry TLS handshakes.
54271         (wait_reading_process_output): Defer sentinel until TLS completes.
54273 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54275         Simplify the DNS resolution loop a bit
54277         * src/process.c (wait_reading_process_output): Simplify the
54278         DNS resolution loop a bit.
54280 2016-02-15  Alain Schneble  <a.s@realize.ch>
54282         Loop over the process list instead of maintaining a separate list
54284         * src/process.c: Remove declaration/definition of dns_processes list.
54285         * src/process.c (wait_reading_process_output): Loop over all processes in
54286         Vprocess_alist instead of dns_processes, to check for completed DNS
54287         requests.
54289 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54291         Allow setting the filter masks later
54293         * src/process.c (Fset_process_filter): Don't set the socket
54294         masks here, because we may not have a socket yet.
54295         (set_process_filter_masks): New function.
54296         (connect_network_socket): Set the filter masks here.
54298 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54300         Remove debugging
54302 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54304         Ensure we always free DNS resources when deleting a process
54306         * src/process.c (free_dns_request): Factor out into own function.
54307         (Fdelete_process): When deleting a process, free any DNS
54308         structures associated with it.
54309         (check_for_dns): Always free all DNS resources.
54311 2016-02-15  Alain Schneble  <a.s@realize.ch>
54313         Don't block in set-process-window-size
54315         * src/process.c (set-process-window-size): Explicitly return Qnil when
54316         called with network processes as set_window_size won't work anyway on
54317         socket fds.  As a welcome side effect, this makes the blocking
54318         wait_for_socket_fds call obsolete.
54320 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54322         Do most of the coding system setup earlier
54324         * src/process.c (Fmake_network_process): Set the read/write
54325         coding systems here, so that special bindings work.
54326         (Fmake_network_process): Complete the coding system setup here.
54328 2016-02-15  John Wiegley  <johnw@newartisans.com>
54330         Merge from origin/emacs-25
54332         d4b93e1 Minor fixes in global-auto-composition-mode
54333         02b037b Allow arithmetic operators inside C++ template constructs.
54334         44b16f6 Avoid crashes in semi-malformed 'condition-case'
54335         652e5b4 Allow arithmetic operators inside C++ template constructs.
54336         d9ea795 Fix regression with 'recent-keys' and keyboard macros
54337         903603f Fix wording in a doc-view.el comment
54338         cf79616 ; Spelling fixes
54339         f8bf1b3 CONTRIBUTE cleanups and updates
54340         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
54341         1834ac7 Port to x86 GCC 4.3.1 and earlier
54342         8482949 Fix point movement under 'scroll-conservatively'
54343         c1313b5 Replace colon in file name (not legal on Windows)
54344         f7af26c Fix a typo in edt.texi
54345         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
54346         856cd94 Grep alias `all' shall not match parent directory
54348 2016-02-15  John Wiegley  <johnw@newartisans.com>
54350         Merge from origin/emacs-25
54352         dacde7e * etc/AUTHORS: Update the AUTHORS file
54353         478ca5d ; fix changelog entries
54354         2b7d006 ; make change-history-commit
54355         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
54356         47896c8 ; Improve commentary in insdel.c
54357         53ca1e1 Index tilde characters in names of backup files
54358         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
54359         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
54360         28bb214 Announce that the `C-x w' bindings are deprecated
54361         1c98f98 Suppress GNUstep hardening
54362         d82f24b Fix redisplay after a large insertion
54363         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
54364                 closed server"
54365         e8e3db0 ; Improve merge documentation in CONTRIBUTE
54366         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
54367         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
54368                 limitations.
54370 2016-02-15  John Wiegley  <johnw@newartisans.com>
54372         Merge from origin/emacs-25
54374         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
54375         afe7d1f Revert "Document EXIF image rotation"
54376         c6f377c Document OS X LANG default
54377         eb4a18c Set locale when run from OS X GUI
54378         456c0a3 make-docfile cleanup for I/O, etc.
54379         25ec995 Memory-management cleanup in make-docfile
54380         02d925e Kevin Gallagher has new email address
54381         4ef153b Improve doc strings of 'forward/backward-word-strictly'
54382         3ad05a0 Describe Makefile test targets in test/README
54384 2016-02-15  John Wiegley  <johnw@newartisans.com>
54386         Merge from origin/emacs-25
54388         10b8ed2 Document EXIF image rotation
54389         0f60049 Support integer image rotation and respect EXIF rotations
54390         7dd45b6 Quote table names for postgres listings (sql-mode)
54391         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
54392                 `backward' optional.
54393         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
54394                 temporary-goal-column.
54395         0a289d3 Suppress ACL ops if configured with --disable-acl
54396         1a9dbf5 Mention web bugs
54397         fa55da2 Make mm-html-blocked-images default to "" again
54399 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
54401         Protect against initial handshake failures
54403         * src/process.c (connect_network_socket): Mark the connection
54404         as failed if the handshake didn't succeed yet.  This should be
54405         reworked later.
54407 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
54409         Call the network security manager after doing TLS negotiation
54411         * lisp/net/network-stream.el (network-stream-open-tls):
54412         Postpone NSM verification when running async.
54414         * src/process.c (Fset_process_filter): This function doesn't
54415         need to wait.
54416         (connect_network_socket): Set the process status to "run" only
54417         after TLS negotiation.
54418         (wait_for_socket_fds): Take a name parameter for more debugging.
54419         (wait_reading_process_output): Don't change status to "run"
54420         unless TLS negotiation has finished.
54421         (send_process): Wait for the process here instead of
54422         send_process_string.
54423         (connect_network_socket): Call the network security manager.
54425 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
54427         Remove some #ifdefs and update documentation
54429         * doc/lispref/processes.texi (Network Processes): Remove
54430         mention of `dns'.
54432         * lisp/net/network-stream.el (open-network-stream): Remove
54433         mention of `dns'.
54435         * src/process.c (Fset_process_filter)
54436         (Fset_process_window_size, Fprocess_contact)
54437         (Fprocess_datagram_address, Fset_process_datagram_address)
54438         (Fset_network_process_option, Fprocess_send_region)
54439         (Fprocess_send_string, Fset_process_coding_system)
54440         (Fset_process_filter_multibyte): Remove the #ifdef
54441         HAVE_GETADDRINFO_A checks.
54442         (Fprocess_send_string): Wait for TLS negotiation.
54443         (wait_for_tls_negotiation): New function.
54444         (send_process): Remove the TLS boot check.
54446         * src/process.c (Fmake_network_process): Ditto.
54448 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
54450         Use :nowait t in url-gw
54452         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
54453         since we're not differentiating.
54455 2016-02-14  Alain Schneble  <a.s@realize.ch>
54457         Add blockers to process functions
54459         * src/process.c (set-process-filter, set-process-window-size,
54460         process-contact, process-datagram-address, set-process-datagram-address,
54461         set-network-process-option): Make functions wait (block) on network
54462         process until pending DNS requests have been processed and associated
54463         socket initialized.
54465         * src/process.c (process-send-region, process-send-string,
54466         process-send-eof): Make functions wait (block) while network process is
54467         in connect state.
54469 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
54471         Add fragmentation module to CSS property list
54473         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
54474         CSS Fragmentation Module Level 3.
54476 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
54478         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
54480 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
54482         New function seq-map-indexed
54484         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
54485         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
54487 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54489         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
54491 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54493         Fix problem with wrong encoding of non-ASCII message bodies
54495         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
54496         multibyteness before encoding the data.
54498 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54500         Remove codepage setup code from mm-util
54502         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
54503         (mm-codepage-iso-8859-list): Remove.
54504         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
54505         (mm-setup-codepage-ibm): Remove.
54506         (mm-charset-eval-alist): Remove the code pages from the
54507         default value.
54509 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54511         Remove compat code for older Emacsen
54513         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
54514         XEmacs compat code.
54516         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
54517         unused compat function.
54518         (gnus-sync-json-plist-p): Ditto.
54520         * lisp/gnus/message.el (message-default-charset): Make obsolete.
54521         (message-info): Remove compat code.
54522         (message-setup-fill-variables): Remove kludge needed earlier
54523         to not overwrite `normal-auto-fill-function'.
54524         (message-split-line): Remove compat code.
54526         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
54527         compat code.
54529 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54531         Remove some compat functions from gmm-utils.el
54533         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
54534         compat code.
54535         (gmm-image-search-load-path): Remove.
54536         (gmm-image-load-path-for-library): Remove.
54538 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54540         Remove the gmm-lazy and nnmail-lazy compat widgets
54542         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
54544         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
54546 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54548         Clean up nnimap-request-move-article slightly
54550         * lisp/gnus/nnheader.el (subr-x): Require.
54552         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
54553         the code slightly.
54555 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54557         Use open-network-stream instead of open-protocol-stream
54559         * lisp/gnus/nnimap.el: Use open-network-stream instead of
54560         open-protocol-stream.
54562         * lisp/gnus/nntp.el: Ditto.
54564         * lisp/gnus/pop3.el: Ditto.
54566         * lisp/net/sieve-manage.el: Ditto.
54568         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
54570 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54572         Remove compat code that relies on (featurep 'mule)
54574         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
54575         compat code.
54577         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
54578         Remove compat code.
54580         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
54581         Remove compat code.
54583         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
54584         Remove compat code.
54585         (mm-w3m-standalone-supports-m17n-p): Ditto.
54587 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54589         Remove compat functions from starttls.el
54591         * lisp/net/starttls.el
54592         (starttls-set-process-query-on-exit-flag): Remove.
54594 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54596         Remove compat functions from smime.el
54598         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
54599         (smime-make-temp-file): Remove.
54601 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54603         Remove compat code from smiley
54605         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
54607 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54609         Remove compat code from rfc2047
54611         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
54612         compat code.
54613         (rfc2047-decode-string): Ditto.
54615 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54617         Remove compat function from pop3
54619         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
54621 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54623         Remove compat code in Gnus backends
54625         * lisp/gnus/nndiary.el (nndiary-error): Remove.
54627         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
54629         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
54631         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
54633         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
54635 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54637         Remove compat code from some mml files
54639         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
54640         Remove compat code.
54642         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
54643         Always use `mail-extract-address-components', since this isn't
54644         time critical.
54645         (mml-smime-get-dns-cert): Ditto.
54647         * lisp/gnus/mml.el (mml-preview): Remove compat code.
54649 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54651         Remove compat code and compat functions from mm-util.el
54653         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
54654         compat code.
54655         (mm-coding-system-priorities)
54656         (mm-mule-charset-to-mime-charset, mm-charset-after)
54657         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
54658         (mm-detect-coding-region): Define unconditionally.
54659         (mm-detect-mime-charset-region): Ditto.
54660         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
54661         (coding-system-name)
54662         (find-file-coding-system-for-read-from-filename)
54663         (find-operation-coding-system): Remove aliases.
54665 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54667         Remove some compat code from mm-*.el
54669         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
54671         * lisp/gnus/mm-decode.el (mm-tmp-directory)
54672         (mm-valid-image-format-p): Remove compat code.
54674         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
54675         "Connection" "Close" workaround for older Emacsen.
54677 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54679         Remove compat code and functions from message.el
54681         * lisp/gnus/message.el (message-send-mail-function): Remove
54682         compat code.
54683         (message-dont-reply-to-names, message-mode)
54684         (message-setup-fill-variables, message-fill-paragraph)
54685         (message-remove-blank-cited-lines, message-make-from)
54686         (message-forward-rmail-make-body, message-tool-bar-gnome)
54687         (message-tab): Remove compat code.
54688         (message-completion-in-region): Remove.
54689         (message-read-from-minibuffer): Remove compat code.
54691 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54693         Declare rfc1843 instead of autoloading
54695         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
54696         instead of autoload.
54698 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54700         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
54702         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
54703         autoloaded correctly.  (Bug#22613)
54705 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54707         Fix network-stream-tests.el for MS-Windows
54709         * test/lisp/net/network-stream-tests.el
54710         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
54711         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
54713 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54715         Remove some Message compat functions
54717         * lisp/gnus/message.el (message-kill-all-overlays): Define
54718         unconditionally.
54719         (message-window-inside-pixel-edges): Remove.
54720         (mail-dont-reply-to): Remove.
54722 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54724         Remove some Gnus compat code
54726         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
54727         (gnus-mm-display-part): Ditto.
54729         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
54730         compat code.
54732 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54734         Sort groups before inserting them into the group buffer
54736         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
54737         Sort groups before inserting them.
54739 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54741         Make "unseen" tracking work again in Gnus
54743         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
54744         tracking work again.
54746 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54748         Remove Gnus compat functions defined in gnus.el
54750         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
54751         (gnus-extent-start-open, gnus-character-to-event)
54752         (gnus-assq-delete-all, gnus-add-text-properties)
54753         (gnus-put-text-property, gnus-key-press-event-p):
54755 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54757         Remove compat code from gnus-uu and win
54759         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
54760         compat code.
54762         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
54764         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
54766 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54768         Remove several gnus-util compat functions
54770         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
54771         (gnus-read-shell-command): Remove.
54772         (gnus-match-substitute-replacement): Remove.
54773         (gnus-string-match-p): Remove.
54774         (gnus-string-prefix-p): Remove.
54776 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54778         Remove the gnus-merge alias
54780         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
54782 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54784         Remove the gnus-union alias
54786         * lisp/gnus/gnus-util.el (gnus-union): Remove.
54788 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54790         Remove the gnus-delete-alist alias
54792         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
54793         (gnus-delete-alist): Remove.
54795 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54797         Remove the gnus-float-time alias
54799         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
54800         compat code.
54801         (gnus-float-time): Remove.
54803 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54805         Remove compat code from gnus-srvr, start and sum
54807         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
54808         compat code.
54810         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
54811         Remove compat code.
54813         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
54814         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
54815         (gnus-recenter)
54816         (gnus-summary-limit-strange-charsets-predicate)
54817         (gnus-summary-show-thread): Remove compat code.
54819 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54821         Remove compat code from gnus-spec.el
54823         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
54824         (gnus-balloon-face-function): Remove compat code.
54826 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54828         Fix compat change in last check-in
54830         * lisp/gnus/gnus-group.el
54831         (gnus-group-name-charset-group-alist): `find-coding-system'
54832         doesn't exist in Emacs.
54834 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54836         Always use url-queue
54838         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
54839         Always use url-queue.
54841 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54843         Remove compat functions from gnus-html.el
54845         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
54847 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54849         Remove compat code from gnus-group.el
54851         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
54852         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
54854 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54856         Define gnus-diary-kill-entire-line unconditionally
54858         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
54859         Define unconditionally.
54861 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54863         Remove compat code from gnus-cache and gnus-bookmark
54865         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
54867         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
54868         Remove compat code.
54870 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54872         Remove compat code from gnus-art.el
54874         * lisp/gnus/gnus-art.el (gnus-article-prepare)
54875         (gnus-mime-copy-part, gnus-output-to-file)
54876         (gnus-article-reply-with-original)
54877         (gnus-button-handle-apropos-variable)
54878         (gnus-button-handle-apropos-documentation):
54880 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54882         Remove compat code from gnus-agent.el
54884         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
54885         Remove compat code.
54887 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54889         Rewrite gmm-labels usage to use cl-labels
54891         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
54892         (gmm-labels): Remove.
54894 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54896         Remove compat code from canlock.el
54898         * lisp/gnus/canlock.el (defmacro): Remove
54900 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54902         Remove compat code from auth-source
54904         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
54905         Remove compat code.
54907 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54909         Fix gnus-group.el compilation warnings about unprefixed variables
54911         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
54912         compilation warnings by passing in the dynamic variables as
54913         explicit lexical parameters to `eval'.
54915 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54917         Fix the :tracker slot name
54919         * lisp/gnus/registry.el (registry-lookup-secondary): The
54920         `tracker' slot is called `tracker', not `:tracker'.
54922 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54924         Fix compilation warnings in gnus-art.el
54926         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
54927         (gnus-article-hide): Avoid compilation warnings.
54929 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54931         Fix compilation warning in gnus-score.el
54933         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
54934         compiler.
54936 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
54938         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
54940         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
54942         This makes nnimap groups not be activated.
54944 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54946         Fix encoding problem introduced by previous patch series
54948         * lisp/mail/rfc2047.el: Ditto (bug#22648).
54950         * lisp/mail/rfc2231.el: Fix problem created by the
54951         mm-replace-in-string conversion.
54953 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54955         Revert "Avoid defvarring prefix-less variables"
54957         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
54959         The defvars are needed if we're doing lexical-binding
54961 2016-02-12  Glenn Morris  <rgm@gnu.org>
54963         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
54964         Make it pass.
54966         * test/lisp/url/url-auth-tests.el
54967         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
54969 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54971         Finish up cl-defmethoding registry,el
54973         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
54975 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54977         Revert the gnus-replace-in-string change, fix arguments, reapply
54979 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54981         Silence more message.el compilation warnings
54983         * lisp/gnus/message.el (message-generate-headers): Don't use
54984         variable values directly to get the header values, because
54985         that breaks with lexical binding (without unprefixed defvars).
54987 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54989         Fix various compilation warnings in message.el
54991         * lisp/gnus/message.el (message-fix-before-sending): Use
54992         read-multiple-choice instead of gnus-multiple-choice.
54993         (mm-util): Require.
54994         (rfc2047): Require.
54995         (message-remove-blank-cited-lines): Use message instead of
54996         gnus-message.
54997         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
54999 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55001         Silence compilation warning in mm-view
55003         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
55004         compilation warning.
55006 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55008         Fix epg-related compilation warnings in mml-sec
55010         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
55011         library.
55013 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55015         rmail-dont-reply-to-names is obsolete
55017         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
55018         the obsolete `rmail-dont-reply-to-names' variable.
55020 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55022         Partially revert the defmethod->cl-defmethod change in registry.el
55024         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
55025         since cl-defmethod doesn't work with :after.
55026         (initialize-instance): Ditto, but with :before.
55028 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55030         Avoid obsolete function in plstore
55032         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
55033         instead of the obsolete epg-context-set-armor.
55035 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55037         Use cl-defmethod in registry.el
55039         * lisp/gnus/registry.el: Use cl-defmethod instead of the
55040         obsolete defmethod.
55042 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55044         Make sieve-manage require sasl
55046         * lisp/net/sieve-manage.el: Fix compilation warning by
55047         requiring sasl.
55049 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55051         Avoid defvarring prefix-less variable
55053         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
55055 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55057         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
55059 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55061         Don't use the obsolete char-valid-p function
55063         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
55064         obsolete char-valid-p function.
55066 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55068         Fix missed translation in a previous commit
55070         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
55071         translation of mailcap-delete-duplicates.
55073 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55075         Avoid using mm-make-temp-file
55077         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
55079         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
55081         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
55083 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55085         Fix compilation warning in gnus-start
55087         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
55088         mm-make-temp-file.
55090 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55092         Avoid the obsoleted defmethod
55094         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
55095         defmethod.
55097 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55099         Avoid defvarring prefix-less variables
55101         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
55102         don't need to `defvar' the short variables to allow `eval' to
55103         use them.
55105 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55107         nnweb doesn't need unibyte buffers
55109         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
55110         (nnweb-read-overview, nnweb-request-article)
55111         (nnweb-google-reference): Unibyte buffers are not needed here.
55113 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55115         Encode before sending from nnspool
55117         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
55118         before sending it to the news server.
55120 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55122         nnrss buffers don't have to be unibyte
55124         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
55125         to be unibyte just to receive data, I think.
55127 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55129         Don't use mm-with-unibyte-current-buffer in mml2015
55131         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
55132         mm-with-unibyte-current-buffer.
55134 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55136         Don't use mm-with-unibyte-current in mml1991
55138         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
55139         mm-with-unibyte-current.
55141 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55143         Don't use mm-with-unibyte-current in mml1991
55145         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
55146         mm-with-unibyte-current.
55148 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55150         Don't use mm-with-unibyte-buffer in utf7
55152         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
55153         mm-with-unibyte-buffer.
55155 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55157         Remove XEmacs compat code from Gnus helper libraries
55159         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
55161         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
55163         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
55165         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
55167 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55169         Remove XEmacs compat code from Gnus backends
55171         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
55172         (mm-inline-image): Rename from mm-inline-image-emacs.
55174         * lisp/gnus/mml.el: Remove XEmacs compat code.
55176         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
55178         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
55179         XEmacs compat code.
55181         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
55183         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
55184         XEmacs compat code.
55186         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
55188         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
55190         * lisp/gnus/nntp.el: Remove XEmacs compat code.
55192 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55194         Remove XEmacs compat functions from mm-util.el
55196         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
55197         (mm-decode-coding-string, mm-encode-coding-string)
55198         (mm-decode-coding-region, mm-encode-coding-region): Remove.
55199         (mm-string-to-multibyte): Remove.
55200         (mm-char-or-char-int-p): Remove.
55201         (mm-ucs-to-char): Remove compat versions of the function.
55202         (mm-read-coding-system): Remove.
55203         (mm-coding-system-p): Remove compat code.
55204         (mm-enrich-utf-8-by-mule-ucs): Remove.
55205         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
55206         (mm-delete-duplicates): Remove.
55207         (mm-multibyte-p): Remove compat versions.
55208         (mm-xemacs-find-mime-charset-1): Remove.
55209         (mm-xemacs-find-mime-charset): Remove.
55210         (mm-make-temp-file): Made obsolete.
55211         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
55213 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
55215         Remove Message and mm-decode XEmacs compat code
55217         * lisp/gnus/message.el: Remove XEmacs compat code.
55219         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
55221         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
55223 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55225         Remove som XEmacs compat code from message.el
55227         * lisp/gnus/message.el: Remove some XEmacs compat code.
55229 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55231         Remove XEmacs compat code from ietf-drums.el
55233         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
55234         XEmacs compat.
55236 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55238         Remove XEmacs compat code from gravatar.el
55240         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
55241         gravatar.el.
55243 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55245         Remove more XEmacs compat code from Gnus
55247         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
55248         (gnus-timer--function): Remove.
55250         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
55251         19.2 compat.
55253         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
55255 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55257         Remove more XEmacs compat functions from gnus-util.el
55259         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
55260         (gnus-get-display-table): Remove.
55261         (gnus-format-message): Remove.
55263 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55265         Remove more XEmacs compat functions from Gnus
55267         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
55268         (gnus-previous-char-property-change): Remove.
55269         (gnus-graphic-display-p): Remove.
55270         (gnus-select-frame-set-input-focus): Remove.
55272 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55274         Remove more XEmacs compat code from gnus-util
55276         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
55277         all its usages).
55278         (gnus-invisible-p): Remove.
55280 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55282         Remove gnus-make-local-hook
55284         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
55285         all its usages).
55287 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55289         gnus-replace-in-string -> replace-regexp-in-string
55291         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
55292         obsolete.  Transform all usages of it into
55293         replace-regexp-in-string.
55295         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
55297 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55299         Remove Gnus XEmacs compat
55301         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
55302         about code that doesn't work in XEmacs.
55304         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
55306         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
55308 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55310         Remove compat functions in gnus-spec.el
55312         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
55313         (gnus-substring-function): Remove.
55314         (gnus-use-correct-string-widths): Remove.
55315         (gnus-make-format-preserve-properties): Remove.
55316         (gnus-xmas-format): Remove.
55318         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
55320 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55322         Remove Gnus XEmacs compat functions
55324         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
55326         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
55328         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
55330 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55332         Remove Gnus XEmacs compatibility
55334         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
55335         XEmacs compat.
55337         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
55339         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
55341         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
55342         XEmacs compat.
55344         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
55346         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
55348         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
55350         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
55352 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55354         Don't use image-map if it isn't defined
55356         * lisp/net/shr.el (shr-image-map): Only use image-map as a
55357         parent if it's defined (bug#22614).
55359 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55361         Check for MagickAutoOrientImage
55363         * configure.ac: Check for MagickAutoOrientImage.
55365         * src/image.c (imagemagick_load_image): Don't use
55366         MagickAutoOrientImage unless it's available.
55368 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
55370         Document EXIF image rotation
55372         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
55374 2016-02-10  Dima Kogan  <dima@secretsauce.net>
55376         Support integer image rotation and respect EXIF rotations
55378         * src/image.c (imagemagick_load_image): Allow integer rotations in
55379         addition to floating point rotations (bug#22591).
55380         * src/image.c (imagemagick_load_image): Images that have an
55381         orientation given in EXIF and have no explicit :rotation tag are now
55382         pre-rotated.  All information such as width/height is reported for the
55383         rotated image.
55385 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
55387         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
55389 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55391         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
55393 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55395         Remove compat code from gnus-bookmark.el
55397         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
55398         (gnus-bookmark-remove-properties): Remove.
55400 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55402         Remove XEmacs compat code from gnus-a*.el
55404         * lisp/gnus/gnus-agent.el: Remove compat code.
55406         * lisp/gnus/gnus-art.el: Remove compat code.
55408         * lisp/gnus/gnus-async.el: Remove compat code.
55410 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55412         Remove gmm compat functions
55414         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
55415         (gmm-write-region): Remove.
55416         (gmm-called-interactively-p): Remove.
55418 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55420         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
55422 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55424         Remove compat code from compface.el
55426         * lisp/image/compface.el: Remove XEmacs compat code throughout.
55428 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55430         Remove the now empty gnus-ems.el and references to it
55432 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55434         Remove Gnus compat names for mouse bindings
55436         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
55437         (gnus-down-mouse-2): Remove.
55438         (gnus-down-mouse-3): Remove.
55440 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55442         Drop Gnus compat functions
55444         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
55446         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
55448         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
55450 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55452         Get rid of gnus-ems-redefine
55454         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
55456 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55458         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
55460 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55462         Remove Gnus compat code
55464         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
55465         transitional code from ten years ago.
55467 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55469         Allow interactively scaling past :max-width etc
55471         * lisp/image.el (image--current-scaling)
55472         (image--image-without-parameters): New functions.
55473         (image--change-size): Use them to allow changing the size of a
55474         image even if it has :width/:max-width (etc.) already set.
55476 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55478         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
55480 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55482         Allow accessing the image commands via shr
55484         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
55485         accessing the image commands.
55487         * lisp/net/shr.el (shr-image-map): New map used for images.
55488         (shr-urlify): Don't overwrite image maps when applying URL maps.
55490 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55492         Use a sparse image keymap
55494         * lisp/image.el (image-map): Use a sparse keymap.
55496 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55498         Put a keymap on images created with insert-image and friends
55500         * lisp/image.el (image-save): New command.
55501         (image-rotate): Ditto.
55502         (image-map): New keymap.
55503         (insert-image): Put the image-map on all images.
55504         (insert-sliced-image): Ditto.
55505         * doc/lispref/display.texi (Showing Images): Document the
55506         image map.
55508 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55510         Fix some folding issues in read-multiple-choice
55512         * lisp/subr.el (read-multiple-choice): Fix folding when you
55513         have many items.
55515 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55517         Fix typo in last checkin
55519 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55521         Remove Gnus compat functions
55523         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
55524         (gnus-region-active-p, gnus-select-lowest-window)
55525         (gnus-summary-display-table, gnus-max-width-function): Remove
55526         compat functions.
55528 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55530         Move non-compat Gnus functions to gnus-util.el
55532         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
55533         (gnus-create-image, gnus-image-type-available-p): Move here
55534         from gnus-ems.el, since these aren't compat functions.
55536 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55538         Omit valloc decl if redundant
55540         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
55541         to pacify --enable-gcc-warnings.
55543 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
55545         Restore the calloc family.
55547         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
55548         They were lost in a4817d8 but calloc is still (marginally) used in
55549         code statically liked with emacs, so hybrid_calloc is needed.
55550         Also, in the non-hybrid case, we can't get rid of calloc anyway as
55551         other libraries liked with emacs may need it.
55552         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
55554 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55556         Remove some Gnus compat functions
55558         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
55559         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
55560         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
55562 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55564         -
55566         -
55568 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55570         Merge from origin/emacs-25
55572         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
55573         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
55574         51c77a2 Display non-ASCII group names better in prompts
55575         f93d669 Default to gpg2 instead of gpg
55577 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55579         Merge from origin/emacs-25
55581         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
55582         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
55583         3db6adb * lisp/isearch.el (search-default-mode)
55584         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
55585         c77ffc8 Use monitor's resolution for positioning tooltips
55586         49e5749 Fix file-notify-test on MS-Windows
55587         be1d874 Fix issues found by auditing w32notify code
55588         87ae218 Extend etags Ruby support for accessors
55589         aa35257 Update publicsuffix.txt.
55590         6816bff Ensure that Gnus dribble handling allows removing entries
55591         691feae Be consistent when using encoded strings in nnimap data
55592         3ed423b Display the decoded Gnus group name
55593         5428b5b Use completion-ignore-case instead of defining command
55595 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55597         Merge from origin/emacs-25
55599         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55600         d333716 ; * etc/NEWS: Expand news entry for scss-mode
55601         c32c16f ; Better document changes in ls-lisp default behavior
55602         dc6eed2 Fix doc string of tls-program
55604 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55606         Merge from origin/emacs-25
55608         2c117fc * etc/NEWS: Document new mpc.el features
55609         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
55610         9dfece1 Correctly fontify C++ initializations which "look like" functions.
55611         4485222 Improve newsticker-treeview-selection-face
55612         4236944 Minor fix in tagging Ruby accessors by etags
55613         35fc77d Spelling fixes
55614         3dda110 Remove 'def X' from the example
55616 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55618         Fix network-stream-tests on MS-Windows
55620         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
55621         Skip if local sockets are not supported.
55623 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
55625         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
55627 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55629         Disable 'timer-list'
55631         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
55632         command.
55634 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55636         Avoid aligned_alloc static/extern collision
55638         * src/alloc.c (aligned_alloc): Define to private name when a
55639         static function, to avoid collision with lisp.h extern decl.
55640         Reported by John Yates in:
55641         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
55643 2016-02-08  David Edmondson  <dme@dme.org>
55645         src/process.c Correctly convert AF_INET6 addresses
55647         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55648         converted to a list of 16 bit quantities by
55649         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55650         same scheme rather than expecting a (longer) list of 8 bit
55651         quantities.
55653 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55655         Make `message-beginning-of-line' aware of folded headers
55657         * lisp/gnus/message.el (message-beginning-of-header): New function which
55658         moves point to the beginning of a mail header.  The function is aware of
55659         folded headers and with non-nil argument looks for the true beginning of
55660         a header while with nil argument moves to the indented text of header's
55661         value.
55662         (message-beginning-of-line): Function is now aware of folded headers and
55663         either moves point to the indention of a header or, in visual-line-mode,
55664         searches for the beginning of the header.
55666 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55668         Optimize ‘point in message header’ check
55670         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
55671         regular expression matches with a single bound string match thus
55672         reducing amount of work the function is doing.
55674 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55676         Make the `R' command get the correct relative <img>s
55678         * lisp/net/eww.el (eww-readable): Preserve the base URL so
55679         that image expansions are fetched from the right place (bug#22605).
55681 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55683         Add a mode to list and cancel timers
55685         * doc/lispref/os.texi (Timers): Menton `timer-list'.
55687         * lisp/emacs-lisp/timer-list.el: New file.
55689 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55691         Add new commands to allow changing the size of images
55693         * lisp/image.el (image-increase-size, image-decrease-size):
55694         New commands.
55695         (image-change-size): New function.
55697 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55699         Allow the image scale to be a floating point number
55701         * src/image.c (compute_image_size): The scale can be a
55702         floating point number.
55704 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55706         Add an IPv6 test
55708         * test/lisp/net/network-stream-tests.el
55709         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55711 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55713         Use gnutls-serv instead of openssh
55715         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55716         gnutls-serv instead of openssh.
55718 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55720         Skip TLS tests if we don't have openssl
55722         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55723         TLS tests if we don't have openssl and GnuTLS.
55725 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55727         Add an IPv6 test
55729         * test/lisp/net/network-stream-tests.el
55730         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55732 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55734         Use gnutls-serv instead of openssh
55736         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55737         gnutls-serv instead of openssh.
55739 2016-02-08  Daniel Colascione  <dancol@dancol.org>
55741         Performance improvements for vc-hg
55743         Teach vc-hg how to read some Mercurial internal data structures,
55744         allowing us to avoid the need to run hg status -A, which is very slow
55745         for large repositories.  Fall back to running hg if anything looks
55746         funny.  vc-hg now puts the _working directory_ revision in the
55747         modeline instead of the file revision, which greatly improves
55748         performance and which allows us to again skip running hg in the case
55749         that we have an active bookmark.
55751         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
55752         (vc-hg-symbolic-revision-styles)
55753         (vc-hg-use-file-version-for-mode-line-version)
55754         (vc-hg-parse-hg-data-structures): New user preferences
55755         (vc-hg--active-bookmark-internal, vc-hg--run-log)
55756         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
55757         (vc-hg--read-u8, vc-hg--read-u32-be)
55758         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
55759         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
55760         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
55761         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
55762         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
55763         (vc-hg--ignore-patterns-valid-p)
55764         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
55765         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
55766         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
55767         (vc-hg-state-fast): New functions.
55768         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
55769         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
55770         (vc-hg--dirstate-scan-cache): New internal variables.
55771         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
55772         before updating modeline.
55774 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55776         Skip TLS tests if we don't have openssl
55778         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55779         TLS tests if we don't have openssl and GnuTLS.
55781 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55783         Automatically scale images up on high-density screens
55785         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
55786         (Defining Images): Mention image-scaling-factor.
55788         * lisp/image.el (image-compute-scaling-factor): New function
55789         (bug#22172).
55790         (create-image): Use it.
55791         (image-scaling-factor): New variable.
55793         * src/image.c (compute_image_size): Take :scale into account.
55795 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55797         Ensure progress when fetching from the queue
55799         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
55800         that we have progress when fetching queued requests (bug#22576).
55802 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55804         Make mail-extract-address-components return the user name more
55806         * lisp/mail/mail-extr.el (mail-extract-address-components):
55807         Return the name even if it's the same as the mailbox name (if
55808         `mail-extr-ignore-single-names' isn't set) (bug#22594).
55810 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55812         Message no longer warns about unknown top level domains
55814 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
55816         Add tests for url-auth
55818         * test/lisp/url/url-auth-tests.el: New file.
55820 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55822         Add a TLS connection test
55824         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55825         a TLS connection test.
55827 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55829         Add more network tests
55831         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55832         New test.
55834 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55836         Add network tests
55838         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55840 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55842         Add a TLS connection test
55844         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55845         a TLS connection test.
55847 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55849         Add more network tests
55851         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55852         New test.
55854 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55856         Add network tests
55858         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55860 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
55862         Allow various Gnus and Message address variables to be functions
55864         * doc/misc/gnus.texi (To From Newsgroups):
55865         gnus-ignored-from-addresses can be a function.
55867         * doc/misc/message.texi (Wide Reply):
55868         message-dont-reply-to-names can be a function.
55870         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
55871         message-alternative-emails can be a function.
55873         * lisp/gnus/gnus-notifications.el (gnus-notifications):
55874         message-alternative-emails can be a function (bug#22315).
55876         * lisp/gnus/gnus-sum.el
55877         (gnus-summary-from-or-to-or-newsgroups):
55878         gnus-ignored-from-addresses can be a function (bug#22315).
55880 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55882         Fix typo in Gnus regexp
55884         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
55885         typo in last change to this regexp (bug#22592).
55887 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
55889         Port to FreeBSD x86
55891         Reported by Herbert J. Skuhra in:
55892         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
55893         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
55894         since malloc always returns a multiple of 8 in FreeBSD.
55896 2016-02-07  Alan Mackenzie  <acm@muc.de>
55898         On leaving CC Mode, clean up by removing character properties.
55900         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
55901         all instances of the text properties/extents category, syntax-table,
55902         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
55904 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55906         message-valid-fqdn-regexp no longer exists
55908         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
55909         the no-longer-existing message-valid-fqdn-regexp variable.
55911 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55913         Remove message-valid-fqdn-regexp, since it changes too much now
55915         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
55916         (message-bogus-recipient-p): Don't use it any more.
55917         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
55919 2016-02-06  Paul van der Walt  <paul@denknerd.org>
55921         Match "Re :" as a "Re:" prefix
55923         * lisp/gnus/message.el (message-subject-re-regexp): Also match
55924         "Re :" as a "Re:" prefix (commonly used in France).
55926 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
55928         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55930         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55932 2016-02-06  David Edmondson  <dme@dme.org>
55934         src/process.c Correctly convert AF_INET6 addresses
55936         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55937         converted to a list of 16 bit quantities by
55938         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55939         same scheme rather than expecting a (longer) list of 8 bit
55940         quantities.
55942 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
55944         Search for host/port combinations in auth-source on OS X
55946         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
55947         Search for all host/port (or protocol) combinations for a match in
55948         the OS X keychain.
55950 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55952         Remove nonsensical setting of gnus-newsgroup-unseen
55954         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
55955         setting of gnus-newsgroup-unseen.
55957 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55959         Use underline on all terminals that support it
55961         * lisp/subr.el (read-multiple-choice): Use
55962         display-supports-face-attributes-p instead of
55963         display-graphic-p to determine whether we can use underlining.
55965 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55967         Make the nsm query say what it did after the user interaction
55969         * lisp/net/nsm.el (nsm-query): Issue a message about
55970         aborting/accepting messages (suggested by N. Jackson)
55971         (bug#22531).
55973 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55975         Omit XLI (init) == 0 optimization in make-vector
55977         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
55978         == 0) case, as this optimization is probably not worth the hassle.
55979         Just for the record, the test for that case could have been
55980         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
55981         assuming the typical platform with no padding bits and where
55982         conversion to int omits the most significant bits.
55984 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55986         * autogen.sh: Port to dash (Bug#22556).
55988 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
55990         Minor cleanup for Tramp "doas".
55992         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
55994         * etc/NEWS: Add Tramp connection method "doas".
55996         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
55997         Add `tramp-remote-shell-args'.
55999 2016-02-05  Xi Lu  <lx@shellcodes.org>
56001         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
56003         (tramp-default-user-alist): Add rule for "doas".
56004         (top): Completion function for "doas" is
56005         `tramp-completion-function-alist-su'.
56007 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56009         Restore the window configuration
56011         * lisp/net/nsm.el (nsm-query-user): Restore the window
56012         configuration (bug#22532).
56014 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56016         Use an X popup in read-multiple-choice if running from a mouse command
56018         * lisp/subr.el (read-multiple-choice): Use an X popup if
56019         called from a mouse action (bug#19368).
56021 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56023         Display cursor in echo area when prompting
56025         * lisp/subr.el (read-multiple-choice): Display the cursor in
56026         the echo area when prompting (bug#19368).
56028 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56030         Make NSM prompting clearer
56032         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
56033         to prompt in a nicer way (bug#19368).
56035 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56037         Underline read-multiple-choice-face
56039         * lisp/faces.el (read-multiple-choice-face): Also underline
56040         the choice.
56042 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56044         Make url.el use async DNS
56046         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
56048         * src/process.c (syms_of_process): Add a `dns' subfeature for
56049         make-network-process.
56051 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56053         Only do async DNS if requested with :nowait 'dns
56055         * doc/lispref/processes.texi (Network Processes): Mention the
56056         dns value of :nowait.
56058         * src/process.c (Fmake_network_process): Only do async DNS if
56059         :nowait is `dns'.
56061 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56063         Add sanity check for checking async DNS
56065         * src/process.c (check_for_dns): Disregard processes that have
56066         already been killed.
56068 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56070         Make the read-multiple-choice prompt a bit prettier
56072         * doc/lispref/commands.texi (Reading One Event): Mention
56073         read-multiple-choice-face.
56075         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
56076         prettier.
56078 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56080         Prefer memcpy and memset to doing it by hand
56082         * src/alloc.c (Fmake_vector):
56083         * src/ccl.c (setup_ccl_program):
56084         Use memset to clear array.
56085         * src/alloc.c (Fvector, Fmake_byte_code):
56086         * src/charset.c (Fdefine_charset_internal):
56087         Use memcpy to copy array.
56089 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
56091         Do not ignore redirections of 301, 302 and 307 status codes
56093         The current version of HTTP/1.1 (RFC 7231) no longer requires
56094         confirmation on 301, 302 or 307 status codes, therefore we do not have
56095         to ignore redirects for other requests than GET and HEAD.
56097         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
56098         and 307 redirects for other requests than GET and HEAD.
56100 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
56102         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
56104 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56106         Simplify USE_ALIGNED_ALLOC
56108         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
56109         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
56111 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
56113         Honor docstring of gnus-group-get-new-news
56115         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
56116         is t, but non-numeric, unconditionally consider all groups to need
56117         updating.
56119 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
56121         New function read-multiple-choice
56123         * doc/lispref/commands.texi (Reading One Event): Document
56124         read-multiple-choice.
56126         * lisp/faces.el (read-multiple-choice-face): New face.
56128         * lisp/subr.el (read-multiple-choice): New function.
56130 2016-02-03  John Wiegley  <johnw@newartisans.com>
56132         Merge from origin/emacs-25
56134         ee73997 Make erc work better when encountering unknown prefix chars
56135         b99141d Make erc completion case-insensitive again
56136         66c4620 Make complection in erc use consistent casing
56137         8c562b2 Make /QUIT in erc more robust
56138         d93d2c5 Make tracking faces in Emacs work more reliably
56139         af6ab7e Make shr not bug out on images on non-graphical displays
56140         3311f40 Fix bookmark display widths
56141         d90ab1e Fix typo in eww-make-unique-file-name
56142         7f81825 Make it possible to TAB to input fields
56143         a43a1dc Insert complete alt texts when images are disabled
56144         56ed4e1 Allow eww text fields to grow
56145         66b315c Make erc work when subword-mode is switched on
56146         255b68f Fix IMAP doc example
56147         91557f5 Quoting fixes in doc strings and diagnostics
56148         2c0dc9f Fix warning message in hack-local-variables
56149         504696d Etags: yet another improvement in Ruby tags
56150         8784ebf Fix x-popup-menu on TTYs without a mouse
56151         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
56152                 pcase macro
56153         6191003 Use pop-to-buffer-same-window in eww
56154         fe321fd * autogen.sh: Revert all recent changes.
56155         74ebd4a * make-dist: Updates related to nt/.
56156         737193a * make-dist: Add modules/.
56157         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
56158         a4278e2 Fix failure to compile ns-win.el in parallel builds
56159         860da4d Fix names of tags generated for Ruby accessors
56160         f6213ce Fix file-name recognition in 'etags'
56161         e42e662 Change Ruby file names and extensions recognized by 'etags'
56162         58bfb6a More improvements for Ruby support in 'etags'
56163         c04e911 Add --git-config option to autogen.sh
56164         5713466 Fix editing undo changes in eww fields
56165         51362d6 Allow the user more control of popping up the eww window
56166         ee0fbd8 Make eww-browse-url with new-window parameter work again
56167         9c3142d Clean up eww code slightly
56168         cb035f3 Don't insert nil faces in shr
56169         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
56170         93f2153 Improve the custom type of some user options.
56171         9f60d7e Mark some risky calendar variables.
56172         1d07dcd Highlight two additional SCSS keywords
56173         ee8b466 Recommend enabling integrity-checking in git
56174         e639e10 Some corrections in Elisp manual
56175         d766ca8 Chatter when autogen.sh changes Git configuration
56176         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
56177         43cb9f8 Omit unnecessary history from Lisp intro
56178         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
56179         c90e1b4 Improve elisp “Security Considerations” doc
56180         cedd7ca autogen.sh now arranges for git to check hashes
56181         86ce76b ; Fix ChangeLog.2 commit ID.
56182         7b1d2b1 Fix (c & 040) typo in emergency escapes
56183         a8273da Fix display of overlay strings with 'display' and 'box' property
56184         fc48106 Fix imap-starttls-open
56185         cdecbed Fix return value of imap-starttls-open
56186         20c7e34 ; * etc/NEWS: Fix renamed command name
56187         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
56188         b250d29 Spelling fix
56189         b920a0e Spelling fixes
56190         93b144b Pacify GCC on C library without glibc API
56192 2016-02-03  John Wiegley  <johnw@newartisans.com>
56194         Merge from origin/emacs-25
56196         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
56197                 priority of non-free Chrome.
56198         0fac75f Improve the custom type of some user options.
56199         2df0e04 Highlight CSS variables with variable name face
56200         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
56201                 user-serviceable.
56202         2a5233c Mark some user options that can get evalled as risky.
56203         39b166f Disable DebPrint in sys_read on MS-Windows
56204         9fd0189 ;Fix ChangeLog entry
56205         4bb7233 Fix typos in Introduction to Emacs Lisp manual
56207 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
56209         Add a new command to switch between erc buffers
56211         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
56212         * etc/NEWS: Mention new command
56213         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
56214         (eww-mode-map): Add menu item
56215         (eww-switch-to-buffer): New command
56217 2016-02-03  David Edmondson  <dme@dme.org>
56219         Make erc work better when encountering unknown prefix chars
56221         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
56222         instead of erroring out on unknown prefix chars (bug#22380).
56224 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
56226         Allow sending empty hidden values in eww
56228         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
56229         values (bug#22388).
56231 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
56233         Remove packages obsoleted before Emacs 24.
56235         In accordance with the policy discussed in the emacs-devel list,
56236         packages that have been obsoleted for a full major release cycle are up
56237         for deletion.
56239         This removes almost all packages that are now eligible for deletion,
56240         with the exception of "cl-compat", which seems it is likely to still be
56241         used, and "optional", which offers some functionality that doesn't have
56242         a replacement yet.
56244 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56246         Mention context when resume from emergency escape
56248         That way, if the user has been doing something else for a while,
56249         they are reminded of the situation when restarting Emacs,
56250         and are more likely to understand the two questions.
56251         * doc/emacs/trouble.texi (Emergency Escape): Document this.
56252         * src/keyboard.c (handle_interrupt): Implement this.
56254 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56256         Port aligned_alloc decl to Cygwin.
56258         Problem reported by Ken Brown (Bug#22522#38).
56259         * configure.ac (aligned_alloc): Check for decl too.
56260         * src/lisp.h (aligned_alloc): Declare if not already declared.
56262 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56264         autogen.sh now configures git only on request
56266         * autogen.sh (do_autoconf, do_git): New vars.
56267         Support new arguments --help, all, autoconf, git.
56268         By default, just do autoconf-related configuration, not git.
56269         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
56270         If GNU cp is available, use it to backup .git/config before
56271         changing it.  When configuring git, chatter about what is being
56272         done, and configure git to check hashes.  Avoid some duplicate
56273         file name specification when creating git hooks.
56275         * GNUmakefile (ALL_IF_GIT): New macro.
56276         (configure): Use it.
56277         * INSTALL.REPO: Suggest './autogen.sh all'.
56279 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
56281         Doc fixes and refactorings based on comments from Eli Zaretskii
56283         * doc/lispref/processes.texi (Network Processes): Clarify the
56284         meaning of :tls-parameters.
56286         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
56288         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
56289         own function.
56290         (gnutls-negotiate): Use it.
56291         (open-gnutls-stream): Ditto.
56293         * src/eval.c (vformat_string): Refactor out the printing bits
56294         from verror.
56295         (verror): Use it.
56297         * src/gnutls.c (boot_error): Mark failed processes with the
56298         real error message.
56300         * src/lisp.h: Declare vformat_string.
56302 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56304         Build with C11 if available
56306         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
56307         * m4/std-gnu11.m4: New file, from gnulib.
56308         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
56310 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56312         Update gnulib copy
56314         * doc/misc/texinfo.tex: Copy from gnulib.
56316 2016-02-02  Glenn Morris  <rgm@gnu.org>
56318         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
56319         Doc tweaks.
56321 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56323         Port better to platforms lacking aligned_alloc
56325         Problem reported by Ken Brown (Bug#22522).
56326         * src/lisp.h (hybrid_aligned_alloc)
56327         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
56329 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56331         Port malloc.h hygiene fix to LTO
56333         * src/alloc.c (__malloc_initialize_hook):
56334         Make it externally visible (Bug#22522).
56336 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
56338         Build fix for --enable-check-lisp-object-type
56340         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
56341         Mitsuharu.
56343 2016-02-01  Glenn Morris  <rgm@gnu.org>
56345         Make find-change-log prefer a VCS root, if no ChangeLog exists.
56347         * lisp/vc/add-log.el (change-log-directory-files): New option.
56348         (find-change-log): Respect change-log-directory-files.
56349         * doc/emacs/maintaining.texi (Change Log Commands):
56350         Mention change-log-directory-files.
56352 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
56354         Boot parameter check fix
56356         * src/process.c (send_process): Fix test for boot parameters noted
56357         by Andy Moreton.
56359 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56361         Double static heap size.
56363         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
56364         small on FreeBSD (Bug#22086).
56366 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
56368         Fix Bug#20821
56370         * lisp/net/tramp.el (tramp-file-name-handler):
56371         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
56372         Use `tramp-drop-volume-letter'.  (Bug#20821)
56374 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56376         Style fix
56378 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56380         Return the correct server port number
56382         * src/process.c (connect_network_socket): Return the correct
56383         server port number.
56385 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56387         Fix autoconf test for getaddrinfo_a
56389         * configure.ac: Make the test for getaddrinfo_a work.
56391 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56393         Better async error reporting
56395         * src/process.c (connect_network_socket): Mark failed processes
56396         with a better error message.
56397         (check_for_dns): Ditto.
56399 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56401         Clarify :tls-parameters.
56403 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56405         Always boot TLS if given parameters
56407         * src/process.c (connect_network_socket): If we have the TLS
56408         parameters, then boot the socket.
56410 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56412         Add documentation for :tls-parameters
56414         * doc/lispref/processes.texi (Network Processes): Mention
56415         :tls-parameters.
56417         * src/process.c (Fmake_network_process): Document the
56418         :tls-parameters parameter.
56420 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56422         Build fix for glibc systems.
56424 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56426         Make network connections work again on non-glibc systems
56428         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
56429         keywords in directly so that they can be used when doing
56430         synchronous DNS on non-synchronous connections.
56432         * lisp/net/network-stream.el (open-network-stream): Allow
56433         passing in the TLS parameters directly.
56435         * src/process.c (conv_numerical_to_lisp): New function to convert
56436         numerical addresses to Lisp.
56437         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
56438         paths so that they work again.
56439         (syms_of_process): Build fix for non-glibc systems.
56441 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56443         Windows build fix
56445         * src/process.c (Fmake_network_process): Build fix for systems
56446         without local sockets.
56448 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56450         Use XCAR/XCDR instead of Fcar etc
56452 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56454         Fix GC problem in async TLS connection
56456         * src/process.h: All Lisp_Object slots have to come first,
56457         otherwise they won't be protected from gc.
56459 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56461         Further TLS async work
56463         * src/gnutls.c (boot_error): New function to either signal an
56464         error or return an error code.
56465         (Fgnutls_boot): Don't signal errors when running asynchronously.
56467         * src/process.h (pset_status): Move here from process.c to be
56468         able to use from gnutls.c.
56470         * src/process.c (connect_network_socket): Do the TLS boot here
56471         when running asynchronously.
56472         (wait_reading_process_output): Rework the dns_processes
56473         handling for more safety.
56475 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
56477         Clean up dead code
56479         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
56481 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
56483         Add ability to give rcirc servers an alias name
56485         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
56486         customization option.
56487         (rcirc, rcirc-connect): Take server alias into account.
56489 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
56491         Port new hybrid malloc to FreeBSD
56493         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
56494         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
56495         (__morecore) [HYBRID_MALLOC]: Define in this case too.
56497 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
56499         * configure.ac: Stop using mmap for buffers for FreeBSD.
56501 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
56503         Merge changes from Tramp repository
56505         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
56506         No EXTRA_OPTS needed.
56508         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
56509         branch, especially for @trampfn{}.
56510         (Top): Move @ifnottex down.
56511         (History): XEmacs support has been removed.
56512         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
56513         (Auto-save and Backup): Use both syntax versions.
56514         (File name Syntax): Remark on IPv6 adresses is valid for
56515         unified syntax only.
56517         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
56519 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56521         Spelling fixes
56523 2016-01-30  Glenn Morris  <rgm@gnu.org>
56525         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
56527 2016-01-30  Matthew Carter  <m@ahungry.com>
56529         Quote table names for postgres listings (sql-mode)
56531         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
56532           unquoted table names to the completion list.
56534 2016-01-30  Glenn Morris  <rgm@gnu.org>
56536         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
56538         * lisp/vc/smerge-mode.el (smerge-diff-switches)
56539         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
56540         (smerge-upper, smerge-upper-face, smerge-keep-upper)
56541         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
56542         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
56543         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
56544         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
56545         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
56546         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
56547         Update all uses.
56548         (smerge-basic-map): Add "l" and "u" bindings.
56549         (smerge-mode-menu): Update menu bindings for renaming.
56550         (smerge-font-lock-keywords): Update face names.
56551         (smerge-match-names): Update names.
56552         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
56553         (smerge-match-conflict, smerge-ediff): Rename local variables.
56554         (smerge-makeup-conflict): Relabel markers.
56555         (smerge-parsep-re): Use renamed variables.
56557 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56559         Port recent my_edata change to MS-Windows
56561         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
56563 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56565         Rework the mechanisms for async GnuTLS connections
56567         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
56568         gnutls-boot parameters and pass them to the process object.
56569         (gnutls-negotiate): New parameter :return-keywords that won't
56570         connect to anything, just compute the keywords.
56572         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
56573         hack, which is no longer necessary.
56575         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
56576         gnutls-mark-process.
56578         * src/process.c (connect_network_socket): If we're connecting to
56579         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
56581         * src/process.h: New parameter gnutls_async_parameters.
56583 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56585         Fix segfault from double free
56587         * src/process.c (check_for_dns): Protect against double free
56588         issues.
56590 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56592         Remove debugging
56594 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56596         Implement asynchronous GnuTLS connections
56598         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
56599         the nowait parameter.
56601         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
56602         connections with the new nowait parameter.
56604         * lisp/net/network-stream.el (network-stream-open-tls): Pass
56605         on :nowait to open-gnutls-stream.
56607         * lisp/url/url-http.el (url-http): Don't overwrite the
56608         sentinel created by open-gnutls-stream.
56610         * src/gnutls.c (Fgnutls_mark_process): New function.
56612         * src/process.c (send_process): Don't write to GnuTLS sockets that
56613         haven't been initialized yed.
56615         * src/process.h: New slot gnutls_wait_p.
56617 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56619         Tell Automake the new lib/Makefile.am is OK
56621         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
56623 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56625         Make it easy to override preferred-branch test
56627         * Makefile.in (preferred-branch-is-current):
56628         Rename from emacs-25-branch-is-current.  All uses changed.
56629         (PREFERRED_BRANCH): New macro.
56631 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56633         Shrink static heap a bit
56635         * src/sheap.h: Include lisp.h, for Lisp_Object.
56636         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
56637         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
56638         conservative than the old value.
56639         (Bug#22086)
56641 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56643         Fix extern symbols defined and not used
56645         * src/alloc.c: Always include <signal.h>.
56646         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
56647         Do not define; unused.
56648         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
56649         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
56650         to avoid collision with glibc.  Now static.  All uses changed.
56651         * src/lastfile.c (my_edata): Define only if
56652         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
56653         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
56654         (Bug#22086)
56656 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56658         Build lib/e-*.o only on platforms that need it
56660         * configure.ac (hybrid malloc): Simplify configuration.
56661         (SHEAP_OBJ): Remove; no longer needed.
56662         (HYBRID_MALLOC): New var. Subst it.
56663         (HYBRID_MALLOC_LIB): New Automake conditional.
56664         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
56665         HYBRID_MALLOC_LIB.
56666         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
56667         (MOSTLYCLEANFILES): Add libegnu.a.
56668         * src/Makefile.in (SHEAP_OBJ): Remove.
56669         (HYBRID_MALLOC): New macro.
56670         (base_obj): Use it to conditionally add sheap.o.
56671         (LIBEGNU_ARCHIVE): New macro.
56672         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
56673         All uses of the latter replaced by the former.
56674         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
56675         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
56676         * src/gmalloc.c: Update comment.
56677         * src/lisp.h (aligned_alloc)
56678         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
56679         New decl.
56680         (Bug#22086)
56682 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56684         Include <malloc.h> when advisable
56686         This should help insulate us better from future glibc changes.
56687         It is good hygiene to include .h files for APIs that Emacs uses.
56688         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
56689         * configure.ac: Check for malloc.h.
56690         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
56691         not on DOUG_LEA_MALLOC.
56692         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
56693         Remove decl (now in lisp.h).
56694         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
56695         [emacs]: Include lisp.h.
56696         [HAVE_MALLOC_H]: Include <malloc.h>.
56697         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
56698         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
56699         (__default_morecore):
56700         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
56701         (calloc): Make it clear that the macro should not be used.
56702         Remove unused decl.
56703         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
56704         (__morecore, __default_morecore, __after_morecore_hook)
56705         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
56706         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
56707         Remove later decls.
56708         (gmalloc_hook, gfree_hook, grealloc_hook):
56709         Rename from __malloc_hook, __free_hook, __realloc_hook to
56710         avoid type collision with glibc <malloc.h>.  All uses changed.
56711         (gmalloc_hook):
56712         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
56713         Now static.
56714         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
56715         (__malloc_initialize_hook, __after_morecore_hook):
56716         Declare with types compatible with glibc.
56717         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
56718         Remove.  All uses removed.
56719         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
56720         * src/ralloc.c, src/vm-limit.c:
56721         Simplify includes and include <malloc.h> if available.
56723 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56725         * src/alloc.c: Include "sheap.h".
56727         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
56728         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
56729         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
56730         Declare unconditionally.
56731         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
56732         (unexec): Don’t set or clear bss_sbrk_did_unexec;
56733         the caller now does this.
56734         (Bug#22086)
56736 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56738         Pacify --enable-gcc-warnings when HYBRID_MALLOC
56740         * src/buffer.c (init_buffer):
56741         * src/emacs.c (main):
56742         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
56743         Use emacs_get_current_dir_name, not get_current_dir_name.
56744         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
56745         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
56746         * src/emacs.c: Include "sheap.h".
56747         (report_sheap_usage): Remove decl.
56748         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
56749         Don't assume ptrdiff_t can be printed as int.
56750         * src/gmalloc.c [HYBRID_MALLOC]:
56751         Include "sheap.h" rather than declaring its contents by hand.
56752         (get_current_dir_name, gget_current_dir_name)
56753         (hybrid_get_current_dir_name): Remove.
56754         (emacs_abort): Remove duplicate decl.
56755         (aligned_alloc): Undef, like malloc etc.
56756         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
56757         Make it a bit more efficient.
56758         (malloc_find_object_address): Remove unused decl.
56759         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
56760         (mstats, memory_warnings): Declare only if GC_MCHECK.
56761         * src/lisp.h (emacs_get_current_dir_name):
56762         New decl, replacing get_current_dir_name.
56763         * src/sheap.c: Include sheap.h first.
56764         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
56765         (debug_sheap): Now static.
56766         (bss_sbrk_buffer_end): Remove; no longer used.
56767         (bss_sbrk_ptr): Now static and private.
56768         (bss_sbrk_did_unexec): Now bool.
56769         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
56770         (bss_sbrk): Don't treat request_size 0 as special, since the code
56771         works without this being a special case.
56772         Avoid overflow if request size exceeds INT_MAX.
56773         (report_sheap_usage): Remove; now done in emacs.c.
56774         * src/sheap.h: New file.
56775         * src/sysdep.c (get_current_dir_name): Remove macro.
56776         Include "sheap.h".
56777         (emacs_get_current_dir_name): Rename function from
56778         get_current_dir_name.  Handle HYBRID_MALLOC here;
56779         this is simpler.
56780         (Bug#22086)
56782 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56784         Report static heap usage on non-Cygwin, too
56786         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
56787         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
56788         on platforms other than Cygwin (Bug#22086).
56790 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56792         Pacify GCC on extern decls
56794         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
56795         to pacify recent GCC (Bug#22086).
56797 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56799         Add musl patch to support HYBRID_MALLOC on elf systems
56801         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
56802         (__default_morecore): Here, in particular.
56803         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
56804         New variable SHEAP_OBJ.
56805         * src/Makefile.in: Use it.
56806         (Bug#22086)
56808 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
56810         unexelf.c hook to support HYBRID_MALLOC on ELF
56812         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
56813         Define bss_sbrk_did_unexec (Bug#22086).
56815 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56817         Link temacs with gnulib compiled with -Demacs
56819         This is done to support HYBRID_MALLOC, since some static variables
56820         (e.g., last_environ in putenv.c) hold pointers to memory malloced
56821         before dumping (Bug#22086).
56822         * lib/Makefile.am: Add incantation to install libegnu.a.
56823         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
56824         (temacs$(EXEEXT)): Use it.
56826 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56828         Internal linkage for gmalloc etc. if HYBRID_MALLOC
56830         This avoids clashes with symbols if the after-dump malloc is
56831         derived from Doug Lea's implementation (Bug#22086).
56833         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
56834         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
56835         declarations below to `static' ones.
56836         (aligned_alloc): Declare for !MSDOS as well.
56837         (heapsize, _fraghead): Move resp. copy declaration downwards.
56838         For HYBRID_MALLOC, conditionalize out the other definitions,
56839         since the previous `static' declarations double as tentative
56840         definitions, anyway.
56841         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
56842         (__realloc_hook, __memalign_hook): Conditionalize out.
56843         (cfree, memalign, valloc): Ditto.
56845 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56847         -
56849         -
56851         -
56853 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56855         Merge from origin/emacs-25
56857         3f481ad Rename xref-query-replace to xref-query-replace-in-results
56858         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
56859         2111e0e Comment out next-error-function integration in xref
56860         4e11ad3 Correct a use of "which" in intro.texi
56861         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
56862         76045f7 Don't operate on menu bar of nonexistent frame
56863         c32f3bc Unbreak the GNUstep build.
56865 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56867         -
56869         -
56871 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
56873         Re-enable checks in member, memql, delete to complain about non-lists
56875         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
56877 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56879         Clean up compilation warnings
56881 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56883         Make async resolution more efficient
56885         * src/process.c (wait_reading_process_output): Use a list of
56886         process objects instead of looping through an array to check
56887         for name resolution.  This should be much faster.
56889 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56891         More async memory leaks
56893         * src/process.c (check_for_dns): Free even more allocated async stuff.
56895 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56897         Compilation for for systems with getaddrinfo_a
56899         * src/process.c (Fmake_network_process): Make stuff work again on
56900         systems with getaddrinfo_a.
56902 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56904         Save correct server data
56906         * src/process.c (connect_network_socket): Save the correct contact
56907         info for servers.
56909 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56911         Compilation for for non-GNU systems
56913         * src/process.c (Fmake_network_process): Make compilation work
56914         again on hosts that don't have getaddrinfo_a.
56916 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56918         Avoid memory leaks in async DNS
56920         * src/process.c (check_for_dns): Free async DNS resources after
56921         they've been used.
56923 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56925         * src/process.c (check_for_dns): Free the result data.
56927 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56929         Fix server connections
56931         * src/process.c (Fmake_network_process): Make creating server
56932         listening ports work again.
56934 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56936         Further make_network_process clean up
56938         * src/process.c (Fmake_network_process): Remove setting of unused
56939         family variable.
56941 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56943         Clean up GETADDRINFO usage in make-network-process
56945         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
56946         handling.
56948 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56950         Implement asynchronous name resolution
56952         * src/process.c (Fmake_network_process): Do asynchronous DNS
56953         lookups if we have getaddrinfo_a and the user requests :nowait.
56954         (check_for_dns): New function.
56955         (wait_reading_process_output): Check for pending name
56956         resolution in the idle loop.
56958         * src/process.h: Add structure for async DNS.
56960 2016-01-28  Glenn Morris  <rgm@gnu.org>
56962         Remove some useless-use-of eval.
56964         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
56965         * lisp/gnus/nnrss.el (xml): Simply require it.
56966         (xml-rpc-method-call): Use declare-function.
56968 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56970         Fix memory leak
56972         * src/process.c (connect_network_socket): Free previous sockaddr
56973         before allocating a new one.
56975 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56977         Return IP addresses in the correct order
56979         * src/process.c (Fmake_network_process): Return the IP addresses
56980         in the same order as getaddrinfo does.
56981         (set_network_socket_coding_system): Clean up the code slightly.
56983 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56985         Add checks for getaddrinfo_a
56987         * configure.ac: Detect getaddrinfo_a.
56989 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56991         Refactor make_network_process
56993         * src/process.c (set_network_socket_coding_system)
56994         (connect_network_socket): Refactor out of
56995         make_network_process to allow calling connect_network_socket
56996         asynchronously.
56997         (Fmake_network_process): Do nothing but parsing the parameters
56998         and name resolution, leaving the connection to
56999         connect_network_socket.
57001 2016-01-28  Glenn Morris  <rgm@gnu.org>
57003         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
57004         Warn if defcustom has no type.  (Bug#16276)
57006 2016-01-27  Glenn Morris  <rgm@gnu.org>
57008         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
57010 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57012         (rng-c-fix-escaped-newlines): Use subst-char-in-string
57014         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
57015         Use subst-char-in-string.
57017 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57019         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
57021         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
57022         (sgml-calculate-indent): Use it.
57024 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57026         * lisp/org: Fix some compiler warnings
57028         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
57029         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
57030         (*this*): Declare as dyn-bound.
57031         (org-babel-expand-src-block, org-babel-load-in-session)
57032         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
57033         Mark unused args.
57034         (org-babel-combine-header-arg-lists): Remove unused var `args'.
57035         (org-babel-find-named-block): Remove unused var `msg'.
57037         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
57038         Declare as dyn-bound.
57039         (org-edit-src-code): Remove unused var `lfmt'.
57040         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
57042 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57044         * lisp/font-lock.el: Use #' to quote function symbols
57046 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
57048         Improve user name completion in Tramp
57050         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
57051         Call also "getent passwd" or "getent group", if possible.
57052         (tramp-parse-putty): Cache the result.
57054 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
57056         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
57058 2016-01-20  Glenn Morris  <rgm@gnu.org>
57060         Remove handling of non-string time-stamp formats, obsolete for 20 years.
57062         * lisp/time-stamp.el (time-stamp-format): Doc fix.
57063         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
57064         (time-stamp-string): Ignore non-string formats.
57066 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
57068         Anoter fix for problematic merge from emacs-25
57070         * src/w32fns.c (globals_of_w32fns): Move initialization of
57071         resetstkoflw to a non-Cygwin part.
57073 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
57075         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
57077 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
57079         Fix MS-Windows build broken by a botched merge from emacs-25
57081         * src/w32.c (w32_crypto_hprov): New static variable.
57082         (globals_of_w32): Initialize w32_crypto_hprov.
57083         (w32_init_crypt_random, w32_init_random): New functions.
57084         Include wincrypt.h.
57085         * src/w32.h (w32_init_random): Add prototype.
57087 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57089         Correct a whole bunch of bugs coming with renamed cell relocation.
57091         * lisp/ses.el (ses-localvars): rename variable
57092         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
57093         and adjust the comment about it.
57094         (ses-plist-delq): new defun.
57095         (ses--ses-buffer-list): new defvar.
57096         (ses--unbind-cell-name): new defun.
57097         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
57098         (ses-relocate-formula): Undo change of
57099         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
57100         preventing relocation for named cell --- now doing this is delegated
57101         to function `ses-relocate-symbol'.
57102         (ses-relocate-range): In docstring, undo change of
57103         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
57104         lower case as it is not a variable.
57105         (ses-relocate-all): Cell name relocation : 1) check that cell is a
57106         renamed cell by testing `ses-cell' property to :ses-named, rather than
57107         comparing name to corresponding standard name. Set rowcol of renamed
57108         cell into the hashmap --- `ses-cell' property must not be used for
57109         that as the same name can be used for different locations in different
57110         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
57111         `local-variable-p' to check if cell name is already in use in this
57112         sheet or needs initialization.
57113         (ses-relocate-all): Cell value relocation : 1) like for name
57114         relocation use the `ses-cell' property rather than comparing actual
57115         name to corresponding standard name. 2) Correct bug introduced in
57116         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
57117         made the other way round than the intention --- ie value relocation
57118         was disabled for standard cell, not for renamed cell as was the
57119         intention.
57120         (ses-relocate-all): Add loop for unbinding deleted renamed cells
57121         names.
57122         (ses-killbuffer-hook): new defun.
57123         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
57124         kill buffer hook, plus pushing current buffer if new in list.
57125         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
57126         into `ses--in-killing-named-cell-list'.
57127         (ses-rename-cell): Remove update of variable
57128         `ses--renamed-cell-symb-list', this variable is renamed to
57129         `ses--in-killing-named-cell-list', and its setting is done in
57130         functions `ses-delete-row' and , `ses-delete-column' now.
57131         (ses-rename-cell): Change correction of
57132         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
57133         computation of the range over which `cursor-intangible' property was
57134         to be updated. This correction was ok for non spilling cells, but not
57135         for cells spilling over following blank cells. Simply use
57136         `next-single-property-change' rather than computing the end column
57137         from column widths.
57139 2016-01-18  John Wiegley  <johnw@newartisans.com>
57141         -
57143 2016-01-18  John Wiegley  <johnw@newartisans.com>
57145         Merge from origin/emacs-25
57147         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
57148         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
57149         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
57150         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
57151         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
57152         86e4513 Fix incompatbilities with MS-Windows 2000 and older
57153         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
57154         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
57155         39afa42 Fix tests for active region in hideif.el
57156         05df666 Fix interactive specs in some hideif.el commands
57158 2016-01-18  John Wiegley  <johnw@newartisans.com>
57160         -
57162 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57164         Avoid stdio in SIGINT handler
57166         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
57167         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
57168         * lib/ignore-value.h: New file, from gnulib.
57169         * src/keyboard.c: Include it.
57170         (write_stdout, read_stdin): New functions.
57171         (handle_interrupt): Use them instead of printf and getchar,
57172         and avoid fflush when handling signals.
57174 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
57176         Refactor mml-smime.el, mml1991.el, mml2015.el
57178         (Maybe this is the last merge from Gnus git to Emacs git)
57180         Cf. discussion on ding mailing list, messages in
57181         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
57182         Common code from the three files mml-smime.el, mml1991.el, and
57183         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
57184         to gnus-util.el.
57186         The code is supported by test cases with necessary test keys.
57188         Documentation in message.texi is updated.
57190         * doc/misc/message.texi (Security, Using S/MIME):
57191         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
57192         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
57193         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
57195         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
57196         New functions.
57198         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
57199         (epa--select-keys): Autoload.
57200         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
57201         (mml-secure-openpgp-signers): New user option;
57202         make mml1991-signers and mml2015-signers obsolete aliases to it.
57203         (mml-secure-smime-signers): New user option;
57204         make mml-smime-signers an obsolete alias to it.
57205         (mml-secure-openpgp-encrypt-to-self): New user option;
57206         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
57207         aliases to it.
57208         (mml-secure-smime-encrypt-to-self): New user option;
57209         make mml-smime-encrypt-to-self an obsolete alias to it.
57210         (mml-secure-openpgp-sign-with-sender): New user option;
57211         make mml2015-sign-with-sender an obsolete alias to it.
57212         (mml-secure-smime-sign-with-sender): New user option;
57213         make mml-smime-sign-with-sender an obsolete alias to it.
57214         (mml-secure-openpgp-always-trust): New user option;
57215         make mml2015-always-trust an obsolete alias to it.
57216         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
57217         New user options.
57218         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
57219         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
57220         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
57221         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
57222         (mml-secure-passphrase-callback, mml-secure-check-user-id)
57223         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
57224         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
57225         (mml-secure-fingerprint, mml-secure-filter-keys)
57226         (mml-secure-normalize-cust-name, mml-secure-select-keys)
57227         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
57228         (mml-secure-self-recipients, mml-secure-recipients)
57229         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
57231         * lisp/gnus/mml-smime.el: Require epg;
57232         refactor declaration and autoloading of epg functions.
57233         (mml-smime-use): Doc fix.
57234         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
57235         Obsolete.
57236         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
57237         Use format instead of gnus-format-message.
57238         (mml-smime-epg-secret-key-id-list): Remove variable.
57239         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
57240         (mml-smime-epg-find-usable-secret-key): Remove functions.
57241         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
57243         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
57244         (mml1991-passphrase-cache-expiry): Obsolete.
57245         (mml1991-epg-secret-key-id-list): Remove variable.
57246         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
57247         (mml1991-epg-find-usable-secret-key): Remove functions.
57248         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
57250         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
57251         (mml2015-passphrase-cache-expiry): Obsolete.
57252         (mml2015-epg-secret-key-id-list): Remove variable.
57253         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
57254         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
57255         (mml2015-epg-find-usable-secret-key): Remove functions.
57256         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
57257         (mml2015-epg-encrypt): Refactor.
57259 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57261         Merge from gnulib
57263         This mostly just updates copyright dates of gnulib files.
57264         It also updates to the latest version of texinfo.tex.
57266 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
57268         Move variables to inner loop, preparing for Mac port merge
57270         * src/keyboard.c (command_loop_1): Move variables `cmd',
57271         `keybuf', and `i' to inner loop.
57273 2016-01-17  Bill Wohler  <wohler@newt.com>
57275         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
57277 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57279         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
57281         (syntax-ppss):
57282         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
57284 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57286         lisp/nxml: Use syntax-tables for comments
57288         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
57289         (nxml-mode): Set syntax-ppss-table.
57290         Use sgml-syntax-propertize-function for syntax-propertize-function.
57291         Let font-lock highlight strings and comments.
57292         (nxml-degrade): Don't touch "nxml-inside" property any more.
57293         (nxml-after-change, nxml-after-change1): Remove functions.
57294         (comment): Don't set fontify rule any more.
57295         (nxml-fontify-attribute): Don't highlight the value any more.
57296         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
57297         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
57299         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
57300         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
57301         (nxml-clear-inside, nxml-set-inside): Remove.
57302         (nxml-scan-after-change): Remove function.
57303         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
57304         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
57305         (nxml-move-outside-backwards):
57306         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
57307         nxml-inside-start behavior.
57309         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
57310         (nxml-debug-clear-inside): Remove macros.
57312         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
57313         (xmltok-scan-after-comment-open): Simplify.
57315 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57317         * lisp/progmodes/elisp-mode.el
57318         (elisp--font-lock-flush-elisp-buffers): Fix comment
57320 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57322         * lisp/nxml: Use standard completion; it also works for company-mode
57324         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
57325         (nxml-completion-at-point-function): Remove.
57326         (nxml-mode): Don't set completion-at-point-functions.
57327         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
57328         (rng-completion-at-point): Rename from rng-complete and mark it
57329         non-interactive.  It is now to be used as completion-at-point-function.
57330         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
57331         (rng-complete-attribute-value): Don't perform completion, but return
57332         completion data instead.
57333         (rng-complete-qname-function, rng-generate-qname-list): Add a few
57334         arguments, previously passed via dynamic coping.
57335         (rng-strings-to-completion-table): Rename from
57336         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
57337         sorting and uniquifying.
57339         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
57340         (rng-completion-exact-p, rng-quote-string): Delete functions.
57342         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
57343         (rng-missing-attributes-message, rng-missing-element-message)
57344         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
57345         calling rng-quote-string everywhere.
57347 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57349         Use sgml-electric-tag-pair-mode also in nxml-mode
57351         * lisp/nxml/rng-nxml.el: Require sgml-mode.
57352         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
57353         (rng-complete-qname-function): Use complete-with-action.
57355         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
57356         Let-bind forward-sexp-function, since nxml-mode binds it to
57357         something incompatible.
57359         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
57361 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
57363         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
57364         opener.
57366         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
57367         marker on the "sole --" rather than on the comment opener.
57369 2016-01-15  Sam Steingold  <sds@gnu.org>
57371         replace `tramp-compat-split-string' (removed) with `split-string'
57373         (python-shell-tramp-refresh-process-environment)
57374         (python-shell-calculate-pythonpath): use `split-string'
57375         instead of defunct `tramp-compat-split-string'
57377 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
57379         Update nXML to use Emacs's Unicode support, and lexical-binding
57381         * etc/nxml/*.el: Remove obsolete char-name files.
57382         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
57383         var `next'.
57384         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
57385         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
57386         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
57387         (nxml-target-section-pos, nxml-depth-in-target-section)
57388         (nxml-outline-state-transform-alist)
57389         (nxml-outline-display-section-tag-function): Move decl before first use.
57390         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
57391         (nxml-char-name-alist, nxml-char-name-table)
57392         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
57393         (nxml-enable-char-name-set, nxml-disable-char-name-set)
57394         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
57395         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
57396         (nxml-insert-named-char): Use read-char-by-name instead.
57397         (nxml-char-ref-display-extra): Use get-char-code-property.
57398         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
57399         Remove function.
57400         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
57402 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
57404         Add "sg" method to Tramp
57406         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
57407         (Customizing Completion): Add function `tramp-parse-etc-group'.
57409         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
57410         (tramp-completion-function-alist-sg): New defconst.
57411         (top): Completion function for "sg" is
57412         `tramp-completion-function-alist-sg'.
57414         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
57415         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
57417 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
57419         Remove XEmacs compatibility in Tramp
57421         * doc/misc/tramp.texi: Replace flags by their hard coded name.
57422         Remove unused flags and the enclosed alternative text for XEmacs.
57424         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
57425         and "xemacs" flags to "unified" and "separate".  Remove flags
57426         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
57427         "emacsothername", "emacsotherdir" and "emacsotherfilename".
57428         (trampver):
57429         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
57431         * lisp/net/tramp.el (bkup-backup-directory-info)
57432         (directory-sep-char, ls-lisp-use-insert-directory-program)
57433         (outline-regexp, tramp-backup-directory-alist)
57434         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
57435         (tramp-file-name-regexp-unified)
57436         (tramp-file-name-regexp-separate)
57437         (tramp-completion-file-name-regexp-unified)
57438         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
57439         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
57440         (tramp-debug-message, tramp-progress-reporter-update)
57441         (with-tramp-progress-reporter)
57442         (tramp-rfn-eshadow-setup-minibuffer)
57443         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
57444         (tramp-rfn-eshadow-update-overlay)
57445         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
57446         (tramp-file-name-for-operation)
57447         (tramp-completion-file-name-handler)
57448         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
57449         (tramp-handle-directory-files)
57450         (tramp-handle-directory-files-and-attributes)
57451         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
57452         (tramp-handle-insert-file-contents, tramp-handle-load)
57453         (tramp-handle-shell-command)
57454         (tramp-handle-verify-visited-file-modtime)
57455         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
57456         (tramp-check-for-regexp, tramp-wait-for-regexp)
57457         (tramp-send-string, tramp-mode-string-to-int)
57458         (tramp-get-local-gid, tramp-check-cached-permissions)
57459         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
57460         (auto-save-file-name-transforms)
57461         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
57462         (tramp-clear-passwd, tramp-time-diff):
57463         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
57464         (directory-sep-char, tramp-adb-file-name-handler-alist)
57465         (tramp-adb-parse-device-names)
57466         (tramp-adb-handle-expand-file-name)
57467         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
57468         (tramp-adb-handle-file-local-copy)
57469         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
57470         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
57471         (tramp-adb-handle-shell-command)
57472         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
57473         (tramp-adb-maybe-open-connection):
57474         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
57475         (tramp-cache-print):
57476         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
57477         (tramp-bug, tramp-reporter-dump-variable)
57478         (tramp-load-report-modules, tramp-append-tramp-buffers):
57479         * lisp/net/tramp-compat.el (tramp-compat-funcall)
57480         (tramp-advice-file-expand-wildcards)
57481         (tramp-compat-temporary-file-directory)
57482         (tramp-compat-make-temp-file, tramp-compat-copy-file)
57483         (tramp-compat-delete-directory, )
57484         (tramp-compat-process-running-p):
57485         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
57486         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
57487         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
57488         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
57489         (tramp-gvfs-handle-file-local-copy)
57490         (tramp-gvfs-handle-file-name-all-completions)
57491         (tramp-gvfs-handle-file-notify-add-watch)
57492         (tramp-gvfs-monitor-file-process-filter)
57493         (tramp-gvfs-handle-file-readable-p)
57494         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
57495         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
57496         (tramp-gvfs-maybe-open-connection)
57497         (tramp-gvfs-parse-device-names):
57498         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
57499         (tramp-gw-open-connection, tramp-gw-open-network-stream):
57500         * lisp/net/tramp-sh.el (directory-sep-char)
57501         (tramp-sh-file-name-handler-alist)
57502         (tramp-sh-handle-file-truename)
57503         (tramp-sh-handle-set-visited-file-modtime)
57504         (tramp-sh-handle-verify-visited-file-modtime)
57505         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
57506         (tramp-sh-handle-file-acl)
57507         (tramp-sh-handle-file-name-all-completions)
57508         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
57509         (tramp-do-copy-or-rename-file-directly)
57510         (tramp-do-copy-or-rename-file-out-of-band)
57511         (dired-compress-file-suffixes, dired-remove-file)
57512         (tramp-sh-handle-dired-compress-file)
57513         (tramp-sh-handle-insert-directory)
57514         (tramp-sh-handle-expand-file-name)
57515         (tramp-sh-handle-start-file-process)
57516         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
57517         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
57518         (tramp-sh-handle-file-notify-add-watch)
57519         (tramp-sh-gvfs-monitor-dir-process-filter)
57520         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
57521         (tramp-find-executable)
57522         (tramp-open-connection-setup-interactive-shell)
57523         (tramp-find-inline-encoding, tramp-compute-multi-hops)
57524         (tramp-maybe-open-connection, tramp-convert-file-attributes)
57525         (tramp-get-remote-path, tramp-get-remote-touch):
57526         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
57527         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
57528         (tramp-smb-handle-delete-directory)
57529         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
57530         (tramp-smb-handle-make-directory-internal)
57531         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
57532         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
57533         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
57534         (tramp-smb-get-cifs-capabilities)
57535         (tramp-smb-maybe-open-connection):
57536         * lisp/net/trampver.el (tramp-repository-get-version):
57537         Remove XEmacs compat code.
57539         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
57540         (reporter-dump-variable): Declare functions.
57542         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
57543         (tramp-advice-minibuffer-electric-separator)
57544         (tramp-advice-minibuffer-electric-tilde)
57545         (tramp-handle-unhandled-file-name-directory):
57546         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
57547         (tramp-compat-font-lock-add-keywords)
57548         (tramp-compat-load, tramp-compat-number-sequence)
57549         (tramp-compat-split-string, tramp-compat-delete-dups):
57550         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
57551         Remove.
57553         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
57554         recursively.
57556 2016-01-14  K. Handa  <handa@gnu.org>
57558         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
57560         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
57561         second glyph only when there are enough glyphs.
57563 2016-01-13  Glenn Morris  <rgm@gnu.org>
57565         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
57567         or its hook, to move point.  (Bug#22348)
57569 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
57571         Merge missing commit from emacs-25 branch
57573         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
57574         New variables.
57575         (check-expensive, check-doit): New targets.
57577         * Makefile.in (check-expensive): New target.
57579         * test/lisp/autorevert-tests.el
57580         (auto-revert-test01-auto-revert-several-files):
57581         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
57582         (file-notify-test06-many-events):
57583         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
57584         (tramp-test27-start-file-process, tramp-test28-shell-command)
57585         (tramp-test29-vc-registered)
57586         (tramp-test31-special-characters-with-stat)
57587         (tramp-test31-special-characters-with-perl)
57588         (tramp-test31-special-characters-with-ls)
57589         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
57590         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
57591         (tramp-test35-unload): Tag the tests as :expensive-test.
57593 2016-01-11  John Wiegley  <johnw@newartisans.com>
57595         Merge from origin/emacs-25
57597         1f6898d test/automated/vc-hg.el: Support out-of-tree build
57598         3adb56e Minor change in tramp-tests.el
57599         2b535ba ; * etc/NEWS: Update the js.el entry.
57600         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
57601         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
57602         36b9539 Avoid an infloop when we run out of memory
57603         2006752 Avoid unnecessary failures of auto-saving after fatal error
57604         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
57605         552694a Revert attempt to use 'noexcept' in typedef
57606         6ad0d39 Update documentation of 'indirect-function'
57607         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
57608         303141a Update documentation for obsoleting 'syntax-begin-function'
57609         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
57610         e667bbb Document new features if Eshell
57611         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
57612         1089dc9 Handle too long commands in Tramp
57613         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
57614         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
57615         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
57616         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
57617         cca0f93 ; Account for spaces before the filename
57618         c71e1e8 Use short date for 'hg annotate', and output the author
57619         f50027b Spelling fix
57620         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
57621         cc140bc Document user-level functions in project.el
57622         f8208b6 Document the user-level features of the Xref package
57623         b131fb8 * loading.texi: Add `define-type' entry for load-history
57624         db3c2a8 Improve doc strings and prompts in xref.el
57625         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
57626         90fd798 Fix coding system for Tramp on OS X.
57627         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
57628         9dfcbf0 Update 'load-history' docs
57629         207e191 Fix (error ...) error
57630         457738f Correctly analyze brace arguments in templated C++ function declarations.
57631         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
57632         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
57633         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
57634         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
57635         4b37cba Improve documentation of Delete Selection mode
57636         a034dd3 Fix two project-find-file issues
57637         30abf29 Clarify doc string of 'dired-current-directory'
57638         e990bb2 Use the face of preceding text for displaying the ellipsis
57639         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
57640         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
57641         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
57642         648de81 ; Add NEWS entry for project.el
57643         671862f apropos-library: Skip obvious duplicates; don't error on generics
57644         51668a5 ; Grammar fix
57645         ed41d11 Add project-find-file and project-or-external-find-file
57646         056da45 ; Improve commentary in 'setup_for_ellipsis'
57647         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
57649 2016-01-11  John Wiegley  <johnw@newartisans.com>
57651         Merge from origin/emacs-25
57653         ce4a052 Add defvar-local to lisp-imenu-generic-expression
57654         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
57655         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
57656         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
57657         b6b47af Properly encode/decode base64Binary data in SOAP
57658         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
57659         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
57660                 Update the URI of MELPA and marmalade-repo.
57661                 Reported by CHENG Goa <chenggao@royau.me> in
57662                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
57663         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
57664         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
57665         7380990 Remove function wrongly on AWK Mode value of context
57666         fontification hook.
57667         d400753 * src/buffer.c: Stick with ASCII in doc string.
57668         221240c Reword transient-mark-mode doc string
57669         977d3ea Update doc string of 'selective-display'
57670         229c3fa Make C++ buffers writeable when writing their initial text
57671                 properties.
57672         f5c762c Additional changes for "make check-expensive"
57673         1729cf3 ; * admin/MAINTAINERS: Remove myself.
57674         33219d3 Apply text properties for <, > in new after-change function
57675                 (C++ Java Modes).
57677 2016-01-11  John Wiegley  <johnw@newartisans.com>
57679         Merge from origin/emacs-25
57681         9fb185a shr-tag-video bug fix
57682         6300655 Minor fixes in tramp-tests.el
57683         50575b1 Ensure redisplay when 'truncate-lines' is set
57684         0d9e80d Fix a doc string of 'transient-mark-mode'
57685         0000ae5 MS-Windows followup to latest gnulib update
57686         4bc5e02 Spelling fix
57687         f1093f7 Do secure signed Bcc handling
57689 2016-01-11  John Wiegley  <johnw@newartisans.com>
57691         Merge from origin/emacs-25
57693         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
57694         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
57695         71ea138 * lisp/align.el (align): Simplify a lambda
57696         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
57697         1f680db Fix compilation next-error in buffers with selective-display
57698         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
57699         1da116f Add SHA1 warnings for high network security settings
57700         e48bacd ; * etc/NEWS: Typo fix.
57702 2016-01-11  John Wiegley  <johnw@newartisans.com>
57704         Merge from origin/emacs-25
57706         43662a2 ; Clarify that xref is still experimental
57707         0a6e6ca ; * admin/release-process: Remove some obsolete records.
57708         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
57709         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
57710         0a7ad07 ; Re-arrange xref-related entries in NEWS.
57711         fe903ef Fix xref-find-references on MS-Windows
57712         55a28d8 ; Fixed visual bell artifact problem on NextStep.
57713         d064034 Document new features of tildify-mode
57714         964bea7 Document new features of Whitespace mode
57715         cd68f47 Improve documentation of new Hide-IfDef features
57716         723b8bf Fix regression in font-locking cl-assert and cl-check-type
57718 2016-01-11  John Wiegley  <johnw@newartisans.com>
57720         Merge from origin/emacs-25
57722         ef33bc7 Spelling and grammar fixes
57723         9c3dbab Fix copyright years by hand
57724         0e96320 Update copyright year to 2016
57726 2016-01-11  John Wiegley  <johnw@newartisans.com>
57728         Merge from origin/emacs-25
57730         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
57731         526d80c Port chart.el methods to cl-generic.
57732         410bb69 Add nt/INSTALL.W64 build instructions
57733         8f5b524 Add new input method 'programmer-dvorak'
57734         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
57735         bb83bb1 Fix EWW rendering of long RTL lines
57736         b1a8509 fix  bug#21054
57737         ce5ad12 Clean up cairo printing code
57739 2016-01-11  John Wiegley  <johnw@newartisans.com>
57741         Merge from origin/emacs-25
57743         6ee327d Add handle_user_signal_hook
57744         47580e0 Avoid writing to purespace
57745         0588be7 Remove unused variable
57746         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
57747         3b95e9c Use posix_openpt instead of openpty on Darwin
57748         86312ff Document support for ':documentation' in Lisp mode
57749         c930e75b Document new features of TeX mode
57750         7c83d84 Clarify docs of hscroll in RTL text
57751         4c8f8db Fix rendering of HTML pages that use character composition
57752         a8d37ca Avoid some compiler warnings in w32.c
57753         ce106f3de Undo ill-advised change
57754         be0bba4 Unbreak completion in python-mode buffers
57756 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57758         Adding example replies to bug-triage.
57760         * admin/notes/bug-triage: Added example replies. Also, as requested,
57761           making the process notes into more of a checklist.
57763 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57765         Rename the notes/admin/triage file to bug-triage.
57767         * CONTRIBUTE: Change reference to the triage file name.
57768         * admin/notes/triage: Rename file to admin/notes/bug-triage.
57770 2016-01-08  K. Handa  <handa@gnu.org>
57772         Fix outdated comments.
57774 2016-01-06  Glenn Morris  <rgm@gnu.org>
57776         Allow creation of loaddefs files without timestamps.
57778         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
57779         (autoload-generate-file-autoloads, update-directory-autoloads):
57780         If autoload-timestamps is nil, write "t" instead of file timestamp.
57781         (autoload-find-destination, update-directory-autoloads):
57782         If timestamp is "t", use the modtime of the output file instead.
57784 2016-01-06  Glenn Morris  <rgm@gnu.org>
57786         Doc tweaks.
57788         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
57789         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
57790         (calendar-iso-from-absolute):
57791         * lisp/calendar/cal-tex.el (cal-tex-comment):
57792         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
57794 2016-01-06  Glenn Morris  <rgm@gnu.org>
57796         Build tweaks related to tags files.
57798         * lib-src/Makefile.in (tagsfiles): New variable.
57799         (TAGS): Also depend on the source files.  Use our own etags program.
57800         * lisp/Makefile.in (ETAGS): Add EXEEXT.
57801         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
57802         Remove.
57803         (tagsfiles): New, replacing lisptagsfiles1 etc.
57804         Remove irrelevant source files here rather than in the TAGS rule.
57805         (${ETAGS}): New rule.
57806         (TAGS): Also depend on the etags executable.
57807         * lwlib/Makefile.in (EXEEXT): New, set by configure.
57808         (ETAGS): Add EXEEXT.
57809         (${ETAGS}): New rule.
57810         (ctagsfiles): Use "wildcard".
57811         (TAGS): Also depend on the etags executable.
57812         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
57813         (${ETAGS}): New rule.
57814         (TAGS): Fix dependencies.
57815         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
57816         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
57817         Remove "-t" argument.
57818         (${ETAGS}): New rule.
57819         (tagsfiles): New variable.
57820         (TAGS): New rule, with proper dependencies.
57821         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
57822         (ctagsfiles1, ctagsfiles2): Use "wildcard".
57823         (ctagsfiles3): Remove.
57824         (TAGS): Depend on etags.
57825         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
57826         directories decide if updates are needed.
57828 2016-01-06  Glenn Morris  <rgm@gnu.org>
57830         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
57832 2016-01-06  Glenn Morris  <rgm@gnu.org>
57834         * test/lisp/emacs-lisp/package-tests.el
57836         (package-test-macro-compilation): Fixup branch merge.
57838 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
57840         Fix fallout from merging emacs-25 branch in test/
57842         * .gitignore: Update for the new place of biditest.txt.
57843         * test/automated/: Directory removed.  All files moved to their
57844         proper places.
57845         * test/etags/: Directory removed.  All files moved to their proper
57846         places.
57847         * test/automated/url-parse-tests.el: File removed; it was an exact
57848         copy of the same file in test/lisp/url/.
57849         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
57851 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57853         Spelling fixes
57855 2016-01-04  Daniel Colascione  <dancol@dancol.org>
57857         Let users disable unsafe signal handling code
57859         * src/keyboard.c (syms_of_keyboard): New user variables
57860         `attempt-stack-overflow-recovery' and
57861         `attempt-orderly-shutdown-on-fatal-signal'.
57862         * src/sysdep.c (stack_overflow): Check
57863         `attempt-stack-overflow-recovery'.
57864         * src/emacs.c (terminate_due_to_signal): Check
57865         `attempt-orderly-shutdown-on-fatal-signal'.
57867 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
57869         * configure.ac: Add error message for gfile on Nextstep.
57871 2016-01-02  John Wiegley  <johnw@newartisans.com>
57873         Merge branch 'emacs-25-merge'
57875 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57877         Align textually on fix done for emacs-25 branch for bug#21054
57879         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
57880         and useless `(if t ...)' in order to align textually on fix done for
57881         emacs-25 branch for bug#21054.
57883 2016-01-01  K. Handa  <handa@gnu.org>
57885         support rendering of wider range of combinging characters by ftfont backend
57887         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
57888         supports rendering of combining characters, call
57889         font-shape-gstring.
57891         * src/font.c (Ffont_get): Handle `combining-capability' property.
57892         (syms_of_font): New symbol ":combining-capability'.
57894         * src/font.h (struct font_driver): New member combining_capability.
57896         * src/ftfont.c: Include "category.h".
57897         (ftfont_driver): Initialize combining_capability to
57898         ftfont_combining_capability.
57899         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
57900         FLT in advance.
57901         (ftfont_combining_capability): New function.
57903 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
57905         Add notes on bug triage procedure
57907         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
57908         * admin/notes/triage: New file explaining triage procedure.
57910 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57912         Correct ses-rename-cell cursor-intangible text prop updating.
57914         There were two problems:
57916         - First ses-rename-cell has to work when called non interactively
57917           (with non-nil CELL argument), so in this case the start pos of
57918           put-text-property cannot be plainly (point), you need a
57919           ses-goto-print call before
57921         - Second, the range itself was computed erronously, only the first
57922           char was affected instead of the full cell width. This was not
57923           noticeable prior to changes (Deprecate `intangible' and
57924           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
57926         * lisp/ses.el (ses-rename-cell): Correct computation of position range
57927         to which the 'cursor-intangible text property has to be set to cell
57928         new name.
57930 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57932         Don't fake empty cells value by "" when printing with a lambda.
57934         When using a lambda expression printer function the user should be
57935         free to format differently a really empty cell, ie. containing nil,
57936         from a cell containing an empty string "".
57938         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
57939         `value' in the case of a lambda expression printer function.
57941         * doc/misc/ses.texi (Printer functions): Add example and
57942         description about lambda expression printer function handling all
57943         the possible values, including unexpected ones.
57945 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57947         Quick temporary hack to fix curcell refreshing.
57949         The problem was caused by change: 2015-04-13 Deprecate `intangible'
57950         and `point-entered' properties. The problem is that this change has
57951         removed the (setq ses--curcell t) setting in the ses-command-hook
57952         function.
57954         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
57955         a condition to call function `ses-set-curcell'. Comment this as a quick
57956         temporary hack to make it work, as I don't know yet whether a definite
57957         correction would be to make the ses-set-curcell at every ses-check-curcell,
57958         or to revert to the previous approach, ie marking ses--curcell as out-of-date
57959         at every potentially cursor motion command.
57961 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57963         Restrictive URL checking tweaks
57965         * lisp/net/eww.el (eww): Check whether the domain is
57966         restrictive instead of the string
57967         (http://македонија.icom.museum is restrictive even if each
57968         part is from a different script).
57970 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57972         New function `puny-highly-restrictive-domain-p'
57974         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
57975         (puny-highly-restrictive-domain-p): New function.
57977 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57979         eww build fix (require puny)
57981 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57983         Transform non-restrictive domains to punycode for display
57985         * lisp/net/eww.el (eww): Check whether the domain is Highly
57986         Restrictive in the Unicode IDNA sense.
57988 2015-12-29  John Wiegley  <johnw@newartisans.com>
57990         Merge emacs-25 into master (using imerge)
57992 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
57994         Further Unicode restrictive fixups
57996         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
57997         identifier characters from table 3.
57999 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
58001         Add a new function to say whether a string is restrictive
58003         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
58005 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58007         Mention the new puny.el library
58009 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58011         IDNA-related fixes for the URL library
58013         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
58014         the Host: header.
58016         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
58017         domain names, but leave them as UTF-8, so that they can be
58018         IDNA-encoded later when contacting the host.
58020 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58022         IDNA-encode all domain names in `open-network-stream'
58024         * lisp/net/network-stream.el (open-network-stream)
58025         (network-stream-open-plain, network-stream-open-starttls):
58026         IDNA-encode all domain names, if needed.
58028 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58030         Fix puny-encoding all-non-ASCII domains
58032         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
58033         encoding case.
58035 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58037         shr link traversal fixup
58039         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
58041 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58043         Reconnect erc even on server errors
58045         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
58046         reconnect even if a server error has occurred (bug#18527).
58048 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58050         Fix punycode short circuit logic
58052         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
58054 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58056         IDNA speed up
58058         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
58060 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58062         Add IDNA domain encode/decode functions
58064         * lisp/net/puny.el (puny-decode-domain): New function.
58065         (puny-encode-domain): Ditto.
58066         (puny-decode-digit): Fix digit decoding error.
58068 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
58070         Rename idna.el to puny.el
58072         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
58073         the external idna.el library.
58075 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
58077         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
58079         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
58080         Don't use split-string with 4th arg for old Emacsen compatibility.
58082 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58084         * lisp/net/idna.el (idna-decode-string-internal): Implement
58085         decoding.
58087 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58089         Further IDNA tweaks
58091         (idna-encode-string): Make idna-encode-string safe for
58092         non-ASCII use.
58094 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58096         Clean up the code slightly
58098 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58100         Added basic idna encoding support
58102         * lisp/net/idna.el: New file.
58104 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
58106         Disconnection fixes for erc
58108         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
58109         reconnect if the user has disconnected explicitly (bug#4589).
58111 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
58113         Further erc asynch fixes
58115         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
58116         erc-server-connect to return even if the connection is not
58117         ready.  Then erc-open and erc-server-reconnect do the
58118         same. (bug#5650).
58120 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
58122         Make erc connect asynchronously
58124         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
58125         reconnect asynchronously.
58127         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
58129 2015-12-27  David Edmondson  <dme@dme.org>
58131         Proxy error in erc with multiple clients
58133         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
58134         generated when multiple IRC clients talk to a single IRC proxy
58135         (bug#19034).
58137 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
58139         Fix mml-sec build warnings
58141         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
58142         (bug#18718).
58144 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58146         (eww-setup-buffer): Restore left-to-right defaults
58148         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
58150 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
58152         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
58154 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
58156         Identify unsafe combinations of Bcc and encryption
58158         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
58159         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
58160         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
58162 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
58164         * shr.el (shr-descend): Allow using lambdas in external functions.
58166 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58168         * admin/gitmerge.el: Tweaks that seemed necessary
58170         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
58171         (gitmerge-maybe-resume): Provide explicit empty commit message.
58173 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
58175         Use a different port for TLS erc
58177         * lisp/erc/erc.el (erc-default-port-tls): New variable
58178         (bug#19497).
58179         * lisp/erc/erc.el (erc-tls): Use it.
58181 2015-12-25  Alain Schneble  <a.s@realize.ch>
58183         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
58185         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
58186         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
58187         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
58188         information in URL-struct.
58189         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
58190         path and query into nil path and query, respectively.
58191         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
58192         empty path into an absolute ("/") path.
58193         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
58194         fragment-only URIs. Do not just return them unchanged.
58195         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
58196         reference URI should not drop the last segment.
58198 2015-12-25  Alain Schneble  <a.s@realize.ch>
58200         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
58202         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
58203         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
58204         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
58205         information in URL-struct.
58206         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
58207         path and query into nil path and query, respectively.
58208         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
58209         empty path into an absolute ("/") path.
58210         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
58211         fragment-only URIs. Do not just return them unchanged.
58212         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
58213         reference URI should not drop the last segment.
58215 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58217         Let url use default file modes when copying files
58219         * lisp/url/url-handlers.el (url-copy-file): Use default file
58220         modes when copying files (bug#11400).
58222 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
58224         Doc fix for url-http
58226         * lisp/url/url-http.el (url-http): Document better return values
58227           (bug#13187) (tiny change)
58229 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58231         * eww.el (eww-display-html): Support <button> tags (bug#20485).
58233 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58235         Made ffap-url-p a defun instead of a defsubst
58237         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
58238         since there doesn't seem to be much of a reason for it to be a
58239         defsubst (bug#18203).
58241 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58243         Add a command to view files in the browser to dired
58245         * lisp/dired.el (dired-mode-map): Add the `W' command
58246         (bug#18810).
58248 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58250         Allow http://user:pass@foo/ URLs again
58252         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
58253         user/passwords in URLs (bug#19046).
58255 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58257         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
58259 2015-12-25  Samer Masterson  <samer@samertm.com>
58261         Autoload url-insert-buffer-contents
58263         * lisp/url/url-handlers.el: Add autoload cookie so that
58264         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
58266 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58268         Allow toggling colors in eww
58270         * doc/misc/eww.texi (Basics): Mention "C".
58272         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
58274         * lisp/net/shr.el (shr-use-colors): New variable.
58275         (shr-colorize-region): Use it.
58277 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
58279         Follow meta refresh tags in eww
58281         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
58283 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58285         More eww file name coding fixes
58287         * eww.el (eww-decode-url-file-name): Use the base coding
58288         system to check for encodability.
58290 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58292         Always save eww history
58294         * eww.el (eww-setup-buffer): Always save history, even when
58295         called from outside the eww buffer (bug#19638).
58297 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58299         Default web pages to right-to-left
58301         * eww.el (eww-mode): Most web pages are left-to-right, so make
58302         that the default (bug#19801).
58304         * shr.el (shr-tag-html): Respect "dir" attributes
58305         (left-to-right, right-to-left).
58307 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58309         Make toggling checkboxes work again
58311         * eww.el (eww-update-field): Make toggling checkboxes work
58312         again (bug#21881).
58314 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58316         Don't store cookies with empty names
58318         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
58319         cookies with empty names (bug#21936).
58321 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58323         Stop rendering HTML before specdlr exhaustion
58325         Fixes: 22117
58327         * shr.el (shr-descend): Stop rendering before we run out of
58328         specpdl room (bug#22117).
58330 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58332         Use cl-reduce, not reduce.
58334 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58336         Allow several <tbody> tags in shr
58338         * shr.el (shr-table-body): New function to find the real body
58339         of a table.
58340         (shr-tag-table): Use it to render several <tbody> tags in a
58341         table (bug#22170).
58343 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58345         Make prettier unique file names in eww
58347         (eww-make-unique-file-name): Make unique file names by making
58348         files like foo(2).jpg instead of foo(1)(2).jpg.
58350 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58352         Decode hex-encoded URLs before using them as file names
58354         * eww.el (eww-decode-url-file-name): New function.
58355         (eww-download-callback): Use it to decode file names before
58356         saving them.
58358 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
58360         Add FreeBSD cert bundle
58362         * doc/misc/emacs-gnutls.texi (Help For Users): Document
58363         FreeBSD bundle.
58365         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
58367 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58369         Allow overriding shr functions from eww
58371         * eww.el (eww-display-html): Allow overriding elements in
58372         `shr-external-rendering-functions'.
58374 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58376         Ignore invalid SVG images
58378         * shr.el (shr-tag-svg): Ignore SVG images that have no width
58379         or height, because these can't be displayed by ImageMagick,
58380         anyway.
58382 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
58384         shr table rendering fix
58386         * shr.el (shr-tag-table): Allow rendering body-less tables
58387         that have headers.
58389 2015-12-22  Sam Steingold  <sds@gnu.org>
58391         clipboard should still work even if interprogram-* is disabled
58393         (clipboard-yank): When `interprogram-cut-function' is nil,
58394         bind it to `gui-selection-value' - the default value.
58395         (clipboard-kill-region, clipboard-kill-ring-save): When
58396         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
58397         the default value.
58399 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
58401         Fix bootstrap issue with dired-loaddefs
58403         * lisp/dired.el: Autoloads for secondary files loaded optionally.
58405 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58407         dired generate autoloads to non-versioned file.
58409         * lisp/dired.el: Remove autoloads.
58410         * lisp/Makefile.in: Add dired to autogenel.
58411         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
58412         * test/lisp/dired-tests.el: Add new test.
58414 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58416         eieio generate autoloads to non-versioned file.
58418         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
58419         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
58420           Remove autoloads.
58421         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
58422           lisp/emacs-lisp/eieio-opt.el: Update file local.
58423         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
58425 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58427         htmlfontify generate autoload to non-versioned file.
58429         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
58430         * lisp/hfy-cmap.el: Update file local.
58431         * lisp/htmlfontify.el: Remove autoloads, add require.
58432         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
58434 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58436         ibuffer generate autoloads to non-versioned file.
58438         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
58439         * lisp/ibuf-ext.el: Update file local.
58440         * lisp/ibuffer.el: Remove autoloads and add a require.
58441         * test/lisp/ibuffer-tests.el: Test that autoload is working.
58443 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58445         rmail generate autoloads to non-versioned file.
58447         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
58448         * lisp/mail/rmail.el: Remove autoloads, add require.
58449         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
58450         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
58451         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
58452         * lisp/mail/undigest.el: Update file-local.
58453         * test/lisp/mail/rmail-tests.el:
58455 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58457         Add autoload-force target.
58459         * lisp/Makefile.in (autoload-force): New target.
58461 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58463         ps-print generate autoloads to non versioned file.
58465         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
58466         * lisp/ps-print.el: Remove autoloads.
58467         * lisp/ps-mule.el: Update file-local.
58468         * test/lisp/ps-print-tests.el: Test autoload functionality.
58470 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
58472         reftex generate autoloads to non versioned file.
58474         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
58475         * lisp/textmodes/reftex.el: Remove autoloads.
58476         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
58477         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
58478         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
58479         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
58480         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
58481         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
58482           function.
58484 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
58486         * lisp/calculator.el (calculator-define-key): Undo last change
58488         Make map argument mandatory instead (bug#22106).
58489         (calculator-add-operators): Pass the argument that's not optional any more.
58491 2015-12-03  Glenn Morris  <rgm@gnu.org>
58493         * Makefile.in: Avoid duplication.
58495         (have-tests): New rule.
58496         (check, check-maybe): Use it.
58498 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
58500         make check unconditional, check-maybe top-level.
58502          * Makefile.in: Add check-maybe target.
58503          * test/Makefile.in: Restore unconditional behavior to make check.
58505 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
58507         Tests now support out-of-source-build.
58509          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
58510            about current working directory.
58512 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
58514         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
58516 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58518         Improve documentation and clean up.
58520          * test/Makefile.in: Improve documentation, use EMACS variable
58521            correctly, and clean up makefile rules.
58523 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58525         Update file headers for name change.
58527          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
58529 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58531         Test files renamed to new scheme.
58533          * (finalizer-tests.el): Now renamed alloc-tests.el
58534          * (zlib-tests.el): Now renamed decompress-tests.el.
58536 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58538         Tests now depend on source files
58540          * test/Makefile.in: Include dependences from tests to source files.
58541          * test/make-test-deps.emacs-lisp: New file
58542          * .gitignore: Ignore generated make include file
58544 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
58546         * lisp/progmodes/which-func.el: Improve disabling the mode
58548         Use lexical-binding.
58549         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
58550         (which-func, which-func-format): Remove redundant :group arg.
58551         (which-func-try-to-enable): New function.
58552         (which-func-ff-hook, which-function-mode): Use it.
58553         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
58554         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
58556 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
58558         * lisp/calculator.el (calculator-define-key): Silence warning
58560         ...about unknown calculator-mode-map.
58562 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58564         * lisp/calculator.el: more improvements and bugfixes.
58566         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
58567           effect anyway.)
58569         - Simplify `calculator-number-to-string' by throwing most of the work
58570           onto `number-to-string', leaving just some tweaks for decimal inputs.
58571           This leads to some minor changes, for example, pasting "1x1" in hex
58572           mode would warn that "x" is ignored and result in "11" (and it wasn't
58573           done in decimal mode), whereas now it just ignores everything from the
58574           "x" and on and result in a "1" just like in decimal input mode.  Also,
58575           overflows are left for `number-to-string' to deal with.
58577         - `calculator-paste' is very simple as a result.
58579         - Extend the simplified `calculator-paste': with a prefix argument it
58580           pastes a string as if the characters were entered.  This can be used
58581           to reduce expressions, but note that it's a simple literal operation,
58582           so precedence can be messed, a number can be paster while entering a
58583           number, spaces and newlines matter, etc.
58585         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
58586           operator.
58588         - Fix a bug in `calculator-put-value': avoid grouping in the display
58589           that is used to construct `calculator-curnum'.  This would trigger
58590           when pasting or getting a value from a register in some radix mode
58591           with a large enough value.  Another fix: make the output radix equal
58592           the input one, otherwise numbers could be converted twice.
58594 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58596         * lisp/calculator.el: Re-do key bindings.
58598         Use a helper function that arranges a parent keymap that binds alternate
58599         case keys so if some letter key is unbound and it's un/shifted version
58600         is, it will get used.  This makes the global-map trickery unnecessary.
58602         Also switch to passing strings that name keys through `kbd'.
58604 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58606         * lisp/calculator.el: improve radix modes
58608         Fix prompt for some input radix with decimal output (eg, "BD" instead of
58609         the incorrect "B="); also, some minor docstring tweaks for these.
58611 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58613         * lisp/calculator.el: better reading of register names
58615         Use `register-read-with-preview' with a dynamically bound
58616         `register-alist' and a proper preview function to read register names.
58618 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58620         * lisp/calculator.el: General improvements
58622         Use things like `when', `unless', and `push'.
58624         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
58625         non-electric mode.
58627 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
58629         Fix a problem with gfilenotify in filenotify-tests.el
58631         * test/lisp/filenotify-tests.el
58632         (file-notify--test-expected-events): Remove.
58633         (file-notify--test-cleanup): Do not set that variable.
58634         (file-notify--test-with-events): EVENTS can also be a list of lists.
58635         (file-notify-test02-events, file-notify-test04-file-validity):
58636         Adapt expected result.
58638 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58640         * .gitignore: Adjust to changes in 'test' directory structure.
58642 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58644         Fix test/manual/etags/Makefile
58646         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
58647         changes in 'test' directory structure.
58649 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58651         Exclude resource dirs from search for tests.
58653         * test/Makefile.in: Test file locations are now found with find
58654           rather than using finds native functions.
58656 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58658         Add test targets without directory names.
58660          * (test/Makefile.in): Extend test_template to add two targets for each
58661            file.
58663 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
58665         * lisp/emacs-lisp/package.el: Require url-handlers
58667 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58669         Move elisp-mode-tests to new function names.
58671          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
58672          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
58674 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
58676         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
58678 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
58680         Merge branch 'feature/standard-test-location'
58682 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58684         * lisp/emacs-lisp/eieio.el: Add some default implementations
58686         (standard-class): Mark it obsolete.
58687         (slot-missing): Give it a default implementation.
58688         (destructor): Simplify and mark it obsolete.
58689         (object-print): Give it a default implementation.
58690         (eieio-change-class): Rename from change-class.
58691         (change-class): Redefine as obsolete alias.
58693 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58695         Mention kqueue in NEWS
58697 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58699         Merge from scratch/kqueue
58701         bec57a4 Some final fixes in file notification before merging with master
58702         0247489 Rework file notifications, kqueue has problems with directory monitors
58703         5154781 Continie with pending events
58704         6b490c0 Improve loops in file-notify-test06-many-events
58705         c8e266f Handle more complex rename operation in kqueue
58706         5044bdf New test with a larger number of events.
58707         65ba5a9 Further fixes for kqueue.
58708         13f3508 Code cleanup of kqueue.c
58709         99aa855 Doc changes for kqueue
58710         8deebe1 Finish implementation in kqueue.c
58711         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58712         e95b309 More work on kqueue
58713         41d9bd0 Implement directory events
58714         c571fc1 Build fixes for kqueue support.
58715         e0a68f2 Continue kqueue implementation
58716         7543d1c Work on kqueue
58717         e3354e2 Add kqueue support
58718         c6457ce Minor fix to comment indentation and typo in last commit
58719         b92307f linum-mode plays more nicely with other margin-setting extensions
58720         58e6235 * lisp/image-mode.el: Support encrypted file
58721         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
58722         47f83b6 ; ChangeLog.2 fixes
58723         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
58724         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
58725         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
58726         70f1fda ; Auto-commit of ChangeLog files.
58727         ae0653b * CONTRIBUTE: Remove information about feature freeze.
58728         9459456 Merge branch 'release-process-lowercase'
58729         9a4aa0f Document the release process
58730         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
58731         dcd5877 gitmerge: Fix git log command
58732         2ac79ae gitmerge: Try to detect cherry-picks
58733         5f7a2a9 Increment Emacs version on master branch
58734         ed2e7e2 Mention CONTRIBUTE in README
58735         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
58736         138ad3d ; Fix warnings
58737         7126e9a ; Update xref-etags-mode for the latest change
58738         246d660 Use generic dispatch for xref backends
58739         31f6e93 Support rectangular regions for more commands
58740         f103a27 Handle multiple matches on the same line; add highlighting
58741         fe973fc Replace xref-match-bounds with xref-match-length
58742         92a5010 Merge from gnulib
58743         04ac097 Spruce up ftfont.c memory allocation
58744         4c4b520 Port recent XCB changes to 64-bit ‘long int’
58745         4f0ce9c * src/undo.c (run_undoable_change): Now static.
58746         695a6f9 Remove support for ':timeout' from w32 tray notifications
58747         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
58748         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
58749         66b9f7b * src/undo.c: Small fixes for previous change
58750         2fac30e Add a few more variables to redisplay--variables
58751         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
58752         e221d32 Fix point positioning after transposing with negative arg
58753         35f5afb Fix last change in shr.el
58754         508e77b Fix last change
58755         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
58756         805a39b Remove intern calls and XXX comments from Fx_export_frames
58757         9463abf shr: don't invoke unbound function (Bug#21895)
58758         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
58759         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
58760         39dbd1c : Tests for undo-auto functionality.
58761         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
58762         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'.
58763         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
58764         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
58765         1e363a8 Enable sorting of JSON object keys when encoding
58766         9dd7da9 * test/automated/keymap-tests.el: New test file
58767         aa17de9 Speed up x_real_pos_and_offsets using XCB
58768         a838c83 Enable use of XCB for checking window manager state
58769         c7f2b6a Detect XCB and save a connection handle
58770         e1c27db Reduce some data dependencies between X calls
58771         25e32bd Use color cache for creating bitmap
58772         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
58773         055ca3a Sync with soap-client repository, version 3.0.2
58774         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
58775         952395d * lisp/obarray.el: Fix shadowed variables
58776         436d330 Avoid error in submitting a form with EWW
58777         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
58778         51d840a Rename seq-p and map-p to seqp and mapp
58779         23036ba Rename obarray-p to obarrayp
58780         20aea42 Rename obarray-foreach to obarray-map
58781         a3b2101 New file with obarray functions.
58782         9d43941 Implement tray notifications for MS-Windows
58784 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58786         Some final fixes in file notification before merging with master
58788         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
58789         (file-notify-callback): Improve check for `stopped' event.  Call
58790         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
58791         (file-notify-add-watch): In case FILE is not a directory, call the
58792         file monitor for the kqueue backend.  Otherwise, call the
58793         directory monitor for the upper directory.
58795         * src/inotify.c (inotifyevent_to_event): Extract file name from
58796         watch_object if the event doesn't provide it.
58797         (Finotify_add_watch): Add file name to watch_object.
58799         * test/automated/file-notify-tests.el (file-notify--test-timeout):
58800         Use different timeouts for different libraries.
58801         (file-notify--test-with-events): Suppress lock files.  Flush
58802         outstanding events before running the body.
58803         (file-notify-test02-events, file-notify-test04-file-validity): Do
58804         not skip cygwin tests.  Add additional test for file creation.
58805         Adapt expected result for different backends.
58806         (file-notify-test03-autorevert): Some of the tests don't work for
58807         w32notify.
58808         (file-notify-test06-many-events): Rename into both directions.
58810 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58812         Rework file notifications, kqueue has problems with directory monitors
58814         * lisp/filenotify.el (file-notify-add-watch): Call the native
58815         add-watch function on the file, not on the dir.
58817         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
58818         about already deleted entries.
58820         * test/automated/auto-revert-tests.el
58821         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
58822         since this deletes the target file first.
58824         * test/automated/file-notify-tests.el (file-notify--test-event-test):
58825         Make stronger checks.
58826         (file-notify-test01-add-watch, file-notify-test02-events)
58827         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58828         Rewrite in order to call file monitors but directory monitors.
58829         (file-notify-test06-many-events): Ler rename work in both directions.
58831 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58833         Continie with pending events
58835         * src/kqueue.c (pending_events): Remove global variable.
58836         (kqueue_compare_dir_list): Create `write' event for not used
58837         pending events.
58838         (globals_of_kqueue): Remove initialization of pending_events.
58840 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58842         Improve loops in file-notify-test06-many-events
58844         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58845         Use `read-event' pauses for the `write-file' loops; otherwise
58846         events are lost in inotify and gfilenotify cases.
58848 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58850         Handle more complex rename operation in kqueue
58852         * src/kqueue.c (pending_events): New variable.
58853         (kqueue_compare_dir_list): Handle more complex rename operation.
58854         (globals_of_kqueue): Initialize pending_events.
58856         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58857         Adapt expected events in the `rename-file' case.
58858         (file-notify-test06-many-events-remote): Declare.
58860 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58862         New test with a larger number of events.
58864         * test/automated/file-notify-tests.el (file-notify--test-with-events):
58865         Make timeout heuristically depend on the number of events.
58867         (file-notify-test06-many-events): Use it for new test.
58869 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58871         Further fixes for kqueue.
58873         * lisp/filenotify.el (file-notify-callback): Raise also event if
58874         directory name matches.
58875         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
58877         * src/kqueue.c (kqueue_generate_event): Use watch_object as
58878         argument instead of ident.  Remove callback argument.  Adapt
58879         callees.  Check actions whether they are monitored flags.
58881         * test/automated/file-notify-tests.el (file-notify--test-library):
58882         New defun.
58883         (file-notify-test00-availability, file-notify-test02-events)
58884         (file-notify-test04-file-validity)
58885         (file-notify-test05-dir-validity): Use it.
58886         (file-notify-test02-events, file-notify-test04-file-validity): Add
58887         `read-event' calls between different file actions, in order to
58888         give the backends a chance to rais an event.  Needed especially
58889         for kqueue.  In case of deleting a directory, there are two
58890         `deleted' events.
58892 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58894         Code cleanup of kqueue.c
58896         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
58897         (kqueue_compare_dir_list): Do not loop when calling
58898         directory_files_internal.  Remove checks for "." and "..", this is
58899         done in kqueue_directory_listing now.
58900         (Fkqueue_add_watch): Check for proper emacs_open flags.
58902 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58904         Doc changes for kqueue
58906         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
58907         Fix some glitches in the example.
58909 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58911         Finish implementation in kqueue.c
58913         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
58914         Simplify access to list.
58915         (kqueue_compare_dir_list): Simplify access to list.  Raise
58916         `delete' event if directory does not exist any longer.  Otherwise,
58917         wait until directory contents has changed.  Fix error in check.
58919 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58921         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58923 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58925         More work on kqueue
58927         * lisp/filenotify.el (file-notify-callback): Handle also the
58928         `rename' event from kqueue.
58929         (file-notify-add-watch): Do not register an entry twice.
58931         * src/kqueue.c (kqueue_directory_listing): New function.
58932         (kqueue_generate_event): New argument FILE1.  Adapt callees.
58933         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
58935 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58937         Implement directory events
58939         * lisp/filenotify.el (file-notify-handle-event)
58940         (file-notify-callback): Remove traces.
58942         * src/kqueue.c: Include <sys/time.h>.
58943         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
58944         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
58945         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
58946         Compute initial directory listing.  Close file descriptor in case
58947         of errors.
58948         (syms_of_kqueue): Declare Qcreate.
58950 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58952         Build fixes for kqueue support.
58954         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
58955         flag.
58957         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
58958         kqueue on *BSD.
58960 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58962         Continue kqueue implementation
58964         * lisp/filenotify.el (file-notify-handle-event)
58965         (file-notify-callback): Enable trace messages.
58967         * src/kqueue.c: Include also <sys/types.h>.
58968         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
58969         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
58970         (syms_of_kqueue): Add them.
58972 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58974         Work on kqueue
58976         * lisp/filenotify.el (file-notify--library)
58977         (file-notify-descriptors, file-notify-callback)
58978         (file-notify-add-watch, file-notify-rm-watch)
58979         (file-notify-valid-p): Add kqueue support.
58981         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
58983 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58985         Add kqueue support
58987         * configure.ac (--with-file-notification): Add kqueue.
58988         (top): Remove special test for "${HAVE_NS}" and
58989         ${with_file_notification}, this is handled inside gfilenotify
58990         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
58991         instead of library specific variables.
58993         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
58995         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
58997         * src/kqueue.c: New file.
58999         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
59001 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
59003         Some final fixes in file notification before merging with master
59005         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
59006         (file-notify-callback): Improve check for `stopped' event.  Call
59007         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
59008         (file-notify-add-watch): In case FILE is not a directory, call the
59009         file monitor for the kqueue backend.  Otherwise, call the
59010         directory monitor for the upper directory.
59012         * src/inotify.c (inotifyevent_to_event): Extract file name from
59013         watch_object if the event doesn't provide it.
59014         (Finotify_add_watch): Add file name to watch_object.
59016         * test/automated/file-notify-tests.el (file-notify--test-timeout):
59017         Use different timeouts for different libraries.
59018         (file-notify--test-with-events): Suppress lock files.  Flush
59019         outstanding events before running the body.
59020         (file-notify-test02-events, file-notify-test04-file-validity): Do
59021         not skip cygwin tests.  Add additional test for file creation.
59022         Adapt expected result for different backends.
59023         (file-notify-test03-autorevert): Some of the tests don't work for
59024         w32notify.
59025         (file-notify-test06-many-events): Rename into both directions.
59027 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59029         Update elisp-mode-tests for changed file location.
59031          * test/lisp/progmodes/elisp-mode-tests.el:
59033 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59035         Exclude manual tests from Makefile
59037          * test/Makefile.in:
59039 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59041         Move package test files to new directory.
59043          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
59044          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
59046 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59048         Restore delete Makefiles and fix .gitignore.
59050          * .gitignore: Update Makefiles to changed locations
59051          * test/lisp/progmodes/flymake-resources/Makefile,
59052            test/manual/etags/Makefile,
59053            test/manual/etags/make-src/Makefile,
59054            test/manual/indent/Makefile: Restored and moved to new location.
59056 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59058         Test infrastructure: updates after directory move
59060          * (test/Makefile.in): Support directories several levels deep.
59061          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
59062          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
59064 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
59066         Rename all test files to reflect source layout.
59068         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
59069         test directory moves.
59070         * test/file-organisation.org: New file.
59071         * test/automated/Makefile.in:
59072         * test/automated/data/decompress/foo.gz:
59073         * test/automated/data/epg/pubkey.asc:
59074         * test/automated/data/epg/seckey.asc:
59075         * test/automated/data/files-bug18141.el.gz:
59076         * test/automated/data/flymake/test.c:
59077         * test/automated/data/flymake/test.pl:
59078         * test/automated/data/package/archive-contents:
59079         * test/automated/data/package/key.pub:
59080         * test/automated/data/package/key.sec:
59081         * test/automated/data/package/multi-file-0.2.3.tar:
59082         * test/automated/data/package/multi-file-readme.txt:
59083         * test/automated/data/package/newer-versions/archive-contents:
59084         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
59085         * test/automated/data/package/newer-versions/simple-single-1.4.el:
59086         * test/automated/data/package/package-test-server.py:
59087         * test/automated/data/package/signed/archive-contents:
59088         * test/automated/data/package/signed/archive-contents.sig:
59089         * test/automated/data/package/signed/signed-bad-1.0.el:
59090         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
59091         * test/automated/data/package/signed/signed-good-1.0.el:
59092         * test/automated/data/package/signed/signed-good-1.0.el.sig:
59093         * test/automated/data/package/simple-depend-1.0.el:
59094         * test/automated/data/package/simple-single-1.3.el:
59095         * test/automated/data/package/simple-single-readme.txt:
59096         * test/automated/data/package/simple-two-depend-1.1.el:
59097         * test/automated/abbrev-tests.el:
59098         * test/automated/auto-revert-tests.el:
59099         * test/automated/calc-tests.el:
59100         * test/automated/icalendar-tests.el:
59101         * test/automated/character-fold-tests.el:
59102         * test/automated/comint-testsuite.el:
59103         * test/automated/descr-text-test.el:
59104         * test/automated/electric-tests.el:
59105         * test/automated/cl-generic-tests.el:
59106         * test/automated/cl-lib-tests.el:
59107         * test/automated/eieio-test-methodinvoke.el:
59108         * test/automated/eieio-test-persist.el:
59109         * test/automated/eieio-tests.el:
59110         * test/automated/ert-tests.el:
59111         * test/automated/ert-x-tests.el:
59112         * test/automated/generator-tests.el:
59113         * test/automated/let-alist.el:
59114         * test/automated/map-tests.el:
59115         * test/automated/advice-tests.el:
59116         * test/automated/package-test.el:
59117         * test/automated/pcase-tests.el:
59118         * test/automated/regexp-tests.el:
59119         * test/automated/seq-tests.el:
59120         * test/automated/subr-x-tests.el:
59121         * test/automated/tabulated-list-test.el:
59122         * test/automated/thunk-tests.el:
59123         * test/automated/timer-tests.el:
59124         * test/automated/epg-tests.el:
59125         * test/automated/eshell.el:
59126         * test/automated/faces-tests.el:
59127         * test/automated/file-notify-tests.el:
59128         * test/automated/auth-source-tests.el:
59129         * test/automated/gnus-tests.el:
59130         * test/automated/message-mode-tests.el:
59131         * test/automated/help-fns.el:
59132         * test/automated/imenu-test.el:
59133         * test/automated/info-xref.el:
59134         * test/automated/mule-util.el:
59135         * test/automated/isearch-tests.el:
59136         * test/automated/json-tests.el:
59137         * test/automated/bytecomp-tests.el:
59138         * test/automated/coding-tests.el:
59139         * test/automated/core-elisp-tests.el:
59140         * test/automated/decoder-tests.el:
59141         * test/automated/files.el:
59142         * test/automated/font-parse-tests.el:
59143         * test/automated/lexbind-tests.el:
59144         * test/automated/occur-tests.el:
59145         * test/automated/process-tests.el:
59146         * test/automated/syntax-tests.el:
59147         * test/automated/textprop-tests.el:
59148         * test/automated/undo-tests.el:
59149         * test/automated/man-tests.el:
59150         * test/automated/completion-tests.el:
59151         * test/automated/dbus-tests.el:
59152         * test/automated/newsticker-tests.el:
59153         * test/automated/sasl-scram-rfc-tests.el:
59154         * test/automated/tramp-tests.el:
59155         * test/automated/obarray-tests.el:
59156         * test/automated/compile-tests.el:
59157         * test/automated/elisp-mode-tests.el:
59158         * test/automated/f90.el:
59159         * test/automated/flymake-tests.el:
59160         * test/automated/python-tests.el:
59161         * test/automated/ruby-mode-tests.el:
59162         * test/automated/subword-tests.el:
59163         * test/automated/replace-tests.el:
59164         * test/automated/simple-test.el:
59165         * test/automated/sort-tests.el:
59166         * test/automated/subr-tests.el:
59167         * test/automated/reftex-tests.el:
59168         * test/automated/sgml-mode-tests.el:
59169         * test/automated/tildify-tests.el:
59170         * test/automated/thingatpt.el:
59171         * test/automated/url-future-tests.el:
59172         * test/automated/url-util-tests.el:
59173         * test/automated/add-log-tests.el:
59174         * test/automated/vc-bzr.el:
59175         * test/automated/vc-tests.el:
59176         * test/automated/xml-parse-tests.el:
59177         * test/BidiCharacterTest.txt:
59178         * test/biditest.el:
59179         * test/cedet/cedet-utests.el:
59180         * test/cedet/ede-tests.el:
59181         * test/cedet/semantic-ia-utest.el:
59182         * test/cedet/semantic-tests.el:
59183         * test/cedet/semantic-utest-c.el:
59184         * test/cedet/semantic-utest.el:
59185         * test/cedet/srecode-tests.el:
59186         * test/cedet/tests/test.c:
59187         * test/cedet/tests/test.el:
59188         * test/cedet/tests/test.make:
59189         * test/cedet/tests/testdoublens.cpp:
59190         * test/cedet/tests/testdoublens.hpp:
59191         * test/cedet/tests/testfriends.cpp:
59192         * test/cedet/tests/testjavacomp.java:
59193         * test/cedet/tests/testnsp.cpp:
59194         * test/cedet/tests/testpolymorph.cpp:
59195         * test/cedet/tests/testspp.c:
59196         * test/cedet/tests/testsppcomplete.c:
59197         * test/cedet/tests/testsppreplace.c:
59198         * test/cedet/tests/testsppreplaced.c:
59199         * test/cedet/tests/testsubclass.cpp:
59200         * test/cedet/tests/testsubclass.hh:
59201         * test/cedet/tests/testtypedefs.cpp:
59202         * test/cedet/tests/testvarnames.c:
59203         * test/etags/CTAGS.good:
59204         * test/etags/ETAGS.good_1:
59205         * test/etags/ETAGS.good_2:
59206         * test/etags/ETAGS.good_3:
59207         * test/etags/ETAGS.good_4:
59208         * test/etags/ETAGS.good_5:
59209         * test/etags/ETAGS.good_6:
59210         * test/etags/a-src/empty.zz:
59211         * test/etags/a-src/empty.zz.gz:
59212         * test/etags/ada-src/2ataspri.adb:
59213         * test/etags/ada-src/2ataspri.ads:
59214         * test/etags/ada-src/etags-test-for.ada:
59215         * test/etags/ada-src/waroquiers.ada:
59216         * test/etags/c-src/a/b/b.c:
59217         * test/etags/c-src/abbrev.c:
59218         * test/etags/c-src/c.c:
59219         * test/etags/c-src/dostorture.c:
59220         * test/etags/c-src/emacs/src/gmalloc.c:
59221         * test/etags/c-src/emacs/src/keyboard.c:
59222         * test/etags/c-src/emacs/src/lisp.h:
59223         * test/etags/c-src/emacs/src/regex.h:
59224         * test/etags/c-src/etags.c:
59225         * test/etags/c-src/exit.c:
59226         * test/etags/c-src/exit.strange_suffix:
59227         * test/etags/c-src/fail.c:
59228         * test/etags/c-src/getopt.h:
59229         * test/etags/c-src/h.h:
59230         * test/etags/c-src/machsyscalls.c:
59231         * test/etags/c-src/machsyscalls.h:
59232         * test/etags/c-src/sysdep.h:
59233         * test/etags/c-src/tab.c:
59234         * test/etags/c-src/torture.c:
59235         * test/etags/cp-src/MDiagArray2.h:
59236         * test/etags/cp-src/Range.h:
59237         * test/etags/cp-src/burton.cpp:
59238         * test/etags/cp-src/c.C:
59239         * test/etags/cp-src/clheir.cpp.gz:
59240         * test/etags/cp-src/clheir.hpp:
59241         * test/etags/cp-src/conway.cpp:
59242         * test/etags/cp-src/conway.hpp:
59243         * test/etags/cp-src/fail.C:
59244         * test/etags/cp-src/functions.cpp:
59245         * test/etags/cp-src/screen.cpp:
59246         * test/etags/cp-src/screen.hpp:
59247         * test/etags/cp-src/x.cc:
59248         * test/etags/el-src/TAGTEST.EL:
59249         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
59250         * test/etags/erl-src/gs_dialog.erl:
59251         * test/etags/f-src/entry.for:
59252         * test/etags/f-src/entry.strange.gz:
59253         * test/etags/f-src/entry.strange_suffix:
59254         * test/etags/forth-src/test-forth.fth:
59255         * test/etags/html-src/algrthms.html:
59256         * test/etags/html-src/index.shtml:
59257         * test/etags/html-src/software.html:
59258         * test/etags/html-src/softwarelibero.html:
59259         * test/etags/lua-src/allegro.lua:
59260         * test/etags/objc-src/PackInsp.h:
59261         * test/etags/objc-src/PackInsp.m:
59262         * test/etags/objc-src/Subprocess.h:
59263         * test/etags/objc-src/Subprocess.m:
59264         * test/etags/objcpp-src/SimpleCalc.H:
59265         * test/etags/objcpp-src/SimpleCalc.M:
59266         * test/etags/pas-src/common.pas:
59267         * test/etags/perl-src/htlmify-cystic:
59268         * test/etags/perl-src/kai-test.pl:
59269         * test/etags/perl-src/yagrip.pl:
59270         * test/etags/php-src/lce_functions.php:
59271         * test/etags/php-src/ptest.php:
59272         * test/etags/php-src/sendmail.php:
59273         * test/etags/prol-src/natded.prolog:
59274         * test/etags/prol-src/ordsets.prolog:
59275         * test/etags/ps-src/rfc1245.ps:
59276         * test/etags/pyt-src/server.py:
59277         * test/etags/tex-src/gzip.texi:
59278         * test/etags/tex-src/nonewline.tex:
59279         * test/etags/tex-src/testenv.tex:
59280         * test/etags/tex-src/texinfo.tex:
59281         * test/etags/y-src/atest.y:
59282         * test/etags/y-src/cccp.c:
59283         * test/etags/y-src/cccp.y:
59284         * test/etags/y-src/parse.c:
59285         * test/etags/y-src/parse.y:
59286         * test/indent/css-mode.css:
59287         * test/indent/js-indent-init-dynamic.js:
59288         * test/indent/js-indent-init-t.js:
59289         * test/indent/js-jsx.js:
59290         * test/indent/js.js:
59291         * test/indent/latex-mode.tex:
59292         * test/indent/modula2.mod:
59293         * test/indent/nxml.xml:
59294         * test/indent/octave.m:
59295         * test/indent/pascal.pas:
59296         * test/indent/perl.perl:
59297         * test/indent/prolog.prolog:
59298         * test/indent/ps-mode.ps:
59299         * test/indent/ruby.rb:
59300         * test/indent/scheme.scm:
59301         * test/indent/scss-mode.scss:
59302         * test/indent/sgml-mode-attribute.html:
59303         * test/indent/shell.rc:
59304         * test/indent/shell.sh:
59305         * test/redisplay-testsuite.el:
59306         * test/rmailmm.el:
59307         * test/automated/buffer-tests.el:
59308         * test/automated/cmds-tests.el:
59309         * test/automated/data-tests.el:
59310         * test/automated/finalizer-tests.el:
59311         * test/automated/fns-tests.el:
59312         * test/automated/inotify-test.el:
59313         * test/automated/keymap-tests.el:
59314         * test/automated/print-tests.el:
59315         * test/automated/libxml-tests.el:
59316         * test/automated/zlib-tests.el: Files Moved.
59318 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
59320         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
59322         * lisp/progmodes/verilog-mode.el
59323         (verilog-save-font-no-change-functions): Commentary and fix
59324         pre-Emacs 21 behavior.
59326 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
59328         Rework file notifications, kqueue has problems with directory monitors
59330         * lisp/filenotify.el (file-notify-add-watch): Call the native
59331         add-watch function on the file, not on the dir.
59333         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
59334         about already deleted entries.
59336         * test/automated/auto-revert-tests.el
59337         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
59338         since this deletes the target file first.
59340         * test/automated/file-notify-tests.el (file-notify--test-event-test):
59341         Make stronger checks.
59342         (file-notify-test01-add-watch, file-notify-test02-events)
59343         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
59344         Rewrite in order to call file monitors but directory monitors.
59345         (file-notify-test06-many-events): Ler rename work in both directions.
59347 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
59349         Use obarray functions from obarray.
59351         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
59352           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
59353           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
59354           delegate to obarray.el functions.
59355         * lisp/loadup.el: load obarray before abbrev
59356         * test/automated/abbrev-tests.el: new tests
59358 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
59360         Continie with pending events
59362         * src/kqueue.c (pending_events): Remove global variable.
59363         (kqueue_compare_dir_list): Create `write' event for not used
59364         pending events.
59365         (globals_of_kqueue): Remove initialization of pending_events.
59367 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
59369         Improve loops in file-notify-test06-many-events
59371         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
59372         Use `read-event' pauses for the `write-file' loops; otherwise
59373         events are lost in inotify and gfilenotify cases.
59375 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
59377         Handle more complex rename operation in kqueue
59379         * src/kqueue.c (pending_events): New variable.
59380         (kqueue_compare_dir_list): Handle more complex rename operation.
59381         (globals_of_kqueue): Initialize pending_events.
59383         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
59384         Adapt expected events in the `rename-file' case.
59385         (file-notify-test06-many-events-remote): Declare.
59387 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
59389         epa.el: Add option to replace original text
59391         * lisp/epa.el (epa-replace-original-text): New user option.
59392         (Bug#21947)
59394 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
59396         Add interactive seek command.
59398         * lisp/mpc.el (mpc-cmd-seekcur): New function.
59399         (mpc-seek-current): New command.
59400         (mpc-mode-menu): Add entry for mpc-seek-current
59401         (mpc-mode-map): Bind mpc-seek-current to "g"
59403 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
59405         Fix issue where a new tempfile was created every refresh
59407         * lisp/mpc.el (mpc-format): Leave dir as relative path
59409 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
59411         New test with a larger number of events.
59413         * test/automated/file-notify-tests.el (file-notify--test-with-events):
59414         Make timeout heuristically depend on the number of events.
59416         (file-notify-test06-many-events): Use it for new test.
59418 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
59420         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
59422         (c-save-buffer-state): Use with-silent-modifications when available.
59423         (c--macroexpand-all): Check macroexpand-all directly rather than
59424         c--mapcan-status.
59426 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
59428         * lisp/loadup.el: Set max-lisp-eval-depth here
59430         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
59431         (BYTE_COMPILE_FLAGS): Adjust accordingly.
59433 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
59435         Further fixes for kqueue.
59437         * lisp/filenotify.el (file-notify-callback): Raise also event if
59438         directory name matches.
59439         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
59441         * src/kqueue.c (kqueue_generate_event): Use watch_object as
59442         argument instead of ident.  Remove callback argument.  Adapt
59443         callees.  Check actions whether they are monitored flags.
59445         * test/automated/file-notify-tests.el (file-notify--test-library):
59446         New defun.
59447         (file-notify-test00-availability, file-notify-test02-events)
59448         (file-notify-test04-file-validity)
59449         (file-notify-test05-dir-validity): Use it.
59450         (file-notify-test02-events, file-notify-test04-file-validity): Add
59451         `read-event' calls between different file actions, in order to
59452         give the backends a chance to rais an event.  Needed especially
59453         for kqueue.  In case of deleting a directory, there are two
59454         `deleted' events.
59456 2015-11-17  João Távora  <joaotavora@gmail.com>
59458         Minor fix to comment indentation and typo in last commit
59460         * lisp/linum.el (linum-update-window): Fix comment indentation and
59461         a typo.
59463 2015-11-17  João Távora  <joaotavora@gmail.com>
59465         linum-mode plays more nicely with other margin-setting extensions
59467         linum.el will only modify the left margin if it needs to, and will
59468         only reset the it back to 0 if it guesses that no-one has touched that
59469         margin in the meantime.
59471         As such, this is a more of a workaround than an actual fix, but fixes
59472         the problems described in bug#20674 regarding the interaction with
59473         modes such as darkroom-mode and olivetti-mode.
59475         A similar fix was commited to nlinum.el in ELPA.git's
59476         e7f5f549fbfb740b911fb7f33b42381ecece56d8
59478         * lisp/linum.el (linum-delete-overlays): Restore margins more
59479         criteriously.
59480         (linum-update-window): Set margins more criteriously.
59482 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
59484         Code cleanup of kqueue.c
59486         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
59487         (kqueue_compare_dir_list): Do not loop when calling
59488         directory_files_internal.  Remove checks for "." and "..", this is
59489         done in kqueue_directory_listing now.
59490         (Fkqueue_add_watch): Check for proper emacs_open flags.
59492 2015-11-16  Daiki Ueno  <ueno@gnu.org>
59494         * lisp/image-mode.el: Support encrypted file
59496         (image-toggle-display-image): Read content from the buffer instead
59497         of the file, if the buffer holds a decrypted data.  (Bug#21870)
59499 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
59501         Doc changes for kqueue
59503         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
59504         Fix some glitches in the example.
59506 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
59508         Finish implementation in kqueue.c
59510         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
59511         Simplify access to list.
59512         (kqueue_compare_dir_list): Simplify access to list.  Raise
59513         `delete' event if directory does not exist any longer.  Otherwise,
59514         wait until directory contents has changed.  Fix error in check.
59516 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
59518         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
59520 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
59522         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
59524 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
59526         * lisp/emacs-lisp/package.el: Fix a decoding issue
59528         (package--with-response-buffer): Use `url-insert-buffer-contents'.
59529         The previous code had some issues with decoding. Refactoring that
59530         function allows us to use the decoding from url-handlers while still
59531         treating both sync and async requests the same.
59533         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
59534         `url-insert-buffer-contents'.
59535         (url-insert-buffer-contents): New function
59537 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
59539         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
59541         (package--with-work-buffer-async): Reimplement as
59542         `package--with-response-buffer'.
59543         (package--with-work-buffer): Mark obsolete.
59544         (package--with-response-buffer): New macro. This is a more self
59545         contained and less contrived version of
59546         `package--with-work-buffer-async'.  It uses keyword arguments,
59547         doesn't have async on the name, doesn't fallback on
59548         `package--with-work-buffer', and has _much_ simpler error
59549         handling.
59551         (package--check-signature, package--download-one-archive)
59552         (package-install-from-archive, describe-package-1): Use it.
59554         (package--download-and-read-archives): Let
59555         `package--download-one-archive' take care of calling
59556         `package--update-downloads-in-progress'.
59558 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
59560         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
59562         (verilog-save-buffer-state): Use with-silent-modifications when available.
59563         (verilog-save-font-no-change-functions): Don't bind
59564         before/after-change-functions if it's not needed.
59566 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
59568         More work on kqueue
59570         * lisp/filenotify.el (file-notify-callback): Handle also the
59571         `rename' event from kqueue.
59572         (file-notify-add-watch): Do not register an entry twice.
59574         * src/kqueue.c (kqueue_directory_listing): New function.
59575         (kqueue_generate_event): New argument FILE1.  Adapt callees.
59576         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
59578 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59580         * CONTRIBUTE: Remove information about feature freeze.
59582         Merge branch 'release-process-lowercase'
59584 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59586         Document the release process
59588         * admin/notes/versioning: Add information about RC releases.
59589         * admin/release-process: Document the release process.
59590         * admin/authors.el (authors-ignored-files):
59591         * admin/README: Change FOR-RELEASE to release-process.
59592         * CONTRIBUTE:
59593         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
59595 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59597         * admin/release-process: Rename from admin/FOR-RELEASE.
59599 2015-11-14  David Engster  <deng@randomsample.de>
59601         gitmerge: Fix git log command
59603         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
59604         only want commits from the branch that is to be merged.
59605         (gitmerge-setup-log-buffer): Use the same symmetric range as in
59606         `gitmerge-missing'.
59608 2015-11-14  David Engster  <deng@randomsample.de>
59610         gitmerge: Try to detect cherry-picks
59612         * admin/gitmerge.el (gitmerge-default-branch): Change to
59613         origin/emacs-25.
59614         (gitmerge-missing): Use symmetric difference ('...') between
59615         branch and master so that cherry-picks can be detected.
59617 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
59619         Implement directory events
59621         * lisp/filenotify.el (file-notify-handle-event)
59622         (file-notify-callback): Remove traces.
59624         * src/kqueue.c: Include <sys/time.h>.
59625         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
59626         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
59627         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
59628         Compute initial directory listing.  Close file descriptor in case
59629         of errors.
59630         (syms_of_kqueue): Declare Qcreate.
59632 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
59634         Increment Emacs version on master branch
59636         * lisp/cus-edit.el (customize-changed-options-previous-release):
59637         Increase previous version to 24.5.
59639         * configure.ac:
59640         * msdos/sed2v2.inp: Bump version to 25.1.50.
59642 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
59644         Mention CONTRIBUTE in README
59646         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
59647         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
59648         * README: Mention CONTRIBUTE.
59650 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
59652         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
59654         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
59655         (verilog-modi-cache-results, verilog-save-buffer-state)
59656         (verilog-save-font-no-change-functions): When internally suppressing change
59657         functions, use `inhibit-modification-hooks' and call
59658         `after-change-funtions' to more nicely work with user hooks.  Reported by
59659         Stefan Monnier.
59661         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
59662         Create `verilog-delete-auto-buffer' to avoid double-calling
59663         fontification hooks.
59665         (verilog-restore-buffer-modified-p, verilog-auto)
59666         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
59667         set-buffer-modified-p. Reported by Stefan Monnier.
59669         (verilog-diff-auto, verilog-diff-buffers-p)
59670         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
59672         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
59673         AUTOINST with unpacked dimensional parameters, bug981. Reported by
59674         by Amol Nagapurkar.
59676         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
59677         properties inside internal structures. No functional change
59678         intended.
59680 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
59682         Build fixes for kqueue support.
59684         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
59685         flag.
59687         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
59688         kqueue on *BSD.
59690 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59692         Continue kqueue implementation
59694         * lisp/filenotify.el (file-notify-handle-event)
59695         (file-notify-callback): Enable trace messages.
59697         * src/kqueue.c: Include also <sys/types.h>.
59698         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
59699         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
59700         (syms_of_kqueue): Add them.
59702 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59704         Work on kqueue
59706         * lisp/filenotify.el (file-notify--library)
59707         (file-notify-descriptors, file-notify-callback)
59708         (file-notify-add-watch, file-notify-rm-watch)
59709         (file-notify-valid-p): Add kqueue support.
59711         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
59713 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59715         Add kqueue support
59717         * configure.ac (--with-file-notification): Add kqueue.
59718         (top): Remove special test for "${HAVE_NS}" and
59719         ${with_file_notification}, this is handled inside gfilenotify
59720         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
59721         instead of library specific variables.
59723         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
59725         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
59727         * src/kqueue.c: New file.
59729         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
59731 This file records repository revisions from
59732 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
59733 commit 35574609dd09e2eab0301309b0e3bf831f627fcc (inclusive).
59734 See ChangeLog.1 for earlier changes.
59736 ;; Local Variables:
59737 ;; coding: utf-8
59738 ;; End:
59740   Copyright (C) 2015-2018 Free Software Foundation, Inc.
59742   This file is part of GNU Emacs.
59744   GNU Emacs is free software: you can redistribute it and/or modify
59745   it under the terms of the GNU General Public License as published by
59746   the Free Software Foundation, either version 3 of the License, or
59747   (at your option) any later version.
59749   GNU Emacs is distributed in the hope that it will be useful,
59750   but WITHOUT ANY WARRANTY; without even the implied warranty of
59751   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
59752   GNU General Public License for more details.
59754   You should have received a copy of the GNU General Public License
59755   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.