; * ChangeLog.3: Update.
[emacs.git] / ChangeLog.3
blob2f0ccc80ec62a3fc809768d4ca9253ff3833649f
1 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
3         * lisp/files.el (kept-new-versions): Improve documentation string.
5 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
7         Fix a minor mistake in the ELisp manual
9         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
10         mistake.  (Bug#31107)
12 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
14         * lisp/files.el (find-file-literally): Doc fix.
16 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
18         Fix typos in doc strings
20         * lisp/simple.el (undo-auto--boundary-timer)
21         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
23 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
25         Bump Emacs version to 26.1
27         * README:
28         * configure.ac:
29         * msdos/sed2v2.inp:
30         * nt/README.W32: Bump Emacs version to 26.1.
32 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
34         * lisp/emacs-lisp/inline.el: Clarify apparent typos
36 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
38         Allow sexp customization type in auth-sources
40         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
41         Update the :version tag.
43         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
45 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
47         * etc/NEWS: Remove temporary markup.
49         * etc/AUTHORS: Update.
51         * ChangeLog.3: Update.
53 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
55         Fix Bug#31022
57         * lisp/cus-start.el (temporary-file-directory): Suppress file name
58         handlers when calling `shell-command-to-string'.  (Bug#31022)
60 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
62         Update "Calendrical Calculations" cites
64         * lisp/calendar/calendar.el: Update citations to the book
65         "Calendrical Calculations" and its predecessors.
67 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
69         Fix term.el rendering following a window resize (Bug#30544)
71         * lisp/term.el (term-reset-size): Reset cached row and column values
72         before changing point.
74 2018-04-02  Philipp Stephani  <phst@google.com>
76         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
78 2018-04-01  Philipp Stephani  <phst@google.com>
80         Quote a few backticks in docstrings.
82         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
83         (macroexp-if): Quote backtick in docstrings.
85 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
87         Minor copyedits of completion-at-point-functions documentation
89         * lisp/minibuffer.el (completion-at-point-functions):
90         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
91         and filling.
93         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
95 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
97         (completion-at-point-functions): Improve doc
99         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
101 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
103         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
105 2018-03-31  Hong Xu  <hong@topbug.net>
107         Mention `key-description' as inverse of `kbd' (Bug#30942)
109         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
110         doc.
112 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
114         Document return value of pcase (Bug#30425)
116         * doc/lispref/control.texi (Pattern matching case statement):
117         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
118         patterns match.
119         (pcase-exhaustive): State that an error is signaled if no patterns
120         match.
122 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
124         * doc/emacs/macos.texi: Tweak grammar and capitalization.
126 2018-03-31  Richard Stallman  <rms@gnu.org>
128         Distinguish free from non-free OSes
130 2018-03-28  Glenn Morris  <rgm@gnu.org>
132         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
134 2018-03-28  Glenn Morris  <rgm@gnu.org>
136         Fix xrefs in pdf Emacs manual
138         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
139         (Fortran Columns):
140         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
141         Fix recent changes that neglected the splitting of the pdf manuals.
143 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
145         * doc/misc/org.texi (Installation): Fix clone commands.
147 2018-03-27  Rasmus  <rasmus@gmx.us>
149         Update Org to v9.1.9
151         Please note this is a bugfix release. See etc/ORG-NEWS for details.
153 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
155         De-obsolete `if-let' and `when-let'
157         For the following release it is planned to make `if-let*' and
158         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
159         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
161         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
162         refer to those of `if-let' and `when-let'.
163         (if-let, when-let): De-obsolete.  Rewrite documentation.
165 2018-03-26  Glenn Morris  <rgm@gnu.org>
167         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
169 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
171         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
173 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
175         Fix crash after frame is freed on macOS (bug#30800)
177         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
178         (bug#30800)
180 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
182         More manual editing
184         * doc/emacs/basic.texi:
185         * doc/emacs/calendar.texi:
186         * doc/emacs/display.texi:
187         * doc/emacs/mini.texi:
188         * doc/emacs/misc.texi:
189         * doc/emacs/picture-xtra.texi:
190         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
191         <next> and <prior>.  Add missing @kindex entries.
193         * doc/emacs/custom.texi (Function Keys): Fix and add missing
194         key symbols.
196 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
198         Minor manual changes changes
200         * doc/emacs/misc.texi (FFAP): Complete commands.
201         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
203 2018-03-24  Glenn Morris  <rgm@gnu.org>
205         * lisp/calculator.el (calculator-paste-decimals): Add version.
207 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
209         More proofreading of the Emacs manual
211         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
212         (Screen Garbled): Mention the command name.
213         (Bug Criteria): Mention that problems in packages should first be
214         reported to the respective maintainers.
215         (Checklist): Fix wording.
216         (Contributing, Copyright Assignment): Minor copyedits.
217         * doc/emacs/misc.texi (Amusements): Remove Landmark.
218         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
219         (Rectangles in Picture): Add a cross-reference to "Registers".
220         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
221         Mention command names in parentheses.
222         (Gnus Summary Buffer): Document "M-r".
223         (Network Security): Document that current NSM works with TLS
224         encryption.  Fix markup.
225         (Document View): Improve wording and fix a typo.
226         (DocView Conversion): Rephrase description of
227         doc-view-cache-directory.
228         (Single Shell): Mention variables that control when shell output
229         appears in the echo area.
230         (Shell Mode): Improve wording.
231         (Shell Prompts): Fix a typo.
232         (Shell Ring, Term Mode): Mention command names.
233         (History References): Add a cross-reference to "Rebinding".
234         (Remote Host): Mention SSH.
235         (TCP Emacs server): Improve wording.
236         (emacsclient Options): Minor improvements.
237         (PostScript): Fix wording.
238         (PostScript Variables): Mention that ps-font-size could be a cons.
239         (Sorting): Minor improvements.  Suggested by Michael Albinus
240         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
242 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
244         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
246         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
248 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
250         Explain more about (defvar foo) form (Bug#18059)
252         * doc/lispref/variables.texi (Defining Variables)
253         (Using Lexical Binding):
254         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
255         VALUE for `defvar' marks the variable special only locally.
256         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
257         using `defvar' without VALUE.
259 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
261         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
263         * doc/lispref/anti.texi (Antinews): Fix grammar.
265 2018-03-22  Glenn Morris  <rgm@gnu.org>
267         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
269         Avoids type mismatch when relevant library is not present/loaded.
271 2018-03-22  Glenn Morris  <rgm@gnu.org>
273         sql.el defcustom fixes
275         * lisp/progmodes/sql.el (sql-login-params): Update.
276         Avoids type mismatch with postgres and sqlite login params.
277         (sql-postgres-login-params): Bump version.
279 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
281         Document DEFUN attributes
283         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
284         specification of function attributes in DEFUN.
286 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
288         * etc/NEWS: Add an entry for auth-source-pass.
290 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
292         Fix the MSDOS build
294         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
296 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
298         Improve warning and error messages
300         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
301           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
302           went wrong.
304 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
306         Adjust eieio persistence tests for expected failure
308         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
309          (eieio-test-persist-hash-and-vector,
310           eieio-test-persist-interior-lists): Persistence does not currently
311          handle deeply-nested objects. Expect current failures, and mark for
312          future fixes.
314 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
316         Let eieio-persistent-read read what object-write has written
318         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
319           `object-write' may quote lists inside hash tables and vectors, so
320           unquote those lists here.
322         This patch allows the eieio-persistent write/restore process to
323         perform a clean round trip. It only handles a very specific and
324         limited range of object structures, but at least the write and read
325         procedures match.
327 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
329         Handle possible classtype values in eieio-persistent-read
331         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
332           The function `eieio-persistent-slot-type-is-class-p' could return
333           either a single class, or a list of classes.
335 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
337         Add new tests for eieio persistence
339         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
340           (hash-equal): New comparison test for hash-tables.
341           (persist-test-save-and-compare): Use test for hash-tables.
342           (eieio-test-persist-hash-and-vector,
343           eieio-test-persist-interior-lists): New tests.
345 2018-03-22  Glenn Morris  <rgm@gnu.org>
347         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
349         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
351 2018-03-21  Glenn Morris  <rgm@gnu.org>
353         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
355 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
357         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
359 2018-03-21  Alan Mackenzie  <acm@muc.de>
361         Firm up documentation of generalized variables
363         * doc/lispref/variables.texi (Generalized Variables)
364         (Setting Generalized Variables): Define a generalized variable as something
365         setf can write to.  Remove the insinuation that hackers have poor memories.
366         State explicitly that the list of GVs given is complete.  Remove the
367         suggestion that `setf' has superseded, or is in the process of superseding,
368         `setq'.  Make minor corrections to the English.
370 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
372         Improve documentation of Auto-Revert mode
374         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
375         applies to Dired buffers as well.  Suggested by Michael Albinus
376         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
378 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
380         Improvements in dired.texi
382         * doc/emacs/dired.texi (Dired): Mention that Dired works with
383         remote directories.
384         (Dired Enter): ls-lisp is used on some remote systems as well.
385         (Dired Navigation): Mention and index the command names.
386         (Dired Deletion): Document the 'always' value of
387         dired-recursive-deletes.  Mention the alternative deletion method.
388         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
389         marking does on a subdirectory header line.
390         (Operating on Files): Document that 'Z' uses gzip or compress.
391         (Comparison in Dired): Mention ediff-files.
392         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
393         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
395 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
397         Revert "Support all perl variable declarators and prefixes"
399         It highlights normal variable names in perl programs (Bug#30812).
400         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
401         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
403         Don't merge to master, we will fix Bug#27613 properly there (it's too
404         close to release to do that on emacs-26).
406 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
408         Port to 32-bit sparc64
410         Backport from master.
411         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
412         and Andreas Schwab (Bug#30855).
413         * src/alloc.c (mark_memory): Call mark_maybe_object only on
414         pointers that are properly aligned for Lisp_Object.
416 2018-03-20  Robert Pluim  <rpluim@gmail.com>
418         Correct Info link markup
420         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
421         Correct markup for Info link.
422         * src/minibuf.c (Fcompleting_read): Likewise.
424 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
426         Improve documentation of 'with-help-window'
428         * doc/lispref/help.texi (Help Functions): Change variable name
429         to 'buffer-or-name'.
431         * lisp/help.el (with-help-window): Change variable name to
432         'buffer-or-name' and rewrite the doc string, adding reference
433         to 'help-window-setup'.  (Bug#30792)
435 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
437         Minor improvements in building.texi
439         * doc/emacs/building.texi (Compilation Shell): Mention that this
440         section is for local compilation buffers.
441         (Compilation, Compilation Mode): Mention that 'g' is bound to
442         'recompile' in compilation buffers.
443         (Grep Searching): Add a cross-reference to "Compilation Mode".
444         Suggested by Michael Albinus <michael.albinus@gmx.de> in
445         emacs-manual-bugs@gnu.org.
447 2018-03-20  Alex Branham  <branham@utexas.edu>
449         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
451 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
453         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
455 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
457         Yet more proofreading of the Emacs manual
459         * doc/emacs/building.texi (Compilation, Grep Searching)
460         (Debuggers, GUD Customization, Source Buffers)
461         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
462         Suggested by Michael Albinus <michael.albinus@gmx.de> in
463         emacs-manual-bugs@gnu.org.
465 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
467         * doc/emacs/rmail.texi: Fix broken link.
469 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
471         Fix recently-added POP doc glitch
473         * doc/emacs/rmail.texi (Remote Mailboxes):
474         POP3 → POP, when talking about POP in general.
476 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
478         More proofreading of the Emacs manual
480         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
481         indexing.
482         (Mac / GNUstep Basics, Mac / GNUstep Customization)
483         (Mac / GNUstep Events): Improve indexing.
485         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
486         (Rmail Basics, Rmail Scrolling): Improve cross-references and
487         indexing.
488         (Rmail Motion): Minor improvements.
489         (Rmail Inbox): Remove outdated text about Babyl format.
490         (Rmail Files): Formatting changes.  Comment out
491         set-rmail-inbox-list in the table of commands, as it is commented
492         out in the text that follows.
493         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
494         Minor copyedits.
495         (Rmail Summary Edit): Document
496         rmail-summary-scroll-between-messages.
497         (Rmail Editing): Improve indexing.
498         (Movemail): Fix typos.
499         (Remote Mailboxes): Use "POP3" rather than "POP".
501 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
503         Fix typo in the Emacs manual's VC chapter
505         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
507 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
509         Pass json-readtable-error data as a list (bug#30489)
511         * lisp/json.el (json-readtable-dispatch): Fix error data.
512         * test/lisp/json-tests.el (test-json-read): Check error data is a
513         list.
515 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
517         Improve word motion docs (Bug#30815)
519         * doc/lispref/positions.texi (Word Motion): Fix reference to
520         `char-script-table'.
521         * lisp/simple.el (backward-word):
522         * src/syntax.c (forward-word): Mention `char-script-table' and add
523         link to the 'Word Motion' manual section.
525 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
527         Replace "carriage-return" by "carriage return" in manuals
529         * doc/emacs/msdos.texi:
530         * doc/emacs/mule.texi:
531         * doc/emacs/screen.texi:
532         * doc/lispref/nonascii.texi:
533         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
534         return".  Suggested by Richard Stallman <rms@gnu.org> in
535         emacs-manual-bugs@gnu.org.
537 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
539         Minor copyedits in mule.texi
541         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
542         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
543         emacs-manual-bugs@gnu.org.
545 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
547         Fix problems caused by fontconfig-2.13.0
549         * src/xterm.c (x_term_init): Call fixup_locale after
550         xg_initialize, to countermand the call to setlocale in some
551         versions of fontconfig.  (Bug#30788)
553 2018-03-13  Glenn Morris  <rgm@gnu.org>
555         Fix some allout.el aliases
557         * lisp/allout.el (allout-passphrase-verifier-string)
558         (allout-passphrase-hint-string): Fix alias.
560 2018-03-13  Glenn Morris  <rgm@gnu.org>
562         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
564 2018-03-13  Glenn Morris  <rgm@gnu.org>
566         Doc fixes re obsolete items
568         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
569         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
571 2018-03-13  Glenn Morris  <rgm@gnu.org>
573         Replace an obsolete alias in tpu-mapper
575         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
576         Replace obsolete alias.
578 2018-03-13  Glenn Morris  <rgm@gnu.org>
580         Doc fixes re obsolete items
582         * doc/emacs/maintaining.texi (VC Undo):
583         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
584         * doc/misc/url.texi (Customization):
585         Don't mention url-temporary-directory, it essentially does nothing.
586         * lisp/hilit-chg.el
587         (highlight-changes-global-changes-existing-buffers): Doc fix.
589 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
591         Minor changes in mule.texi
593         * doc/emacs/mule.texi (International, Coding Systems)
594         (Bidirectional Editing): Minor wording changes and typo fixes.
595         Suggested by Michael Albinus <michael.albinus@gmx.de> in
596         emacs-manual-bugs@gnu.org.
598 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
600         Avoid assertion violation under visual-order-cursor-movement
602         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
603         BEGV..ZV range.  Signal Beginning of buffer error when there's a
604         before-string at BEGV.  (Bug#30787)
606 2018-03-13  Glenn Morris  <rgm@gnu.org>
608         Stop mentioning options.el in doc
610         * doc/misc/calc.texi (Customizing Embedded Mode):
611         Remove mentions of the obsolete (since 22.1) options.el.
612         * lisp/progmodes/meta-mode.el: Comment fix.
614 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
616         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
618 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
620         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
622 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
624         Fix last change in Xref documentation
626         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
627         accurate wording for the description of xref-etags-mode.
629 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
631         More changes in the Emacs manual
633         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
634         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
635         emacs-manual-bugs@gnu.org.
637         * doc/emacs/msdos.texi (Windows Keyboard):
638         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
639         * doc/emacs/macos.texi (Mac / GNUstep Basics):
640         * doc/emacs/glossary.texi (Glossary):
641         * doc/emacs/custom.texi (Function Keys, Init Syntax):
642         * doc/emacs/commands.texi (User Input):
643         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
644         * doc/emacs/msdos.texi (Windows Keyboard):
645         * doc/emacs/dired.texi (Dired Updating):
646         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
647         Suggested by Richard Stallman <rms@gnu.org>.
649 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
651         Improve documentation of Xref
653         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
654         xref-etags-mode.
656 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
658         Fix create_process bug breaking eudc-expand-inline
660         Problem reported by Thomas Fitzsimmons (Bug#30762).
661         * src/process.c (create_process) [HAVE_PTYS]:
662         Call setsid even if !PTY_FLAG.
664 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
666         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
668         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
669         => (ATOM) short form is only for non-nil ATOMs.
671 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
673         Improve SVG documentation
675         * doc/lispref/display.texi (ImageMagick Images): Remove an
676         outdated comment that references a fixed bug.
677         (SVG Images): Fix grammar, and call functions functions (there are
678         no commands in lisp/svg.el).
680 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
682         Document the "URL" keyword in library headers
684         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
685         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
686         (Bug#30571)
688 2018-03-09  Glenn Morris  <rgm@gnu.org>
690         * test/lisp/international/mule-tests.el:
691         Avoid local variables confusion.
693 2018-03-09  Bill Wohler  <wohler@newt.com>
695         Add missing findex entries for recently removed kindex entries
697         * doc/misc/mh-e.texi:
699         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
701 2018-03-09  Glenn Morris  <rgm@gnu.org>
703         Replace the obsolete process-kill-without-query in documentation
705         * lisp/comint.el (comint-exec-hook):
706         * lisp/term.el (term-exec-hook):
707         * lisp/eshell/esh-proc.el (eshell-exec-hook):
708         Doc fixes re the obsolete process-kill-without-query.
710 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
712         Minor change in the manual
714         * doc/emacs/display.texi (Useless Whitespace):
715         Don't upcase "TAB" and "SPC" when alluding to characters.
717 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
719         More minor changes in the manual
721         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
722         and "SPC" when alluding to characters.  Suggested by Richard
723         Stallman <rms@gnu.org>.
725         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
726         means for buffers.
727         (Buffers): Define and describe "buffer contents".  Suggested by
728         Richard Stallman <rms@gnu.org>.  (Bug#30685)
730 2018-03-07  Glenn Morris  <rgm@gnu.org>
732         Replace some obsolete aliases in code
734         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
735         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
736         Replace obsolete aliases.
738 2018-03-07  Glenn Morris  <rgm@gnu.org>
740         Replace some obsolete aliases in documentation
742         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
743         * doc/misc/speedbar.texi (Major Display Modes):
744         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
745         Doc fixes re obsolete aliases.
747 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
749         Minor improvements in manuals
751         * doc/lispref/variables.texi (Local Variables): Make more clear
752         that local bindings of 'let' are in effect only within the body.
753         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
754         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
755         for the details.
757         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
758         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
759         Improve indexing.
761 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
763         Minor copyedits in display.texi
765         * doc/emacs/display.texi (Highlight Interactively)
766         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
767         changes of wording and typo corrections.  Suggested by Michael
768         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
770 2018-03-07  Glenn Morris  <rgm@gnu.org>
772         Remove some unused spam.el variables
774         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
775         (spam-bogofilter-path, spam-bsfilter-path)
776         (spam-spamassassin-path, spam-sa-learn-path):
777         Remove variables that are described as obsolete, but are
778         really completely unused, and have been for years.
780 2018-03-07  Glenn Morris  <rgm@gnu.org>
782         Replace some obsolete aliases in code
784         * lisp/emulation/viper.el (viper-set-hooks):
785         * lisp/epa-hook.el (auto-encryption-mode):
786         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
787         * lisp/net/quickurl.el (quickurl--assoc-function): New.
788         (quickurl-assoc-function): Use it.
790 2018-03-07  Glenn Morris  <rgm@gnu.org>
792         Replace some obsolete aliases in documentation
794         * doc/emacs/text.texi (Nroff Mode):
795         * doc/misc/efaq.texi (How to add fonts):
796         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
797         * lisp/progmodes/pascal.el (pascal-outline-mode):
798         Doc fixes re obsolete aliases.
800 2018-03-06  Glenn Morris  <rgm@gnu.org>
802         Obsolete eshell-cmpl-suffix-list
804         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
805         Make obsolete, to match pcomplete-suffix-list.
807 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
809         More minor changes in the Glossary of the Emacs manual
811         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
812         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
813         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
815 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
817         Revert last commit
819         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
820         too late for this to be in the release.
822 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
824         Define if-let* and derivatives as aliases for if-let etc
826         This commit reverts declaring `if-let' and `when-let' obsolete in
827         favor of the new `if-let*' and `when-let*' versions because of the
828         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
829         for foo-let.  The old single-tuple variable spec case is still
830         supported for backward compatibility.
831         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
832         obsolete.  Tweak edebug specs.
833         (and-let): Renamed from `and-let*' for compatibility with the names
834         `if-let' and `when-let'.
835         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
836         `when-let' and `and-let'.
837         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
838         (when-let-single-tuple-case-test): New tests for the single-binding
839         tuple case.
840         In the whole file, prefer the names without "*".
842 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
844         Minor fix in Emacs manual's Glossary
846         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
847         primary selection.  Reported by Gijs Hillenius
848         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
850 2018-03-03  Juri Linkov  <juri@linkov.net>
852         * lisp/progmodes/grep.el (zrgrep):
854         Let-bind grep-use-null-filename-separator to nil (bug#30559).
856 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
858         Minor copyedits in doc/emacs/text.texi
860         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
861         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
863 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
865         Remove outdated comment in syntax.el
867         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
868         outdated comment.  (Bug#30617)
870 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
872         Prevent Flyspell from changing unrelated words
874         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
875         using stale cached data from previous invocations of this command.
876         (Bug#30462)
878 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
880         Avoid errors in flymake in builds --without-x
882         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
884 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
886         More improvements of the Emacs manual
888         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
889         wording.  Suggested by Daniel Chakraborty
890         <danielmchakraborty@gmail.com>.
892         * doc/emacs/glossary.texi (Glossary): Add cross-references.
893         Improve and clarify wording.  Suggested by Gijs Hillenius
894         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
896         * doc/emacs/text.texi (Org Authoring): Add more supported formats
897         to the list.
898         (TeX Print): Improve wording.  Slightly rearrange stuff.
899         (TeX Misc): Mention doctex-mode-hook.
900         (Two-Column): Minor rearrangement of text.  Suggested by Michael
901         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
903         * doc/emacs/misc.texi (Saving Emacs Sessions):
904         * doc/emacs/programs.texi (Program Modes): Remove redundant text
905         and index entries.
907 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
909         Backport: xref--next-error-function: Move xref's window point
911         * lisp/progmodes/xref.el (xref--next-error-function): Move
912         xref's window point if it's visible.  When we don't do that,
913         navigation can start looping after a while.
915         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
917 2018-03-02  Glenn Morris  <rgm@gnu.org>
919         mwheel minor consistency fix
921         * lisp/mwheel.el (mwheel-scroll-left-function)
922         (mwheel-scroll-right-function):
923         Change from defcustom to defvar, for consistency with pre-existing.
925 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
927         * src/window.c (Frecenter): Improve commentary.
929 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
931         Fix downloading non-text files in EWW
933         * lisp/net/eww.el (eww-download-callback): Bind
934         coding-system-for-read to 'no-conversion', to avoid any code- or
935         EOL-conversions in downloaded files.  (Bug#30664)
937 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
939         Rename some mwheel options, for consistency
941         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
942         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
943         mwheel-flip-direction.
944         (mwheel-scroll): Update for option renaming.
945         * doc/emacs/frames.texi (Mouse Commands):
946         Update for option renaming.
948 2018-03-01  Glenn Morris  <rgm@gnu.org>
950         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
952 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
954         Improve the Emacs manual
956         * doc/emacs/xresources.texi (Table of Resources): Mention that
957         some resources are ignored by toolkit builds.
958         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
959         (Bug#30530)
961 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
963         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
965 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
967         Further improvements on manuals
969         * doc/emacs/xresources.texi:
970         * doc/lispref/display.texi:
971         * doc/lispref/keymaps.texi:
972         * doc/misc/dbus.texi:
973         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
975         * doc/emacs/xresources.texi (Resources): Mention several use
976         of "-xrm".
977         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
979 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
981         Require a larger stack size for threads on macOS (bug#30364)
983         * src/systhread.c (sys_thread_create)
984         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
985         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
986         Do not merge to master.
988 2018-02-28  Glenn Morris  <rgm@gnu.org>
990         * doc/lispref/streams.texi (Output Variables): Fix previous.
992 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
994         Use "GTK+" where applicable in the manual
996         * doc/emacs/display.texi (Standard Faces, Standard Faces):
997         * doc/emacs/emacs.texi (Top):
998         * doc/emacs/files.texi (Visiting):
999         * doc/emacs/frames.texi (Scroll Bars):
1000         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
1002 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1004         Document print-escape-control-characters
1006         * doc/lispref/streams.texi, etc/NEWS: Add doc.
1008 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1010         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
1012 2018-02-27  Glenn Morris  <rgm@gnu.org>
1014         * lisp/emulation/viper.el: Unbreak it.
1016         Since 2017-03-19, M-x viper failed with function void cl-member-if.
1017         Perhaps it isn't used much.
1019 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1021         More fixes in the Emacs manual
1023         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
1024         Sort the resources.
1025         (Lucid Resources): Add cross-references.
1026         (GTK Resource Basics): Fix wording.
1027         (GTK styles): Add empty lines in a @table.  Suggested by Michael
1028         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1030 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1032         Avoid aborts in 'md5'
1034         * src/fns.c (extract_data_from_object): Don't crash if called with
1035         an invalid object.  (Bug#30627)
1037 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1039         Mark keys consistently in manuals
1041         * doc/emacs/killing.texi:
1042         * doc/lispintro/emacs-lisp-intro.texi:
1043         * doc/misc/calc.texi:
1044         * doc/misc/cc-mode.texi:
1045         * doc/misc/dired-x.texi:
1046         * doc/misc/ede.texi:
1047         * doc/misc/edt.texi:
1048         * doc/misc/efaq.texi:
1049         * doc/misc/erc.texi:
1050         * doc/misc/eshell.texi:
1051         * doc/misc/gnus-faq.texi:
1052         * doc/misc/gnus-news.texi:
1053         * doc/misc/idlwave.texi:
1054         * doc/misc/ido.texi:
1055         * doc/misc/mairix-el.texi:
1056         * doc/misc/message.texi:
1057         * doc/misc/mh-e.texi:
1058         * doc/misc/newsticker.texi:
1059         * doc/misc/org.texi:
1060         * doc/misc/pcl-cvs.texi:
1061         * doc/misc/ses.texi:
1062         * doc/misc/sieve.texi:
1063         * doc/misc/smtpmail.texi:
1064         * doc/misc/speedbar.texi:
1065         * doc/misc/srecode.texi:
1066         * doc/misc/vhdl-mode.texi:
1067         * doc/misc/vip.texi:
1068         * doc/misc/viper.texi: Mark keys consistently.
1070 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1072         Remove @key{} markups from @kindex entries in manuals
1074         * doc/emacs/basic.texi:
1075         * doc/emacs/buffers.texi:
1076         * doc/emacs/building.texi:
1077         * doc/emacs/calendar.texi:
1078         * doc/emacs/custom.texi:
1079         * doc/emacs/dired.texi:
1080         * doc/emacs/display.texi:
1081         * doc/emacs/files.texi:
1082         * doc/emacs/frames.texi:
1083         * doc/emacs/help.texi:
1084         * doc/emacs/indent.texi:
1085         * doc/emacs/killing.texi:
1086         * doc/emacs/kmacro.texi:
1087         * doc/emacs/mark.texi:
1088         * doc/emacs/mini.texi:
1089         * doc/emacs/misc.texi:
1090         * doc/emacs/modes.texi:
1091         * doc/emacs/msdos-xtra.texi:
1092         * doc/emacs/msdos.texi:
1093         * doc/emacs/mule.texi:
1094         * doc/emacs/picture-xtra.texi:
1095         * doc/emacs/programs.texi:
1096         * doc/emacs/regs.texi:
1097         * doc/emacs/rmail.texi:
1098         * doc/emacs/screen.texi:
1099         * doc/emacs/search.texi:
1100         * doc/emacs/sending.texi:
1101         * doc/emacs/text.texi:
1102         * doc/emacs/trouble.texi:
1103         * doc/misc/calc.texi:
1104         * doc/misc/cc-mode.texi:
1105         * doc/misc/ediff.texi:
1106         * doc/misc/ert.texi:
1107         * doc/misc/eww.texi:
1108         * doc/misc/forms.texi:
1109         * doc/misc/gnus.texi:
1110         * doc/misc/idlwave.texi:
1111         * doc/misc/info.texi:
1112         * doc/misc/message.texi:
1113         * doc/misc/mh-e.texi:
1114         * doc/misc/newsticker.texi:
1115         * doc/misc/org.texi:
1116         * doc/misc/pcl-cvs.texi:
1117         * doc/misc/rcirc.texi:
1118         * doc/misc/reftex.texi:
1119         * doc/misc/sc.texi:
1120         * doc/misc/sieve.texi:
1121         * doc/misc/vhdl-mode.texi:
1122         * doc/misc/vip.texi:
1123         * doc/misc/viper.texi:
1124         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
1126 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
1128         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
1130 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
1132         Fix @kindex entries in manuals
1134         * doc/emacs/basic.texi:
1135         * doc/emacs/buffers.texi:
1136         * doc/emacs/building.texi:
1137         * doc/emacs/calendar.texi:
1138         * doc/emacs/custom.texi:
1139         * doc/emacs/dired.texi:
1140         * doc/emacs/display.texi:
1141         * doc/emacs/files.texi:
1142         * doc/emacs/frames.texi:
1143         * doc/emacs/help.texi:
1144         * doc/emacs/indent.texi:
1145         * doc/emacs/killing.texi:
1146         * doc/emacs/kmacro.texi:
1147         * doc/emacs/mark.texi:
1148         * doc/emacs/mini.texi:
1149         * doc/emacs/misc.texi:
1150         * doc/emacs/modes.texi:
1151         * doc/emacs/msdos-xtra.texi:
1152         * doc/emacs/msdos.texi:
1153         * doc/emacs/mule.texi:
1154         * doc/emacs/picture-xtra.texi:
1155         * doc/emacs/programs.texi:
1156         * doc/emacs/regs.texi:
1157         * doc/emacs/rmail.texi:
1158         * doc/emacs/screen.texi:
1159         * doc/emacs/search.texi:
1160         * doc/emacs/sending.texi:
1161         * doc/emacs/text.texi:
1162         * doc/emacs/trouble.texi:
1163         * doc/lispref/files.texi:
1164         * doc/misc/calc.texi:
1165         * doc/misc/cc-mode.texi:
1166         * doc/misc/ediff.texi:
1167         * doc/misc/epa.texi:
1168         * doc/misc/ert.texi:
1169         * doc/misc/eww.texi:
1170         * doc/misc/forms.texi:
1171         * doc/misc/gnus.texi:
1172         * doc/misc/info.texi:
1173         * doc/misc/mairix-el.texi:
1174         * doc/misc/message.texi:
1175         * doc/misc/mh-e.texi:
1176         * doc/misc/newsticker.texi:
1177         * doc/misc/org.texi:
1178         * doc/misc/pcl-cvs.texi:
1179         * doc/misc/rcirc.texi:
1180         * doc/misc/sc.texi:
1181         * doc/misc/sieve.texi:
1182         * doc/misc/vhdl-mode.texi:
1183         * doc/misc/vip.texi:
1184         * doc/misc/viper.texi:
1185         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
1187 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1189         Fix @cindex entries in manuals
1191         * doc/emacs/custom.texi:
1192         * doc/emacs/dired.texi:
1193         * doc/emacs/display.texi:
1194         * doc/emacs/files.texi:
1195         * doc/emacs/frames.texi:
1196         * doc/emacs/killing.texi:
1197         * doc/emacs/maintaining.texi:
1198         * doc/emacs/misc.texi:
1199         * doc/emacs/msdos-xtra.texi:
1200         * doc/emacs/msdos.texi:
1201         * doc/emacs/search.texi:
1202         * doc/emacs/text.texi:
1203         * doc/emacs/trouble.texi:
1204         * doc/lispintro/emacs-lisp-intro.texi:
1205         * doc/lispref/strings.texi:
1206         * doc/lispref/text.texi:
1207         * doc/misc/cc-mode.texi:
1208         * doc/misc/efaq.texi:
1209         * doc/misc/eieio.texi:
1210         * doc/misc/emacs-mime.texi:
1211         * doc/misc/gnus.texi:
1212         * doc/misc/htmlfontify.texi:
1213         * doc/misc/idlwave.texi:
1214         * doc/misc/message.texi:
1215         * doc/misc/mh-e.texi:
1216         * doc/misc/sem-user.texi:
1217         * doc/misc/ses.texi:
1218         * doc/misc/tramp.texi:
1219         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
1221 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1223         Fix @cindex entries in org.texi
1225         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
1226         @code{} for keywords.
1228 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1230         Document reserved keys
1232         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
1233         users.  (Bug#30530)
1235 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1237         * doc/misc/ebrowse.texi: Use @key{} for keys.
1239 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1241         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
1243 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1245         Improve documentation of X resources
1247         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
1248         resources.  Add cross-references to "GTK Resources".
1250 2018-02-23  Glenn Morris  <rgm@gnu.org>
1252         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
1254         Since multi-tty, this is always set.
1256 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
1258         Minor doc fixes, mostly for timestamp issues
1260 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
1262         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
1264 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
1266         Fix @findex and @vindex entries in manuals
1268         * doc/emacs/building.texi:
1269         * doc/emacs/calendar.texi:
1270         * doc/emacs/cmdargs.texi:
1271         * doc/emacs/mini.texi:
1272         * doc/emacs/misc.texi:
1273         * doc/emacs/trouble.texi:
1274         * doc/emacs/windows.texi:
1275         * doc/lispintro/emacs-lisp-intro.texi:
1276         * doc/lispref/edebug.texi:
1277         * doc/lispref/frames.texi:
1278         * doc/lispref/os.texi:
1279         * doc/lispref/windows.texi:
1280         * doc/misc/cc-mode.texi:
1281         * doc/misc/dired-x.texi:
1282         * doc/misc/ediff.texi:
1283         * doc/misc/mh-e.texi:
1284         * doc/misc/pcl-cvs.texi:
1285         * doc/misc/reftex.texi:
1286         * doc/misc/sc.texi:
1287         * doc/misc/vhdl-mode.texi:
1288         * doc/misc/viper.texi: Fix @findex and @vindex entries.
1290 2018-02-22  Alan Mackenzie  <acm@muc.de>
1292         Document, in the Elisp manual, how to get a character's raw syntax descriptor
1294         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
1295         to get a character's raw syntax descriptor.
1297 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1299         Improvements in the Emacs manual
1301         * doc/emacs/custom.texi (Customization Groups)
1302         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
1303         markup of keys.
1304         (Changing a Variable, Saving Customizations): Update the
1305         description of buttons in the Custom buffer.
1306         (Face Customization): More accurate description.
1307         (Specific Customization, Examining, Locals): Add blank lines in
1308         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
1309         in emacs-manual-bugs@gnu.org.
1311 2018-02-22  Glenn Morris  <rgm@gnu.org>
1313         Tiny doc/misc markup fixes
1315         * doc/misc/ediff.texi (Patch and Diff Programs):
1316         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
1318 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
1320         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
1322         * src/xdisp.c (note_mouse_highlight): Skip check whether
1323         mouse-face highlighting overlay overlaps other mouse-face
1324         overlays when mouse-face highlighting is hidden (Bug#30519).
1326 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1328         Fix capitalization of "Mail-Followup-To"
1330         * doc/emacs/sending.texi (Header Editing, Mail Headers):
1331         Standardize on "Mail-Followup-To" as the capitalization.
1333 2018-02-21  Juri Linkov  <juri@linkov.net>
1335         * lisp/progmodes/grep.el (grep-compute-defaults):
1337         Add grep-use-null-filename-separator to grep-host-defaults-alist.
1338         (Bug#30559)
1340 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
1342         Semantic manual fixes
1344         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
1345         remove a reference to "document-vars.el" which, in the Emacs
1346         repository, is part of lisp/cedet/srecode/document.el.
1348 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1350         More improvements in the Emacs manual
1352         * doc/emacs/help.texi (Misc Help):
1353         * doc/emacs/m-x.texi (M-x):
1354         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
1355         breaking of command sequences between lines.  Reported by Wojciech
1356         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1358         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
1360 2018-02-21  tino calancha  <tino.calancha@gmail.com>
1362         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
1364 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1366         Fix documentation of 'x-underline-at-descent-line'
1368         * doc/emacs/display.texi (Display Custom):
1369         * src/nsterm.m (syms_of_nsterm):
1370         * src/xterm.c (syms_of_xterm):
1371         * src/w32term.c (syms_of_w32term): Mention the effect of
1372         'line-spacing' on the underline position.  (Bug#30553)
1374 2018-02-21  Glenn Morris  <rgm@gnu.org>
1376         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
1378 2018-02-20  Robert Pluim  <rpluim@gmail.com>
1380         Correct variable markup in manuals
1382         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
1383         * doc/lispref/text.texi (Filling): Likewise.
1384         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
1385         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
1386         (Encrypting/decrypting gpg files): Likewise.
1387         * doc/misc/tramp.texi (External methods): Likewise.
1388         (Default Method): Likewise.
1389         * doc/misc/viper.texi (Editing in Insert State): Likewise.
1390         (File and Buffer Handling): Likewise.
1391         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
1392         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
1393         status of url-temporary-directory.
1395 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1397         Improve the "Sending Mail" chapter of Emacs manual
1399         * doc/emacs/sending.texi (Mail Format, Header Editing)
1400         (Mail Aliases): Fix capitalization of mail headers.
1401         (Mail Aliases): Use ~/.mailrc consistently.
1402         (Mail Misc): More accurate description of disposition.  Suggested
1403         by Michael Albinus <michael.albinus@gmx.de> in
1404         emacs-manual-bugs@gnu.org.
1406 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1408         Fix documentation of 'flyspell-auto-correct-word'
1410         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
1411         doc string on how the function looks for the word to spell-check.
1412         (flyspell-word, flyspell-auto-correct-word): Refer to
1413         'flyspell-get-word' for details about finding the word.
1414         (Bug#30462)
1416 2018-02-19  Robert Pluim  <rpluim@gmail.com>
1418         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
1420 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
1422         More changes in the Emacs manuals
1424         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
1425         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
1426         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
1427         Fix punctuation.  Suggested by Stefan Kamphausen
1428         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
1430         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
1431         commands between lines.  Reported by Wojciech Politarczyk
1432         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1434         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
1435         rebinding keys from "Init File".  (Bug#30528)
1437 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1439         More fixes in the Emacs manual
1441         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
1442         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
1443         @item's.
1444         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
1445         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
1446         in emacs-manual-bugs@gnu.org.
1448 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1450         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
1452 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
1454         Minor edit in tramp.texi
1456         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
1457         Improve @cindex entries.
1459 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1461         More improvements in the Emacs manual
1463         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
1464         (List Identifiers): Insert blank lines between @item's in a
1465         @table.
1466         (Etags Regexps): More accurate description of escape sequences.
1467         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
1468         Suggested by Michael Albinus <michael.albinus@gmx.de> in
1469         emacs-manual-bugs@gnu.org.
1471 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1473         Improve documentation of 'electric-pair-mode'
1475         * lisp/elec-pair.el (electric-pair-mode):
1476         * doc/emacs/programs.texi (Matching): Document the operation of
1477         electric-pair-mode when there's an active region.  (Bug#30502)
1479 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
1481         lisp/vc/: documentation fixes
1483         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
1484         * lisp/vc/add-log.el (change-log-get-method-definition):
1485         Indent documentation.
1487 2018-02-17  Robert Pluim  <rpluim@gmail.com>
1489         Document 'desktop-files-not-to-save'
1491         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
1492         of 'desktop-files-not-to-save'.
1494         * lisp/desktop.el (desktop-files-not-to-save): Explain that
1495         the default value excludes buffers visiting remote files.
1497 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1499         Improve documentation of Profiling features
1501         * doc/lispref/debugging.texi (Profiling): Improve the description
1502         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
1504         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
1505         interactive invocation work.  Doc fix.
1507 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1509         Improve indexing of "performance" in ELisp manual
1511         * doc/lispref/debugging.texi (Profiling):
1512         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
1513         features useful for performance analysis.  (Bug#30490)
1515 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1517         Minor change in Emacs manual's VC chapter
1519         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
1520         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
1521         emacs-manual-bugs@gnu.org.
1523 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
1525         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
1527         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
1528         signal an error *before* growing the specpdl array.  Therefore, when
1529         handling the signal, specpdl_ptr points past the end of the specpdl
1530         array and any further use of of specpdl before unwinding (e.g., if
1531         edebug binds signal-hook-function) will cause memory corruption.
1532         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
1533         the specpdl_ptr is already past the end of the specpdl array.
1534         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
1535         (eval-exceed-specbind-with-signal-hook): New test & helper function.
1537 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
1539         Document comment-fill-column in the manual (Bug#11636)
1541         * doc/emacs/programs.texi (Comment Commands)
1542         (Options for Comments): Mention comment-fill-column.
1544 2018-02-17  Glenn Morris  <rgm@gnu.org>
1546         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
1548 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1550         More fixes for the Emacs manual
1552         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
1553         backends.
1554         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
1555         list of VCS.  Remove the description of vc-state-refresh.
1556         (Version Control Systems): Update the description of CVS.
1557         (VC Change Log): Amend the list of VCS that don't support
1558         vc0print-root-log.
1559         (VCS Changesets, VCS Repositories, Advanced C-x v v)
1560         (VC Change Log): Mention SRC with RCS where appropriate.
1561         (VC Directory Commands): More accurate description of
1562         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
1563         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1565 2018-02-16  Robert Cochran  <robert@cochranmail.com>
1567         Make 'byte-compile-error-on-warn' a safe file variable
1569         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
1570         as a safe local variable for boolean values.
1572 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1574         Fix the doc string of flyspell-auto-correct-word
1576         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
1577         fix.  (Bug#30462)
1579 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1581         Improve the MS-Windows appendix of the Emacs manual
1583         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
1584         shortcuts for starting Emacs.
1585         (Text and Binary): Minor wording changes.
1586         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
1587         (ls in Lisp): Update the list of supported 'ls' switches.
1588         Document 'ls-lisp-use-string-collate' and
1589         'ls-lisp-UCA-like-collation'.
1590         (Windows HOME): Mention warnings displayed at startup when
1591         deprecated locations of HOME and/or deprecated names for init
1592         files are used.
1593         (Windows Keyboard): Mention delete-selection-mode.
1595 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1597         Fix 'vc-git--program-version'
1599         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
1600         work with Git for Windows.
1602 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1604         Fix typos and wording in the Emacs manual
1606         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
1607         * doc/emacs/maintaining.texi (Tag Syntax):
1608         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
1609         (Lisp Libraries):
1610         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
1611         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
1612         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
1613         emacs-manual-bugs@gnu.org.
1615 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
1617         * doc/emacs/programs.texi (Semantic): Order programming languages.
1619 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
1621         More improvements for the Emacs manual
1623         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
1624         typos.
1625         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
1626         typos.
1627         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
1628         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
1629         emacs-manual-bugs@gnu.org.
1631         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
1632         (ForIndent Commands, Fortran Columns): Add empty lines between
1633         @items in a @table.
1634         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
1635         'column-number-indicator-zero-based'.
1636         (ForIndent Vars): Fix a typo.
1637         (Fortran Comments): Fix punctuation.
1638         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
1639         * doc/emacs/programs.texi (Comments): Fix a typo.
1640         (Comment Commands): More accurate description of the commands.
1641         (Options for Comments): Don't mention "hook".
1642         (Man Page): Prefer "M-x man" if available.
1643         (Hideshow): Fix the command key sequence.
1644         (Semantic): Update supported languages.
1645         (Semantic, Hungry Delete, Other C Commands): Fix markup of
1646         commands.
1647         (Misc for Programs): Fix a typo.
1648         (Electric C, Hungry Delete): More accurate description of
1649         mode-line lighters of CC submodes.
1650         (Asm Mode): Add empty lines between @items in a @table.
1651         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
1652         Reported by Michael Albinus <michael.albinus@gmx.de> in
1653         emacs-manual-bugs@gnu.org.
1655         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
1656         Suggested by Isaac Carter <icarter1391@gmail.com> in
1657         emacs-manual-bugs@gnu.org.
1659 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
1661         Minor wording change in Emacs manual
1663         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
1664         Reported by lyr3 <lyr3@protonmail.com> in
1665         emacs-manual-bugs@gnu.org.
1667 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
1669         Another set of changes for the manual
1671         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
1672         to elisp's description of 'pp'.
1673         (Program Modes): Add a few more programming modes.  Add index
1674         entries.
1675         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
1676         (Manipulating Comments): Fix markup of keyboard commands.
1677         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
1678         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
1679         in emacs-manual-bugs@gnu.org.
1681         * doc/lispref/display.texi (Display Tables): Fix the description
1682         of the 5th extra slot of the display table.  (Bug#13473)
1684         * doc/emacs/regs.texi (Registers): Simplify wording.
1686         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
1687         about perils of encoded keyboard input.
1689 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
1691         Improvements on tramp.texi
1693         * doc/misc/tramp.texi: Use Tramp version in title.  Further
1694         improvements on user option indexing.  Finish command examples
1695         with @key{RET} where appropriate.
1696         (Remote processes): Use 'M-&' for invocation of async shell.
1697         (Frequently Asked Questions): Add example with simplified syntax.
1699 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
1701         Tramp minor doc fixes
1703         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
1704         wording improvement.
1706 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1708         More changes in the Emacs manual
1710         * doc/emacs/search.texi (Regexp Backslash): Say that
1711         symbol-constituent characters are determined by the syntax table.
1712         (Lax Search): Fix example of case-insensitive search.  Fix a
1713         typo.
1714         (Unconditional Replace): Improve wording.
1715         (Regexp Replace): More consistent wording.  Reported by Michael
1716         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1718         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
1719         Windows versions.  Reported by Isaac Carter
1720         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
1722 2018-02-13  Andreas Schwab  <schwab@suse.de>
1724         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
1726 2018-02-13  Andreas Schwab  <schwab@suse.de>
1728         Don't signal error in vc-deduce-backend
1730         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
1731         vc-responsible-backend signals an error.
1733 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
1735         * doc/misc/tramp.texi: Index more user options.
1737 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1739         Minor change in the Emacs manual
1741         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
1742         load-path is not a good idea.  Suggested by James Yoo
1743         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
1745 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1747         NEWS update about 'string-trim'
1749         * etc/NEWS: Mention changes in string-trim family of functions.
1750         (Bug#30442)
1752 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
1754         Clarify TRAMP process-environment interaction (Bug#30419)
1756         * doc/misc/tramp.texi (Remote processes): Index the
1757         tramp-remote-process-environment description.  Clarify the effects of
1758         let-binding process-environment and the motivation for that behavior.
1760 2018-02-12  Juri Linkov  <juri@linkov.net>
1762         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
1764         (grep-mode-line-matches): New defconst.
1765         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
1766         to include the number of matches found.
1767         (grep-process-setup): Set grep-num-matches-found to 0.
1768         (grep-exit-message): New function with body moved from lambda
1769         in grep-process-setup.  Use grep-num-matches-found to return
1770         the number of matches found.
1771         (grep-filter): Increment grep-num-matches-found.
1772         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
1773         (Bug#30397, bug#14017)
1775 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
1777         Avoid aborts in cm.c due to too small TTY frame
1779         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
1780         minimum height large enough to allow for a menu bar, the mode
1781         line, one text line and one echo-area line.  This avoids aborts in
1782         cm.c:cmcheckmagic.  (Bug#30320)
1784 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
1786         Another set of improvements in the Emacs manual
1788         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
1789         * doc/emacs/msdos.texi (Windows Keyboard):
1790         * doc/emacs/mark.texi (Using Region):
1791         * doc/emacs/frames.texi (Menu Mouse Clicks):
1792         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
1793         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
1794         emacs-manual-bugs@gnu.org.
1796         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
1797         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
1798         Various minor wording improvements.  Suggested by Toon Claes
1799         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
1800         More minor changes.  Suggested by Michael Albinus
1801         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1803         * doc/emacs/cmdargs.texi (Title X): Improve wording.
1805         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
1806         passive tense.
1808         * doc/emacs/basic.texi (Moving Point): Move the description of the
1809         bidi-related effects of the arrow keys from here ...
1810         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
1811         Explain the behavior of arrow keys between paragraphs.
1813 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
1815         Fix help in mode-line-mode-menu
1817         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
1818         Fix help string.
1820 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
1822         Improve documentation of desktop restoring
1824         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
1825         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
1826         how to restore desktop in daemon mode.  (Bug#30421)
1828 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
1830         Improve the Emacs manual's chapter "Frames"
1832         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
1833         to where frame visibility is described.
1834         (Word and Line Mouse): Clarify wording.
1835         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
1836         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
1838 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
1840         Fix unbound mm-uu-entry in mm-uu
1842         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
1844 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1846         Improve Emacs user manual in fixit.texi
1848         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
1849         repeated undo.
1850         (Transpose): Describe explicitly what happens at EOL.
1851         (Spelling): Use "spell-checking" consistently.  Clarify wording.
1852         Suggested by Toon Claes <toon@iotcl.com> in
1853         emacs-manual-bugs@gnu.org.
1855 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1857         Another minor change in the manual
1859         * doc/emacs/glossary.texi (Glossary): Add popular Latin
1860         abbreviations, such as "e.g.".
1862 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1864         More minor changes in the Emacs manual
1866         * doc/emacs/xresources.texi (GTK resources):
1867         * doc/emacs/trouble.texi (Contributing):
1868         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
1870         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
1871         based on reports in emacs-manual-bugs@gnu.org about incorrect
1872         hyphenation.
1874 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1876         Avoid printing garbled error message from image.el
1878         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
1879         apostrophe in the error message, as that message is shown from a
1880         unibyte buffer, and will run afoul of the default style of showing
1881         quote characters.  (Bug#30405)
1883 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1885         Doc string fix in latin-alt.el
1887         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
1888         Robert Pluim <rpluim@gmail.com>.
1890 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1892         Minor improvements in package.texi
1894         * doc/emacs/package.texi (Package Menu): Minor wording change.
1895         (Package Installation): Use HTTPS.  A better @xref to GnuPG
1896         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
1897         emacs-manual-bugs@gnu.org.
1899 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1901         Minor improvement in Emacs user manual
1903         * doc/emacs/files.texi (Directories): Document that
1904         'directory-free-space-program' and 'directory-free-space-args' are
1905         only for local filesystems.  Suggested by Michael Albinus
1906         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1908 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
1910         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
1912 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1914         Improve documentation of mini-window resizing
1916         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
1917         'message-truncate-lines' for preventing resizing of minibuffer
1918         windows.  (Bug#19045)
1919         (Minibuffer Misc): Remove redundant description of
1920         'max-mini-window-height'.
1921         * doc/lispref/display.texi (Echo Area Customization): Adjust
1922         cross-reference.
1924 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1926         More changes in the Emacs manual
1928         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
1929         (Fixing Case): Fix punctuation.
1930         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
1931         in emacs-manual-bugs@gnu.org.
1933         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
1934         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
1935         in emacs-manual-bugs@gnu.org.
1937         * doc/emacs/indent.texi (Just Spaces): Yet another minor
1938         rewording.
1940         * doc/emacs/building.texi (Watch Expressions): Improve wording.
1941         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
1942         by Alberto Sartori <alberto.sartori@sissa.it> in
1943         emacs-manual-bugs@gnu.org.
1944         (Grep Searching): Mention the effect of
1945         'compilation-mode-line-errors'.  (Bug#30397)
1947         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
1948         rewording of what <LEFT> and <RIGHT> do.
1950 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1952         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
1954         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
1955         manual display is unaffected.
1957 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1959         Mention that shell quoting of % on w32 may fail (Bug#19350)
1961         * doc/lispref/os.texi (Security Considerations): Mention that quoting
1962         of '%' assumes no '^' in variable names.
1963         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
1964         demonstrating what doesn't work.
1966 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1968         Fix --no-build-details for w32 and macOS
1970         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
1971         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
1972         to `x-open-connection'.
1974 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1976         * doc/lispref/anti.texi (Antinews): Add some more antinews.
1978 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1980         Fix crashes when run with --no-build-details
1982         * src/xrdb.c (get_environ_db):
1983         * src/xterm.c (same_x_server, x_term_init):
1984         Don’t assume Fsystem_name returns a string.
1986 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
1988         More changes for the manual
1990         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
1991         Reported by Michael Albinus <michael.albinus@gmx.de> in
1992         emacs-manual-bugs@gnu.org.
1994         * doc/emacs/custom.texi (Function Keys): Improve wording.
1995         Suggested by clemens.radermacher@posteo.de in
1996         emacs-manual-bugs@gnu.org.
1998         * doc/emacs/misc.texi (History References): Improve punctuation.
1999         (Terminal emulator): Fix a typo.
2000         (Term Mode): Remove redundant repeated text.
2001         (Invoking emacsclient): Improve wording.  Suggested by Alberto
2002         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2004         * doc/emacs/files.texi (Visiting): Fix last change.
2006 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
2008         Doc fixes for process functions (Bug#30349)
2010         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
2011         the 'stopped' state means for a pipe process.
2012         * src/process.c (Fmake_process, Fmake_pipe_process)
2013         (Fmake_serial_process, Fmake_network_process):
2014         * lisp/subr.el (start-process):
2015         * lisp/net/tls.el (open-tls-stream):
2016         * lisp/net/starttls.el (starttls-open-stream):
2017         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
2018         "specify an output stream" phrase from docstring.
2020 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
2022         Fix shr and CSS 4 color maps
2024         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
2025         Add RebeccaPurple.
2026         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
2027         and aqua-cyan aliases.
2028         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
2029         Bump color count.
2031 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
2033         Yet another round of improvements in the manual
2035         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
2036         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
2038         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
2039         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
2041         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
2042         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2044         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
2045         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
2046         emacs-manual-bugs@gnu.org.
2048         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
2049         regarding registry keys.
2051         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
2052         Reported by Cena Mayo <cenazoic@gmail.com> in
2053         emacs-manual-bugs@gnu.org.
2055         * doc/emacs/screen.texi (Screen): More accurate wording.
2056         Suggested by Miloš Polakovič <milos@alphamail.org> in
2057         emacs-manual-bugs@gnu.org.
2059         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
2060         Suggested by David Bonnafous <dbonnafo@gmail.com> in
2061         emacs-manual-bugs@gnu.org.
2063         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
2064         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
2065         emacs-manual-bugs@gnu.org.
2067         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
2069         * doc/emacs/display.texi (Highlight Interactively): Fill text.
2070         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
2071         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2073         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
2075         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
2076         (Remote Files, File Names, Visiting, Backup Deletion)
2077         (Customize Save, Interlocking): Improve wording and accuracy of
2078         the text.
2079         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
2080         "his".
2081         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
2082         wording changes.
2083         (Supporting additional buffers): Moved to ...
2084         * doc/lispref/backups.texi (Reverting): ... here.
2085         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
2086         buffers" from master menu.
2087         * doc/emacs/files.texi (Reverting): Mention use of file
2088         notifications.  Suggested by Michael Albinus
2089         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2091         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
2092         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
2093         emacs-manual-bugs@gnu.org.
2095         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
2096         (Action Arguments): Fix a typo.
2097         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
2098         Justin Heyes-Jones <justinhj@gmail.com> in
2099         emacs-manual-bugs@gnu.org.
2101         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
2102         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2104         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
2105         Minor wording changes.
2107 2018-02-04  Juri Linkov  <juri@linkov.net>
2109         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
2111         when vc-git-print-log-follow is non-nil (bug#19045).
2112         (vc-git-print-log-follow): Doc fix.
2114         * etc/NEWS: Mention 'vc-git-print-log-follow'.
2116 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
2118         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
2120         for hints how to type remote file names effectively.
2122 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
2124         Yet another round of fixing the Emacs manual
2126         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
2127         describing what happens when Emacs is invoked with several file
2128         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
2129         emacs-manual-bugs@gnu.org.
2131         * doc/emacs/xresources.texi (GTK styles):
2132         * doc/emacs/mini.texi (Passwords):
2133         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
2134         "can not".
2136         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
2137         of ns-right-alternate-modifier when its value is 'none'.
2138         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
2139         emacs-manual-bugs@gnu.org.
2141         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
2142         sub-sections of Diary.
2143         * doc/emacs/emacs.texi (Top):
2144         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
2145         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
2146         emacs-manual-bugs@gnu.org.
2148         * doc/emacs/anti.texi (Antinews): Fix grammar.
2150 2018-02-04  Alan Mackenzie  <acm@muc.de>
2152         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
2154 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
2156         Two minor fixes in Antinews
2158         * doc/emacs/anti.texi (Antinews): Two minor fixes.
2160 2018-02-03  Juri Linkov  <juri@linkov.net>
2162         * etc/NEWS: Rename image-dired-thumb-job-limit
2164         to image-dired-queue-active-limit (bug#30279)
2166 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2168         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
2170 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2172         Fix deferred display of async shell-command buffers
2174         * lisp/simple.el (shell-command): Display async shell buffer on
2175         process output for every, not just first, command invocation.  Check
2176         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
2178 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2180         Mention remote file name completion in Emacs manual
2182         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
2183         "//" with remote file names.  (Bug#29149)
2185 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2187         Yest another round of manual copyedits
2189         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
2190         changes.  Suggested by myq larson <myqlarson@gmail.com> in
2191         emacs-manual-bugs@gnu.org.
2193         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
2194         relevant Org features.  Suggested by Alex Branham
2195         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
2197         * doc/emacs/dired.texi (Operating on Files)
2198         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
2199         Suggested by Francis Wright <f.j.wright@live.co.uk> in
2200         emacs-manual-bugs@gnu.org.
2202         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
2203         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
2204         emacs-manual-bugs@gnu.org.
2206 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2208         Update xdisp.c commentary
2210         * src/xdisp.c: Update commentary regarding "asynchronous" entry
2211         into redisplay.  (Bug#30182)
2213 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
2215         Fix Bug#30324
2217         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
2218         Adapt to changed remote file name syntax.  (Bug#30324)
2220 2018-02-03  Glenn Morris  <rgm@gnu.org>
2222         Recognize Org as builtin package (bug#30310)
2224         * lisp/org/org.el: Add Version header so detected as builtin package.
2225         * test/lisp/org/org-tests.el: New file.
2227 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2229         Another round of manual fixups
2231         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
2232         Reported by David Bonnafous <dbonnafo@gmail.com> in
2233         emacs-manual-bugs@gnu.org.
2235         * doc/emacs/windows.texi (Other Window): Improve wording.
2236         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
2237         emacs-manual-bugs@gnu.org.
2239         * doc/emacs/display.texi (Display Custom): Mention that line
2240         numbers are not displayed in the minibuffer and tooltips.
2242         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
2243         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
2244         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
2245         emacs-manual-bugs@gnu.org.
2247         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
2248         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
2250         * doc/emacs/display.texi (Scrolling): Fix grammar.
2251         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
2252         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
2253         in emacs-manual-bugs@gnu.org.
2255         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
2256         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
2257         Remove redundant commas.  Suggested by oldgaro
2258         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
2260         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
2261         Suggested by clemens.radermacher@posteo.de in
2262         emacs-manual-bugs@gnu.org.
2264         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
2265         wording.  Suggested by drone <yoorobot@gmail.com> in
2266         emacs-manual-bugs@gnu.org.
2268         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
2269         (Dired Deletion): Fix a typo.
2270         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
2271         character.  Fix typos.
2272         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
2273         (Arguments): Some additional information about keys.  Reported by
2274         Francis Wright <f.j.wright@live.co.uk> in
2275         emacs-manual-bugs@gnu.org.
2277 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
2279         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
2282         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
2284 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2286         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
2288 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
2290         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
2292         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
2294 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2296         Fix last change of @key markup
2298         * doc/lispref/display.texi (Specified Space):
2299         * doc/emacs/programs.texi (C Modes):
2300         * doc/emacs/killing.texi (Rectangles):
2301         * doc/emacs/emacs.texi (Top):
2302         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
2303         markup for characters and commands, only for keys.
2305 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2307         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
2309 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
2311         Revert a1bbc49015 (Bug#30243), do not merge
2313         * lisp/files.el:
2314         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
2316 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
2318         Use @key{} where it is missing in the manuals
2320 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2322         Another round of manual fixes from proofreading
2324         * doc/emacs/search.texi (Incremental Search)
2325         (Nonincremental Search): Mention the menu bar and fix typos.
2326         Reported by David Bonnafous <dbonnafo@gmail.com> in
2327         emacs-manual-bugs@gnu.org.
2328         * doc/emacs/building.texi (Compilation): Improve wording.
2329         Suggested by drone <yoorobot@gmail.com> in
2330         emacs-manual-bugs@gnu.org.
2331         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
2332         Suggested by Robert Pluim <rpluim@gmail.com> in
2333         emacs-manual-bugs@gnu.org.
2334         * doc/emacs/display.texi (Highlight Interactively, Fringes):
2335         Improve wording.  Suggested by Justin Heyes-Jones
2336         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2337         * doc/emacs/commands.texi (User Input, Commands): Add missing
2338         commas.
2339         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
2340         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
2341         emacs-manual-bugs@gnu.org.
2342         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
2343         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
2344         emacs-manual-bugs@gnu.org.
2345         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
2346         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
2347         emacs-manual-bugs@gnu.org.
2348         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
2349         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
2350         * doc/emacs/maintaining.texi (Introduction to VC)
2351         (Why Version Control?, VCS Merging): Fix typos and section
2352         capitalization.  Suggested by "R. P. Dillon"
2353         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
2354         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
2355         Reported by clemens.radermacher@posteo.de in
2356         emacs-manual-bugs@gnu.org.
2358 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2360         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
2362 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
2364         Document 'window-at-side-p' in the Elisp manual
2366         * doc/lispref/windows.texi (Windows and Frames): Document
2367         'window-at-side-p'.
2369 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2371         Document external-debugging-output in the Elisp Manual (Bug#24051)
2373         * doc/lispref/streams.texi (Output Streams): List
2374         external-debugging-output.
2375         * src/print.c (Fexternal_debugging_output): Quote `print' in
2376         docstring.
2378 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2380         Fix scroll-margin docstring (Bug#13791)
2382         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
2383         the margin may trigger any sort of auto scrolling, not recentering
2384         specifically.
2386 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2388         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
2390         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
2392 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2394         Update manual description of locate-file (Bug#23650)
2396         * doc/lispref/files.texi (Locating Files): Add example of predicate
2397         when searching for a directory.
2399 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2401         Clarify effect of print-gensym (Bug#27776)
2403         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
2404         and #N= constructs depends on the value of `print-circle'.
2406 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2408         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
2410 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2412         Define cl-type-definition button type as needed (Bug#28899)
2414         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
2415         `cl-extra' before using the `cl-type-definition' button type.
2417 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2419         Emphasize that GPG passphrase caching is temporary (Bug#29907)
2421         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
2422         temporary.
2423         (GnuPG version compatibility): Fix typo.
2425 2018-01-30  Alan Mackenzie  <acm@muc.de>
2427         Fix @examples in cc-mode.info, where lines were getting glued together.
2429         This happened because of false @c's in macro lines.
2431         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
2432         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
2434 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2436         Minor change in "Mode Line" section of Emacs manual
2438         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
2439         hovering the mouse over the mode line.  Suggested by Eduardo
2440         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
2442 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2444         More fixes in the Emacs manual
2446         * doc/emacs/screen.texi (Mode Line): Fix markup and
2447         cross-references.
2448         (Menu Bar): Correct inaccurate description.
2449         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
2450         * doc/emacs/frames.texi (Scroll Bars):
2451         * doc/emacs/emacs.texi (Top):
2452         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
2453         * doc/emacs/misc.texi (Invoking emacsclient)
2454         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
2455         Michael Albinus <michael.albinus@gmx.de> in
2456         emacs-manual-bugs@gnu.org.
2458 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2460         Minor copyedits in "Distribution" chapter of the Emacs manual
2462         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
2463         Suggested by oldgaro <oldgaro@protonmail.com> in
2464         emacs-manual-bugs@gnu.org.
2466 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2468         Minor copyedits in "Entering" chapter of Emacs manual.
2470         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
2471         to MS-Windows startup procedures.  Clarify wording.  Suggested by
2472         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
2474 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2476         Minor wording change in the Emacs manual
2478         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
2479         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
2481 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2483         Fix a typo in the Emacs manual
2485         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
2486         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
2487         emacs-manual-bugs@gnu.org.
2489 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2491         Improve the "Basic" chapter of the Emacs manual
2493         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
2494         (Position Info): Add a cross-reference to where
2495         display-line-numbers-mode is described.  Reported by Joshua
2496         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
2498 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2500         Resurrect lost text in lispref
2502         * doc/lispref/files.texi (File Attributes): Resurrect
2503         inadvertently lost text.
2505 2018-01-30  Philipp Stephani  <phst@google.com>
2507         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
2509 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2511         Proofread os.texi and files.texi
2513 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
2515         Minor improvements in the "International" chapter of Emacs manual
2517         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
2518         versions of MS-Windows.
2519         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
2520         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
2521         emacs-manual-bugs@gnu.org.
2523 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
2525         Minor improvement in "Text" chapter of Emacs manual
2527         * doc/emacs/text.texi (Words): Improve wording.  Reported by
2528         Marcin Borkowski <mbork@mbork.pl> in
2529         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
2531 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
2533         Fix some issues in the emacs/lispref manuals
2535         * doc/emacs/basic.texi (Continuation Lines):
2536         * doc/emacs/building.texi (GDB User Interface Layout):
2537         * doc/emacs/dired.texi (Misc Dired Features):
2538         * doc/emacs/maintaining.texi (Identifier Search):
2539         * doc/emacs/mark.texi (Using Region):
2540         * doc/emacs/misc.texi (Document View, DocView Conversion):
2541         * doc/emacs/modes.texi (Major Modes):
2542         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
2543         * doc/emacs/sending.texi (Mail Methods): Replace @code by
2544         @kbd.
2545         * doc/emacs/frames.texi (Text-Only Mouse):
2546         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
2547         @key.
2548         * doc/lispref/compile.texi (Compiler Errors): Write
2549         non-@code{nil} instead of non-nil.
2550         * doc/lispref/debugging.texi (Internals of Debugger):
2551         'backtrace' is not a command.  'debugger-stack-frame-as-list'
2552         is an option.
2553         * doc/lispref/display.texi (Size of Displayed Text):
2554         'window-lines-pixel-dimensions' has a last argument 'left'.
2555         * doc/lispref/display.texi (Attribute Functions):
2556         'set-face-underline' and 'set-face-inverse-video' are
2557         commands.
2558         (Tooltips): 'tooltip-frame-parameters' is an option.
2559         (Bidirectional Display): 'bidi-paragraph-direction' is an
2560         option.
2561         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
2562         is an option.
2563         (Input Focus): Argument FRAME of 'x-focus-frame' is not
2564         optional.
2565         (Child Frames): Both arguments of 'frame-ancestor-p' are
2566         non-optional.  'iconify-child-frame' is an option.
2567         * doc/lispref/os.texi (Killing Emacs):
2568         'kill-emacs-query-functions' is an option.
2569         * doc/lispref/windows.texi (Mouse Window Auto-selection):
2570         'mouse-autoselect-window' is an option.
2572 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2574         Fix multiple spaces in Emacs manual
2576         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
2577         spaces in printed manual.
2579 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2581         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
2583 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2585         Adjudicate comments to "International" chapter of Emacs manual
2587         * doc/emacs/mule.texi (International Chars)
2588         (Language Environments, Input Methods, Defining Fontsets)
2589         (Modifying Fontsets): Minor wording changes and typo fixes.
2590         Reported by Francis Wright <f.j.wright@live.co.uk> in
2591         emacs-manual-bugs@gnu.org.
2593 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
2595         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
2597         That commit did not make the corresponding change to printing, thus
2598         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
2599         symbols.  It's too late in the release cycle to change printing
2600         behavior, therefore revert the reader change.
2602         Don't merge to master, the print function will be updated there (see
2603         "Fix round tripping of read->print for symbols with strange quotes").
2605 2018-01-27  Alan Mackenzie  <acm@muc.de>
2607         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
2609         This fixes bug #30186.  The with-silent-modifications was there to prevent
2610         records of text property manipulations being put into buffer-undo-list.  These
2611         had been causing a significant slowdown in CC Mode with C-_ after a large
2612         C-y.  This CC Mode problem has since been solved by a different workaround.
2614         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
2615         with-silent-modifications around the text property manipulations.
2617 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2619         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
2621 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
2623         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
2625 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2627         Minor changes in the Emacs manual
2629         * doc/emacs/search.texi (Search Customizations): Minor wording
2630         change.
2631         * doc/emacs/files.texi (Customize Save): Add a cross-reference
2632         for batch mode.
2634 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2636         Improve the "Files" chapter of the Emacs manual
2638         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
2639         the notion of shadowing before describing the commands.  Suggested
2640         by Will Korteland <emacs-devel@korte.land> in
2641         emacs-manual-bugs@gnu.org.
2643 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2645         Improve the "Search" chapter of the Emacs manual
2647         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
2648         clarify wording.
2649         (Search Customizations): Fix a typo.  Reported by Will Korteland
2650         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
2652 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2654         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
2656 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2658         Improve documentation of 'edebug-defun'
2660         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
2661         for a failure to instrument due to unknown macros.  (Bug#30243)
2662         (Bug#10577)
2664 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2666         Mention crashes due to Noto Serif Kannada fonts
2668         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
2669         and the respective workarounds.  (Bug#30193)
2671 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
2673         * doc/lispref/searching.texi: Document regexp repetition limit.
2675         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
2677 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
2679         Load mm-util as needed for url-file and url-data (Bug#30258)
2681         * lisp/url/url-file.el (url-file):
2682         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
2683         `mm-disable-multibyte'.
2684         * test/lisp/url/url-file-resources/file.txt:
2685         * test/lisp/url/url-file-tests.el:
2686         * test/lisp/url/url-misc-tests.el: New tests.
2688 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2690         Another minor copyedit in the manual's "Scroll Bars"
2692         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
2693         left/right buttons may be absent from the toolkit scroll bars.
2694         Reported by Robert Pluim <rpluim@gmail.com> in
2695         emacs-manual-bugs@gnu.org.
2697 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2699         Minor fix in documentation of 'equal'
2701         * doc/lispref/objects.texi (Equality Predicates): Correct the
2702         conditions for equality of unibyte and multibyte strings.
2703         (Bug#30218)
2705 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2707         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
2709 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2711         Minor rewording in Emacs manual's "Help Mode" node
2713         * doc/emacs/help.texi (Help Mode): Minor rewording of description
2714         of 'help-follow-symbol'.  Suggested by Richard Stallman
2715         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
2717 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2719         Fixes for Emacs manual in frames.texi
2721         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
2722         (Window Dividers): Minor clarifications and spelling/markup
2723         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
2724         emacs-manual-bugs@gnu.org.
2726 2018-01-24  Glenn Morris  <rgm@gnu.org>
2728         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
2730 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2732         Fix a few issues with latest GTK scaling changes
2734         * src/xfns.c (Fx_display_monitor_attributes_list): Call
2735         gdk_screen_get_monitor_scale_factor only for GTK versions
2736         3.10..3.21.
2737         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
2739 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2741         Use scaled coordinates when calling into GTK
2743         This is part two of a two part fix for the GTK scaling
2744         problems.  See the thread starting at
2745         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
2746         for an explanation of why it has been added to Emacs 26.
2748         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
2749         pass to gtk_window_move and to gtk_window_parse_geometry.
2750         * src/xterm.c (x_set_offset): Likewise.
2752 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2754         Scale monitor dimensions obtained from GTK
2756         This is part one of a two part fix for the GTK scaling
2757         problems.  See the thread starting at
2758         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
2759         for an explanation of why it has been added to Emacs 26.
2761         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
2762         into account when using GTK to query the monitor dimensions, which
2763         allows frameset-restore to position frames correctly.
2765 2018-01-22  Rasmus  <rasmus@gmx.us>
2767         Update Org to v9.1.6
2769         Please note this is a bugfix release. See etc/ORG-NEWS for details.
2771 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
2773         Use text-pixels values only when saving framesets (Bug#30141)
2775         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
2776         that text-pixels values are by default only saved by framesets
2777         so the parameter is not set when restoring (Bug#30141).
2779 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2781         Minor improvement in section "Pages" of the usere manual
2783         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
2784         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
2786 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2788         Minor improvements in user manual
2790         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
2791         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
2792         in emacs-manual-bugs@gnu.org
2794 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2796         Improve the "Mark" chapter of the user manual
2798         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
2799         clarify wording.  Suggested by John Cummings <john@rootabega.net>
2800         in emacs-manual-bugs@gnu.org.
2802 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2804         Improve the "Buffers" chapter of the user manual
2806         * doc/emacs/buffers.texi (Several Buffers): Correct description of
2807         prefix arguments.  Clarify "bury".
2808         (Buffer Menus): Clarify wording.  Reported by John Cummings
2809         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
2811 2018-01-21  tino calancha  <tino.calancha@gmail.com>
2813         * lisp/term.el (term-send-input): Fix text duplication in docstring
2815 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2817         Improve "Buffers" in the user manual
2819         Suggested by John Cummings <john@rootabega.net> in
2820         emacs-manual-bugs@gnu.org:
2821         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
2822         "Windows" and "Frames".
2823         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
2824         that accept buffer names.
2825         (Select Buffer): Improve description of "M-g M-g".  Improve
2826         wording.
2827         (Misc Buffer, Kill Buffer): Improve wording.
2828         (Kill Buffer): Fix the response required by kill-some-buffers.
2829         Mention customizable options that control what clean-buffer-list
2830         does.
2831         (Several Buffers): More detail about
2832         'Buffer-menu-unmark-all-buffers'.
2834 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2836         Don't mention 'vc-stay-local' in the user manual
2838         * doc/emacs/vc1-xtra.texi (CVS Options):
2839         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
2840         references to 'vc-stay-local', which no longer exists.
2841         (Bug#30138)
2843 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2845         Fix a typo in calendar.texi
2847         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
2848         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
2849         in emacs-manual-bugs@gnu.org.
2851 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2853         Minor improvement in wording of the Emacs manual
2855         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
2856         Suggested by Will Korteland <emacs-devel@korte.land> in
2857         emacs-manual-bugs@gnu.org.
2859 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2861         Revert "Fix tempfile creation when byte compiling"
2863         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
2864         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
2865         Put tempfile next to the target file, as was the original intent.
2867 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2869         Fix tempfile creation when byte compiling
2871         This improves on the recent fix for master failing to build
2872         on FreeBSD.  Suggested by Stefan Monnier in:
2873         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
2874         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
2875         Put tempfile next to the target file, as was the original intent.
2877 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2879         Improve the Emacs manual as suggested in emacs-manual-bugs
2881         * doc/emacs/killing.texi (Deletion and Killing): Add
2882         cross-reference to "Kill Ring".
2883         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
2884         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
2885         emacs-manual-bugs@gnu.org.
2887 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2889         * lisp/emacs-lisp/bytecomp.el: Tweak last change
2891         (byte-compile-file): Move comment closer to the code it describes.
2893 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2895         Unbreak building Emacs on FreeBSD
2897         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
2898         the temporary file under temporary-file-directory if the file
2899         being compiled is specified by an absolute file name.  This avoids
2900         problems with ACL copying from temporary-file-directory on
2901         FreeBSD.  For the details, see
2902         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
2904 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2906         Don't unnecessarily use non-ASCII characters in C sources
2908         * src/xwidget.c (webkit_javascript_finished_cb):
2909         * src/gtkutil.c (xg_check_special_colors):
2910         * src/emacs-module.c (module_make_string):
2911         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
2912         characters.
2914 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2916         Portability fixes in emacs-module-tests
2918         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
2919         CPPFLAGS.
2920         * test/data/emacs-module/mod-test.c: Include <limits.h>.
2921         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
2922         don't support %td and %zu format specs.
2923         (emacs_module_init): Use compatibility macros to make the error
2924         messages print meaningful values (and avoid compiler warnings).
2926 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
2928         Add tests for term.el
2930         * lisp/term.el (term-mode): Add `name' attribute to
2931         window-adjust-process-window-size-function value, so that it can be
2932         removed easily by tests.
2933         * test/lisp/term-tests.el: New tests.
2935 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
2937         Handle split AnSiT messages for term.el (Bug#17231)
2939         Check to see if there is an incomplete command at the end of
2940         term-emulate-terminal's input string, and, if so, save it so the whole
2941         command can be processed when the next string arrives.
2942         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
2943         (term-mode): Make it buffer local.
2944         (term-handle-ansi-terminal-messages): Prepend it to the received
2945         message, and set it if a partial message was received.
2948         Do not merge to master, it will be solved differently there, see
2949         "Switch term.el to lexical binding, and clean up code a bit".
2951 2018-01-19  Glenn Morris  <rgm@gnu.org>
2953         * configure.ac (emacs_config_features): Add threads.
2955 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
2957         Handle case-insensitive filenames for load-path shadows (Bug#5845)
2959         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
2960         shadowing with case-insensitive matching for files of case-insensitive
2961         directories (as determined by `file-name-case-insensitive-p').
2962         * test/lisp/emacs-lisp/shadow-tests.el: New test.
2963         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
2964         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
2966 2018-01-18  Alan Mackenzie  <acm@muc.de>
2968         CC Mode: stop distinguishing brace blocks from defun blocks by content.
2970         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
2971         essentially a reversion of the patch from 2017-11-10 which attempted to handle
2972         C99's compound literals.
2974         The bug here was triggered when a defun block contained a declaration ending
2975         in a comma, yet without a semicolon.
2977         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
2978         remove from the `or' form the test of a block's contents.
2980 2018-01-17  Philipp Stephani  <phst@google.com>
2982         Use recommended long options syntax in man page
2984         * doc/man/emacs.1.in: Specify equals sign for long options, as
2985         recommended in the manual.
2987 2018-01-17  Glenn Morris  <rgm@gnu.org>
2989         An overdue update of GNUstep emacs.tiff
2991         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
2992         Update to the Emacs 25 icon.
2993         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
2994         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
2996 2018-01-17  Glenn Morris  <rgm@gnu.org>
2998         Add some test skip conditions
3000         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
3001         (vc-bzr-test-bug9781): Skip if bzr is faulty.
3002         * test/src/thread-tests.el: Skip if not compiled with threads.
3004 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
3006         Add documentation to ecomplete.el
3008         * lisp/ecomplete.el: Add doc strings and document the format.
3010 2018-01-17  Glenn Morris  <rgm@gnu.org>
3012         * admin/authors.el (authors-aliases): Tighten more entries.
3014 2018-01-17  Glenn Morris  <rgm@gnu.org>
3016         Small startup fix for current-load-list
3018         * lisp/startup.el (command-line):
3019         Avoid current-load-list being non-nil after startup ends.
3021 2018-01-17  Glenn Morris  <rgm@gnu.org>
3023         authors-aliases is based on regexps, not literals
3025         * admin/authors.el (authors-aliases): Replace overly-broad entries.
3027 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
3029         Remove incorrect documentation in comint.el
3031         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
3032         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
3033         documentation.  (Bug#30079)
3035 2018-01-15  Glenn Morris  <rgm@gnu.org>
3037         An overdue update of src/emacs-icon.h
3039         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
3040         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
3042 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
3044         Minor copyedit in ELisp manual
3046         * doc/lispref/variables.texi (File Local Variables): Improve
3047         wording of last change.
3049 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
3051         Fix Bug#29149 in dired-aux.el
3053         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
3054         commands on w32 properly.  (Bug#29149)
3056 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
3058         Fix Bug#29149 in shell.el
3060         * lisp/shell.el (shell): Change order of `file-local-name' and
3061         `expand-file-name' calls.  Otherwise, the local file name
3062         would be extended by a drive letter, even when it is a remote
3063         file, seen from w32.  (Bug#29149)
3065 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3067         * doc/lispref/variables.texi (File Local Variables): Fix last change
3069 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3071         * ChangeLog.3: Update
3073         Update etc/AUTHORS
3075 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3077         Fix an entry in authors-aliases
3079         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
3080         is too broad, to an email address ("mu@magi.net.ru").
3082 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3084         Mention trace.el facilities in the ELisp manual
3086         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
3087         library.
3089 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3091         Improve documentation of safe values of variables
3093         * doc/lispref/variables.texi (File Local Variables): Mention the
3094         autoload cookie as a means of defining safe values for variables.
3095         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
3096         for the details.
3097         * doc/lispref/compile.texi (Compiler Errors): Document
3098         'byte-compile-error-on-warn'.
3100 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3102         Improve the Emacs manual's "Misc" node
3104         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
3105         (Invoking emacsclient): Mention how to avoid errors when there's
3106         no Emacs server.
3107         (EWW, Embedded WebKit Widgets): Now subsections under
3108         "Hyperlinking and Web Navigation Features".
3109         (Amusements): Add "games" to the section name.  Suggested by Alex
3110         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
3112         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
3113         above changes.
3115         * doc/lispref/os.texi (Security Considerations): Fix typos.
3117 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
3119         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
3121         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
3122         of FRAME_X_P (Bug#30019).
3124 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3126         Bump Emacs version to 26.0.91
3128         * README:
3129         * configure.ac:
3130         * msdos/sed2v2.inp:
3131         * nt/README.W32: Bump Emacs version.
3133 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3135         * ChangeLog.3: Update
3137 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3139         Update authors
3141         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
3142         * etc/AUTHORS: Update AUTHORS file.
3144 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
3146         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
3147         adding extra citation mark (bug#29767, but it is a different bug).
3149 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3151         Improve documentation of etags
3153         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
3154         Improve documentation of etags options and of source language
3155         detection.
3157 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3159         Teach etags new interpreters for some languages
3161         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
3162         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
3163         static variables.
3164         (lang_names): Use them to set interpreters for Erlang, Lua,
3165         Prolog, Python, and Ruby.
3166         (find_entries): Support "/usr/bin/env FOO" form of specifying an
3167         interpreter.
3169         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
3170         line to test the "env FOO" interpreter spec.  (Bug#30075)
3171         * test/manual/etags/ETAGS.good_1:
3172         * test/manual/etags/ETAGS.good_2:
3173         * test/manual/etags/ETAGS.good_3:
3174         * test/manual/etags/ETAGS.good_4:
3175         * test/manual/etags/ETAGS.good_5:
3176         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
3177         files.
3179 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3181         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
3183         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
3185 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
3187         Improve documentation of fill-separate-heterogeneous-words-with-space
3189         * lisp/textmodes/fill.el
3190         (fill-separate-heterogeneous-words-with-space): Fix grammar.
3192 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
3194         Fix documentation of some x-* functions
3196         * lisp/term/pc-win.el (x-display-pixel-width)
3197         (x-display-pixel-height, x-display-planes)
3198         (x-display-color-cells, x-server-max-request-size)
3199         (x-server-vendor, x-server-version, x-display-screens)
3200         (x-display-mm-height, x-display-mm-width)
3201         (x-display-backing-store, x-display-visual-class): Provide doc
3202         strings, so that 'makedoc' produces non-empty documentation in
3203         etc/DOC for these functions.  (Bug#30068)
3205 2018-01-10  Philipp Stephani  <phst@google.com>
3207         Inherit query-on-exit flag to stderr process (Bug#30031)
3209         * src/process.c (Fmake_process): Have the pipe process honor the
3210         parent's query-on-exit flag.
3212         * test/src/process-tests.el (make-process/noquery-stderr): New test.
3214 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
3216         Fix Bug#30057
3218         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
3219         (file-notify--test-cleanup, file-notify--test-make-temp-name)
3220         (file-notify-test01-add-watch, file-notify-test03-events)
3221         (file-notify-test05-file-validity)
3222         (file-notify-test09-watched-file-in-watched-dir)
3223         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
3225 2018-01-10  Glenn Morris  <rgm@gnu.org>
3227         Tag some unstable tests, and skip by default (bug#24503)
3229         * Makefile.in (check-all): New phony target.
3230         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
3231         Also skip unstable tests.
3232         (SELECTOR_ALL): New variable.
3233         (check-all): New phony target.
3234         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
3235         (eieio-test-method-order-list-6):
3236         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
3237         (eieio-test-37-obsolete-name-in-constructor):
3238         Mark as unstable rather than skipping on hydra.nixos.org.
3240 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3242         Merge from Gnulib
3244         This incorporates:
3245         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
3246         2018-01-04 update-copyright: Handle use of ©
3247         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
3248         2018-01-02 stat-time: silence -Wunused-parameter regression
3249         * build-aux/config.guess, build-aux/config.sub:
3250         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
3251         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
3252         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
3253         * lib/stat-time.h: Copy from Gnulib, or regenerate.
3255 2018-01-09  Glenn Morris  <rgm@gnu.org>
3257         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
3259 2018-01-09  Glenn Morris  <rgm@gnu.org>
3261         Small fix for erc-logging-enabled
3263         * lisp/erc/erc-log.el (erc-logging-enabled):
3264         Respect buffer-locality of erc-enable-logging variable.
3266 2018-01-09  Glenn Morris  <rgm@gnu.org>
3268         Quieten semantic normal usage
3270         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
3271         compile time in the normal way, not at run-time.  (Bug#30035)
3273 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
3275         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
3277         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
3279 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
3281         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
3283 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
3285         Query background for gnome terminal version 3.22 (Bug#29716)
3287         * lisp/term/xterm.el (xterm--version-handler): Use
3288         xterm--report-background-handler for terminals reporting minor version
3289         4000 and above.
3291 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3293         Make pixel-wise scrolling less laggy
3295         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
3296         New variables.
3297         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
3298         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
3300 2018-01-07  Alan Third  <alan@idiocy.org>
3302         Fix child frame placement issues (bug#29953)
3304         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
3305         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
3306         struct as invisible child windows are detached from their parents in
3307         NS.
3308         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
3309         value, so handle that gracefully.  Child frames with negative left and
3310         top should be positioned relative to the bottom right of the parent
3311         frame.
3313 2018-01-06  Alan Mackenzie  <acm@muc.de>
3315         Describe the precise interaction of complex primitives with the change hooks
3317         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
3318         primitives call before- and after-change-functions in balanced pairs, but that
3319         some complex primitives call b-c-f once, and a-c-f zero, one, or several
3320         times.
3322 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3324         Fix valgrind report in call-interactively
3326         * src/callint.c (Fcall_interactively): Don't try to access more
3327         bytes than are available in the interactive spec.  (Bug#30004)
3329 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3331         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
3333 2018-01-06  Alan Mackenzie  <acm@muc.de>
3335         Fix mark-defun when there's no spaces between successive defuns.
3337         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
3338         argument to detect non-syntactic WS.  This fails on a "}", which does not
3339         begin a sexp.
3341         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
3342         handle BOL being in a string.
3343         (beginning-of-defun-comments): Call the above function in place of the call
3344         to parse-partial-sexp.
3346 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3348         Fix Dired display and operations on file names with raw bytes
3350         * src/coding.c (decode_coding): When flushing remaining raw bytes
3351         from multibyte text, copy 2-byte forms of eight-bit-*
3352         characters as single characters, not as 2 raw bytes.  (Bug#29189)
3354 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3356         Improve documentation of 'gdb-many-windows'
3358         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
3359         for using a separate frame for 'gdb-many-windows'.
3361 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3363         Fix failures in smerge-mode on MS-Windows
3365         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
3366         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
3367         convention explicit.
3368         (smerge-refine-regions): Use utf-8-emacs instead of
3369         emacs-internal, to allow decoding of non-Unix EOL conventions.
3370         (Bug#29916)
3372 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
3374         Fix description of 'struct' generic function specializer
3375         Backport:
3377         * doc/lispref/functions.texi (Generic Functions): Fix description of
3378         'struct' specializer; it must be the named struct or a child, not a
3379         parent.
3381         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
3383 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
3385         * etc/DEBUG (Getting control to the debugger): Fix grammar.
3387 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3389         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
3391 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
3393         Don't bind dframe events on load (Bug#29599)
3395         * lisp/dframe.el (dframe-setup-hook): New hook.
3396         (dframe-set-special-events): New function, containing previous
3397         top-level key binding code.
3398         (top-level): Add it to dframe-setup-hook.
3399         (dframe-frame-mode): Run the hook.
3401 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
3403         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
3405         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
3407 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3409         Fix description of 'emacs-internal'
3411         * doc/lispref/nonascii.texi (Coding System Basics): Correct
3412         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
3414 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3416         Update PROBLEMS with selection-related issues
3418         * etc/PROBLEMS: Update the entry about large selections and
3419         klipper.  (Bug#29661)
3421 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
3423         New customization variable for python-mode indentation (Bug#28475)
3425         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
3426         (python-indent--calculate-indentation): Let it control how many indent
3427         levels are inserted for multi-line function signatures.
3429 2018-01-01  Alan Third  <alan@idiocy.org>
3431         Fix menu keyboard shortcuts on macOS (Bug#29595)
3433         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
3434         macOS 10.13 no longer ignores long modifier strings, so explicitly use
3435         an empty string.
3437 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3439         Fix copyright years by hand
3441         These are dates that admin/update-copyright did not update, or
3442         updated incorrectly.
3444 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3446         Update copyright year to 2018
3448         Run admin/update-copyright.
3450 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3452         Merge from Gnulib
3454         This incorporates:
3455         2018-01-01 maint: Run 'make update-copyright'
3456         2017-12-29 Add cross-compilation results for GNU/Hurd.
3457         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
3459 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
3461         Don't add empty keyboard macro to macro ring (Bug#24992)
3463         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
3464         macro if it is empty.
3466         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
3467         Remove expected failure tag.
3469 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
3471         Allow customization of decoding of "man" command
3473         * lisp/man.el (Man-coding-system): New defcustom.
3474         (Man-start-calling): Use it, and also pay attention to user
3475         overriding coding-system-for-read.  (Bug#29872)
3477 2017-12-31  Daiki Ueno  <ueno@gnu.org>
3479         * etc/NEWS: Add security consideration note on passphrase input
3481 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
3483         Fix subtle problem with scroll-down when scroll-margin is nonzero
3485         * src/window.c (window_scroll_pixel_based): Account for
3486         scroll-margin when scrolling down, i.e. moving window-start
3487         towards the beginning of the buffer.  Reported by zhang cc
3488         <ccsmile2008@outlook.com> in
3489         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
3491 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
3493         Fix problems with indexing in User manual
3495         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
3496         (Moving Point):
3497         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
3498         * doc/emacs/trouble.texi (Quitting):
3499         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
3500         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
3501         (Creating Custom Themes):
3502         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
3503         (Basic Indent, Info Lookup, Symbol Completion):
3504         * doc/emacs/screen.texi (Echo Area):
3505         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
3506         * doc/emacs/display.texi (Line Truncation, Cursor Display):
3507         * doc/emacs/files.texi (File Names, Backup, File Archives):
3508         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
3509         * doc/emacs/commands.texi (User Input):
3510         * doc/emacs/mule.texi (International, Unibyte Mode)
3511         (International Chars):
3512         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
3513         (CVS Options):
3514         * doc/emacs/modes.texi (Major Modes, Minor Modes):
3515         * doc/emacs/indent.texi (Just Spaces):
3516         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
3517         (Frame Commands):
3518         * doc/emacs/cmdargs.texi (Initial Options):
3519         * doc/emacs/abbrevs.texi (Dabbrev Customization):
3520         * doc/emacs/mini.texi (Completion Example, Completion Commands):
3521         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
3522         (From Other Calendar):
3523         * doc/emacs/regs.texi (Text Registers, Bookmarks):
3524         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
3525         * doc/emacs/maintaining.texi (Xref Commands):
3526         * doc/emacs/windows.texi (Pop Up Window):
3527         * doc/emacs/text.texi (Text, Org Mode):
3528         * doc/emacs/killing.texi (Other Kill Commands):
3529         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
3530         (Gnus Summary Buffer, Shell Mode):
3531         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
3532         redundant identical index entries.
3533         * doc/emacs/custom.texi (Mouse Buttons)
3534         * doc/emacs/files.texi (Reverting): Fix hyphenation.
3535         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
3536         * doc/emacs/files.texi (File Conveniences):
3537         * doc/emacs/programs.texi (MixedCase Words): Make entries that
3538         belong to Concept Index be indexed with @cindex.  (Bug#29888)
3540 2017-12-29  Alan Mackenzie  <acm@muc.de>
3542         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
3544 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
3546         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
3548         Don't mess with the lock file when inhibit_modification_hooks is set,
3549         just like we do in prepare_to_modify_buffer_1.
3551 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
3553         Improve documentation of 'inhibit-modification-hooks' and friends
3555         * src/buffer.c (Fset_buffer_modified_p)
3556         (Frestore_buffer_modified_p): Doc fixes.
3557         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
3558         Document in the doc string that this variable also inhibits file
3559         locks and active region handling.  (Bug#29846)
3561 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
3563         Fix doc string of 'enable-recursive-minibuffers'
3565         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
3566         Doc fix.  (Bug#29873)
3568 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
3570         Fix documentation of delsel and of killing text
3572         * doc/emacs/killing.texi (Appending Kills): Make sure the text
3573         with 2 spaces is not broken between 2 lines.
3574         * doc/emacs/mark.texi (Using Region): Remove the sentence about
3575         delsel mode that describes behavior which exists even without
3576         delsel mode turned on.  Suggested by Petteri Hintsanen
3577         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
3579         * lisp/delsel.el (delete-selection-mode): Doc fix.
3581 2017-12-27  Glenn Morris  <rgm@gnu.org>
3583         * doc/lispref/strings.texi (Case Conversion):
3584         Use a TeX font that support ligatures.
3586 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
3588         * doc/misc/speedbar.texi (Top): Fix grammar.
3590         * lisp/subr.el (with-silent-modifications): Doc fixes.
3592 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
3594         Fix curved quotes in printed manual
3596         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
3597         characters in the printed version of the manual.
3599 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3601         Say that "gnus-cloud" is a parody name
3603 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
3605         More improvements for text.texi
3607         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
3608         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
3609         emacs-manual-bugs@gnu.org.
3611 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
3613         Adjudicate review comments for the "Text" chapter of user manual
3615         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
3616         cross-reference to the Org manual.  Make the cross-reference to
3617         Outline Mode appear in online manuals as well (the conditional was
3618         a forgotten remnant from time immemoriam).
3619         (Paragraphs): Add a note that 'paragraph-start' and
3620         'paragraph-separate' should not be anchored.
3621         (Auto Fill): Remove redundant text.  Suggested by Petteri
3622         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
3624 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
3626         * lisp/url/url-http.el
3627         (url-http-wait-for-headers-change-function): Change message to
3628         url-http-debug.
3630 2017-12-24  Alan Mackenzie  <acm@muc.de>
3632         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
3634         , and instruct her to hold the mouse button to display its documentation.
3636         * lisp/help.el (help-downify-mouse-event-type): New function.
3637         (help-read-key-sequence, describe-key): handle double-click-time being nil or
3638         t.
3639         (describe-key): Print out instructions for displaying documentation of
3640         matching mouse down key sequence command when such exists.
3642 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
3644         * net/eww.el (eww): Handle URLs without host part.
3646 2017-12-23  Alan Mackenzie  <acm@muc.de>
3648         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
3650         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
3651         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
3652         event of a sequence which is bound.
3654         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
3655         a list.  Return the latest one which has a binding.
3657 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
3659         Avoid crashes when ':eval' deletes our frame
3661         * src/xdisp.c (display_mode_element): Signal an error if
3662         ':eval' somehow deletes the frame whose window we are
3663         redisplaying. (Bug#29726)
3665 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3667         Fix scrolling up in pixel-scroll.el
3669         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
3670         down when EOB is shown at the top.  This function is reverted to
3671         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
3673 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
3675         Fix problems with ligatures in PDF version of ELisp manual
3677         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
3678         ligatures in printed versions of the manual.  (Bug#29818)
3680 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3682         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
3684         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
3685         Don't burp if the source-buffer has been killed.
3687 2017-12-22  Glenn Morris  <rgm@gnu.org>
3689         Avoid some overfull lines in PDF lispref
3691         * doc/lispref/commands.texi (Reading One Event):
3692         * doc/lispref/display.texi (SVG Images):
3693         * doc/lispref/frames.texi (Size Parameters):
3694         * doc/lispref/syntax.texi (Categories):
3695         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
3696         Avoid overfull lines.
3698 2017-12-22  Glenn Morris  <rgm@gnu.org>
3700         Avoid some overfull lines in PDF manual
3702         * doc/emacs/display.texi (Display Custom):
3703         * doc/emacs/search.texi (Other Repeating Search):
3704         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
3706 2017-12-22  Glenn Morris  <rgm@gnu.org>
3708         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
3709         Fix ref.
3711 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3713         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
3715 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3717         Fix doc string of 'footnote-style-alist'
3719         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
3720         to non-existing files from doc string.  (Bug#29759)
3722 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3724         Improve documentation of selecting windows
3726         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
3727         Clarify what selecting a window means for keyboard input, and that
3728         input focus may need to be considered when selecting windows on
3729         other frames.  See
3730         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
3731         for more details.
3733 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3735         Improve documentation of records
3737         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
3738         * doc/lispref/records.texi (Records): Recommend that record type
3739         names use package-naming conventions.
3741         * etc/NEWS: Add the naming convention recommendation for record
3742         types.
3744 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3746         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
3748 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3750         Fix interactive spec of 'semantic-ia-show-variants'
3752         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
3753         interactive spec to match the function's expectations.  (Bug#29770)
3755 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3757         Fix documentation of 'mouse-drag-and-drop-region' and friends
3759         * doc/emacs/frames.texi (Drag and Drop): Index
3760         'mouse-drag-and-drop-region-cut-when-buffers-differ',
3761         'mouse-drag-and-drop-region-show-tooltip', and
3762         'mouse-drag-and-drop-region-show-cursor'.
3764         * etc/NEWS: Fix the format of the related entries.
3766 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3768         Improve detection of speller version in ispell.el
3770         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
3771         general forms of version numbers for Aspell, Hunspell, and
3772         Enchant, to include various beta and prereleases.  (Bug#29801)
3774 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3776         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
3778         * doc/emacs/frames.texi (Drag and Drop):
3779         * etc/NEWS (times): Document options for
3780         'mouse-drag-and-drop-region' and mention them in NEWS.
3782 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
3784         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
3786         * doc/emacs/building.texi (Grep Searching): Fix doc of
3787         'grep-save-buffers'.
3788         (Drag and Drop): Reorder paragraphs.  Fix doc of
3789         'mouse-drag-and-drop-region'.
3790         * doc/emacs/frames.texi (Word and Line Mouse):
3791         * doc/emacs/search.texi (Other Repeating Search):
3792         * doc/lispref/compile.texi (Compilation Functions):
3793         * doc/lispref/files.texi (Directory Names):
3794         * doc/lispref/functions.texi (Advising Named Functions):
3795         * doc/lispref/keymaps.texi (Controlling Active Maps):
3796         * doc/lispref/lists.texi (Association Lists):
3797         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
3798         'non-nil' and 'nil'.
3800 2017-12-21  Philipp Stephani  <phst@google.com>
3802         Document that mode commands should be idempotent.
3804         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
3805         Conventions): Document that the mode commands should be idempotent.
3807 2017-12-21  Alan Mackenzie  <acm@muc.de>
3809         Fontify a CPP construct correctly when a comment follows without spaces
3811         Do this by removing a broken optimization in the state cache which put
3812         category text properties on a character between the end of the CPP construct
3813         and the beginning of the comment.  This can't work when there's no such
3814         character.
3816         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
3817         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
3818         (c-with-all-but-one-cpps-commented-out): Remove.
3820         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
3821         start position rather than one character before it.
3822         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
3823         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
3825         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
3826         c-neutralize-syntax-in-CPP and remove the bits which applied category
3827         properties.
3829         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
3830         new name of the function c-neutralize-syntax-in-CPP.
3832 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
3834         Prevent infloop in redisplay on TTY frames
3836         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
3837         filling up display margins with the default face's background.
3838         (Bug#29789)
3840 2017-12-21  Alan Mackenzie  <acm@muc.de>
3842         Fix loss of documentation face in certain CC Mode doc comment situations
3844         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
3845         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
3846         "/**" (etc.) being itself inside a literal, rather than just depending on the
3847         face of the previous character.
3849 2017-12-21  Daiki Ueno  <ueno@gnu.org>
3851         Remove pinentry.el
3853         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
3854         * lisp/net/pinentry.el: Remove (bug#27445).
3856 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
3858         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
3860         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
3861         (Fgnutls_available_p): Use it.
3863 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
3865         Work around GnuTLS version issues with %DUMBFW (tiny change)
3867         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
3868         (init_gnutls_functions): Use it.
3869         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
3871 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
3873         Merge branch 'widen-less' into emacs-26
3875 2017-12-20  Glenn Morris  <rgm@gnu.org>
3877         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
3879 2017-12-20  Glenn Morris  <rgm@gnu.org>
3881         Fix some more aliases to user options
3883         * lisp/cus-edit.el (custom-mode-hook):
3884         * lisp/erc/erc.el (erc-default-coding-system):
3885         * lisp/progmodes/python.el (python-indent, python-guess-indent)
3886         (python-shell-virtualenv-path)
3887         (python-shell-completion-module-string-code)
3888         (python-shell-completion-pdb-string-code, python-use-skeletons):
3889         Define aliases to user options before the options are defined.
3891 2017-12-20  Glenn Morris  <rgm@gnu.org>
3893         Fix some flymake aliases
3895         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
3896         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
3897         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
3898         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
3899         Define aliases to user options before the options are defined.
3901 2017-12-20  Glenn Morris  <rgm@gnu.org>
3903         Unbreak a fileio test on non-Mac OS X systems
3905         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
3906         Don't use an undefined coding system.
3908 2017-12-20  Robert Pluim  <rpluim@gmail.com>
3910         Fix updating scrollbar sizes when scaling is in effect
3912         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
3913         scrollbar when scaling is in effect.
3914         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
3915         when scaling is in effect.
3917 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
3919         Widen in indent-for-tab-command in the normal case, too
3921         Fixing this obvious omission.
3922         * lisp/indent.el (indent--funcall-widened): New function.
3923         (indent-for-tab-command): Use it.
3925 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
3927         Collect GnuTLS extensions and use them to set %DUMBFW if supported
3929         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
3930         only when it's supported as "ClientHello Padding" (Bug#25061).
3932         * src/gnutls.c (Fgnutls_available_p): Get extension names and
3933         put them in the GnuTLS capabilities, using a hard-coded limit
3934         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
3936 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
3938         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
3940 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
3942         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
3944         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
3945         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
3946         rather than forms (bug#29679).
3948 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
3950         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
3951         not position (bug#29734).
3953 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
3955         Replace the mention of c-indent-defun with js-indent-line
3957         * doc/lispref/text.texi (Mode-Specific Indent):
3958         Avoid mentioning c-indent-defun in the context of multi-mode
3959         indentation.
3961 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
3963         python.el doc fixes
3965         * lisp/progmodes/python.el (python-shell-accept-process-output):
3966         (python-shell-comint-end-of-output-p):
3967         (python-shell-first-prompt-hook):
3968         (python-info-beginning-of-backslash): Doc fixes.
3970 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3972         Make 'mouse-drag-and-drop-region' more robust and customizable
3974         * lisp/mouse.el
3975         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
3976         to permit 'mouse-drag-and-drop-region' to cut text also when source
3977         and destination buffers differ.
3978         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
3979         display of tooltip during mouse dragging on graphic displays.
3980         (mouse-drag-and-drop-region-show-cursor): New option to toggle
3981         moving point with mouse cursor during mouse dragging of region.
3982         (mouse-drag-and-drop-region): New face to highlight original
3983         text while dragging.
3984         (mouse-drag-and-drop-region): Make use of new options and face.
3985         Ignore errors during tracking.
3987 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
3989         Backport: Don't compare arguments that can be nil (Bug#28039)
3991         copy-region-as-kill can be called passing nil as `beg' and
3992         `end'. Magit does that, which caused an error when this advice was in
3993         effect.
3995         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
3996           unless `beg' and `end' are non-nil.
3998 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
4000         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
4002         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
4003         similar may update the syntax-ppss cache if
4004         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
4005         any of these functions with a different than normal syntax-table, the
4006         cache must be cleaned afterwards.
4007         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
4008         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
4010 2017-12-17  Glenn Morris  <rgm@gnu.org>
4012         * etc/emacs.appdata.xml: Update file format.
4014 2017-12-16  Alan Third  <alan@idiocy.org>
4016         Use utf-8-hfs-unix on macOS (Bug#29712)
4018         This is a quick fix for the Emacs 26 release. Do not merge to master.
4020         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
4021         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
4023 2017-12-16  Alan Mackenzie  <acm@muc.de>
4025         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
4027 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
4029         Improve fix for Bug#29712
4031         * test/lisp/net/tramp-tests.el
4032         (tramp-test32-environment-variables-and-port-numbers):
4033         Adapt check for systems which do not support "echo -n".  (Bug#29712)
4035 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4037         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
4039 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4041         Avoid reordering of output in 'shr-insert-document'
4043         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
4044         shr-pixel-column invocations.  (Bug#29734)
4046 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4048         Improve documentation of 'invisible-p'
4050         * doc/lispref/display.texi (Invisible Text): Document the return
4051         value of 'invisible-p'.
4053         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
4054         (Bug#29721)
4056 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
4058         Remove one more check that Vframe_list is non-nil
4060         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
4061         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
4062         assumes that.
4064 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
4066         Fix off-by-one error in 'css--hex-color'
4068         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
4070         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
4071         for 'css--hex-color'.
4073 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
4075         Save and restore text-pixel height and width of frames (Bug#28442)
4077         * lisp/frameset.el (frameset--record-relationships): Record
4078         text-pixel-height and text-pixel-width of frame.
4079         (frameset--restore-frame): Restore text-pixel-height and
4080         text-pixel-width of frame if available.  (Bug#28442)
4082 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
4084         Partially revert "Mention new strictness for &optional, &rest..."
4086         The changes to cl argument parsing are not backwards compatible, and
4087         cause inconvenience when writing macros (e.g., instead of doing '&aux
4088         ,@auxargs', some more complicated conditionals would be required).
4089         The `cl-defstruct' macro makes use of this convenience when defining
4090         empty structs (Bug#29728).
4091         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4092         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
4093         and &aux.
4094         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
4095         test.
4097 2017-12-15  Glenn Morris  <rgm@gnu.org>
4099         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
4101         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
4103 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4105         FOR_EACH_FRAME no longer assumes frame-list
4107         This cleans up a recent fix related to Bug#29661.
4108         Suggested by Stefan Monnier in:
4109         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
4110         * src/frame.c (next_frame, prev_frame, delete_frame):
4111         Restore debugging checks that Vframe_list is non-nil,
4112         as FOR_EACH_FRAME no longer has these checks.
4113         (delete_frame): Remove no-longer-needed checks that Vframe_list is
4114         non-nil, as FOR_EACH_FRAME no longer assumes that.
4115         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
4117 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4119         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
4121 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4123         Modernise message.el face spec syntax
4125         * lisp/gnus/message.el (message-header-to, message-header-cc)
4126         (message-header-subject, message-header-newsgroups)
4127         (message-header-other, message-header-name, message-header-xheader)
4128         (message-separator, message-cited-text, message-mml):
4129         Use (DISPLAY . PLIST) face spec syntax as recommended in
4130         `(elisp) Defining Faces'.  (Bug#29405)
4132 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4134         Update message.el obsolete face aliases
4136         * lisp/gnus/message.el: (message-header-to, message-header-cc)
4137         (message-header-subject, message-header-newsgroups)
4138         (message-header-other, message-header-name, message-header-xheader)
4139         (message-separator, message-cited-text, message-mml):
4140         Use define-obsolete-face-alias.  (Bug#29405)
4142 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4144         Improve documentation of TERM environment variable
4146         * doc/emacs/trouble.texi (Checklist):
4147         * doc/emacs/building.texi (Compilation Shell):
4148         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
4149         * doc/emacs/building.texi (Compilation Shell): Mention
4150         'comint-terminfo-terminal' in conjunction with the TERM value.
4152 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
4154         Add option to configure comint TERM
4156         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
4157         (comint-term-environment): New function for setting terminal options
4158         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
4159         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
4161         * etc/NEWS:
4162         * doc/emacs/misc.texi (Shell Options): Document the new option.
4164 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4166         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
4168         * lisp/international/mule.el (sgml-xml-auto-coding-function):
4169         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
4170         obey the buffer's encoding if it is one of these variants, instead
4171         of re-encoding in UTF-8 proper.  (Bug#20623)
4173 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4175         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
4177 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
4179         Fix Bug#29712 in tramp-tests.el
4181         * test/lisp/net/tramp-tests.el
4182         (tramp-test32-environment-variables-and-port-numbers):
4183         Skip for macOS.  (Bug#29712)
4185 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
4187         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
4189         This does not fix Bug#29961 but avoids that Emacs segfaults when
4190         trying to shut down because it lost connection to the X server.
4192         * src/dispnew.c (check_glyph_memory):
4193         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
4194         there's no frame left (Bug#29961).
4196 2017-12-15  Glenn Morris  <rgm@gnu.org>
4198         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
4200 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4202         Remember password change for IMAP in Gnus (Bug#29692)
4204         Reported by Trey Jackson <trey_jackson@mentor.com>.
4206         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
4207         `mail-source-password-cache' for password.
4209 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4211         Add %DUMBFW to the default GnuTLS priority strings
4213         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
4214         the default priority strings (Bug#25061).
4216         * etc/NEWS: Mention it.
4218         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
4219         GnuTLS priority string documentation URL.
4221 2017-12-15  Glenn Morris  <rgm@gnu.org>
4223         Small fixes prompted by make check-declare
4225         * lisp/frame.el (x-focus-frame): Update declaration.
4226         (ns-mouse-absolute-pixel-position): Fix declaration.
4227         * lisp/vc/diff-mode.el (diff-refine-hunk):
4228         Use smerge-refine-regions rather than obsolete alias.
4229         (smerge-refine-subst): Remove declaration, no longer relevant.
4231 2017-12-15  Glenn Morris  <rgm@gnu.org>
4233         Fix some custom groups
4235         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
4236         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
4238 2017-12-14  Alan Mackenzie  <acm@muc.de>
4240         Fix fontification of first declaration within a C++ lambda form.
4242         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
4243         spuriously recognizing the braces of a lambda form as a brace list when there
4244         is an "=" preceding the introductory brackets.
4246 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
4248         * src/data.c (Fadd_variable_watcher): Doc fix.
4250 2017-12-14  Alan Mackenzie  <acm@muc.de>
4252         Fix misfontification of C++ member initialization list after "throw"
4254         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
4255         starting with "throw", by using c-opt-type-modifier-prefix-key.
4257         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
4258         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
4259         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
4260         any keyword in the previous lang const.
4262 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
4264         Consolidate 'widen' calls
4266         * lisp/progmodes/prog-mode.el (prog-indentation-context):
4267         Un-document all elements but the first.
4268         (prog-widen): Remove.
4269         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
4271         * doc/lispref/text.texi (Mode-Specific Indent): Update.
4273         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
4274         Don't call widen.
4276         * lisp/progmodes/python.el
4277         (python-indent-guess-indent-offset)
4278         (python-info-current-defun): Replace prog-widen with widen;
4279         these functions are not called during indentation.
4280         (python-indent-context)
4281         (python-indent--calculate-indentation)
4282         (python-info-dedenter-opening-block-message)
4283         (python-info-line-ends-backslash-p)
4284         (python-info-beginning-of-backslash)
4285         (python-info-continuation-line-p)
4286         (python-info-current-defun): Remove 'widen' calls.
4288         * lisp/indent.el (indent-according-to-mode)
4289         (indent-for-tab-command, indent-region): Move them here.
4291         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
4292         Bind prog-indentation-context to one-element list.
4294 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
4296         Fix doc-string of Fbuffer_list
4298         * src/buffer.c (Fbuffer_list): Fix doc-string.
4300 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
4302         Don't raise an extraneous frame (bug#29696)
4304         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
4305         summary buffer keys from article buffer without affecting window
4306         configuration (bug#29696).
4308 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
4310         Mention new strictness for &optional, &rest in arglists (Bug#29165)
4312         * etc/NEWS: Explain that '&optional' not followed by a variable is now
4313         an error.
4314         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
4315         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
4316         followed by a variable for consistency.
4317         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
4318         test.
4320 2017-12-13  Alan Mackenzie  <acm@muc.de>
4322         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
4324         Also recognize and handle function names introduced by "extern" inside a
4325         function.
4327         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
4328         the result list which is t when our declaration is, or is to be treated as,
4329         being at top level.
4331         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
4332         inside a C++ uniform initialization and return (not-decl nil) for this case.
4333         (c-font-lock-declarations): Use the new element 4 of the result of
4334         c-forward-decl-or-cast-1.
4336         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
4337         New lang consts/vars.
4339 2017-12-13  Glenn Morris  <rgm@gnu.org>
4341         Fixes for defcustoms, prompted by cus-test-opts
4343         * lisp/files.el (save-some-buffers-default-predicate):
4344         * lisp/time.el (display-time-world-list):
4345         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
4346         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
4347         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
4348         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
4349         (less-css-output-file-name, less-css-input-file-name):
4350         * lisp/vc/emerge.el (emerge-metachars):
4351         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
4352         Fix :types.
4353         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
4355 2017-12-13  Glenn Morris  <rgm@gnu.org>
4357         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
4358         Update.
4360         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
4362 2017-12-13  Glenn Morris  <rgm@gnu.org>
4364         Add missing :version tags revealed by cusver-check
4366         * lisp/comint.el (comint-move-point-for-matching-input):
4367         * lisp/epa.el (epa-replace-original-text):
4368         * lisp/image-dired.el (image-dired-cmd-optipng-program)
4369         (image-dired-cmd-optipng-options):
4370         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
4371         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
4372         (gnus-cloud-interactive):
4373         * lisp/net/mailcap.el (mailcap-user-mime-data):
4374         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
4375         (c-noise-macro-names, c-noise-macro-with-parens-names):
4376         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
4377         (flymake-wrap-around):
4378         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
4379         * lisp/progmodes/js.el (js-indent-align-list-continuation):
4380         * lisp/progmodes/perl-mode.el (perl-flymake-command):
4381         * lisp/progmodes/python.el (python-flymake-command)
4382         (python-flymake-command-output-pattern, python-flymake-msg-alist):
4383         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
4384         (ruby-rubocop-config):
4385         * lisp/textmodes/less-css-mode.el (less-css):
4386         * lisp/textmodes/tex-mode.el (tex-chktex-program)
4387         (tex-chktex-extra-flags): Add missing :version tags.
4389 2017-12-13  Glenn Morris  <rgm@gnu.org>
4391         Escape column-zero doc parens
4393         * lisp/htmlfontify.el (hfy-display-class):
4394         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
4395         * lisp/net/shr.el (shr-external-rendering-functions):
4396         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
4397         * lisp/textmodes/tildify.el (tildify-tildify):
4398         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
4400 2017-12-12  Alan Third  <alan@idiocy.org>
4402         Remove ObjC blocks (Bug#23753)
4404         * src/macfont.m (macfont_get_glyph_for_character):
4405         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
4407         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
4409 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
4411         Import the latest IVD_Sequences.txt
4413         * admin/unidata/IVD_Sequences.txt: New version from
4414         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
4415         Ideographic Variation Database.
4417         * src/macuvs.h: Regenerated.
4419 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
4421         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
4423         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
4424         to write to stdout rather than relying on the default (the choice of
4425         default is decided when compiling tar, BSD systems usually set it to a
4426         tape drive).  Drop '-v', since the output is not used anywhere.
4428 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
4430         Suppress warnings during elisp completion macroexpansion
4432         Errors are already suppressed, therefore it is logical to suppress
4433         warnings as well.  Some macros (e.g., use-package) may produce
4434         warnings when given the `elisp--witness--lisp' symbol.
4435         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
4436         warning-minimum-log-level to :emergency.
4438 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
4440         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
4442 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
4444         Make tramp-interrupt-process more robust
4446         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
4447         the default implementation if there's no success.
4449 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
4451         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
4453         * lisp/international/quail.el (quail-input-method): Work not only
4454         when buffer-read-only is nil but also when inhibit-read-only is non-nil
4455         (bug#29504).
4457 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4459         Fix 'fontset-name-p'
4461         * lisp/international/fontset.el (fontset-name-p): Make the
4462         function work with full fontset names and fontset alias names.
4464 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4466         Fix fontset documentation inconsistencies for bug#29630
4468         * doc/lispref/display.texi (Face Attributes): Don't document
4469         :family as accepting a fontset.  Document that :font accepts a
4470         fontset.
4472         * lisp/faces.el (set-face-attribute): Doc fix.
4474 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
4476         Remove sentence from child frames section in Elisp manual
4478         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
4479         Suggested by Bob Weiner <rsw@gnu.org>.
4481 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4483         Avoid crashes in 'font-at' after 'set-fontset-font'
4485         * src/fontset.c (free_realized_fontsets): Call
4486         recompute_basic_faces, so that the basic faces are available to
4487         any Lisp that calls this function, e.g. via set-fontset-font.
4488         (Bug#29632)
4490 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
4492         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
4494 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
4496         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
4498         Problem reported by Mark Ferlatte (Bug#28603).
4499         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
4501 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4503         Fix tool-tip display when display margins are non-zero by default
4505         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
4506         New inline functions.
4507         * src/xfns.c (Fx_show_tip):
4508         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
4509         buffer to zero, as it will be displayed in a pseudo-window, which
4510         doesn't support display margins.  (Bug#29627)
4512 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
4514         Handle hash tables and vectors when reading/writing EIEIO objects
4516         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
4517           printed with `prin1' can no longer be read with `read'. Make sure
4518           they are printed with object-write instead, even when they're inside
4519           hash tables and vectors.
4520         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
4521           Check for written representations of objects inside hash tables and
4522           vectors, and reconstruct them.
4524 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4526         Improve interactive debugging commands in xdisp.c
4528         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
4529         specify ROW via prefix argument.  Fix the doc strings.
4531 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4533         Fix calculation of continuation_pixel_width in display engine
4535         * src/xdisp.c (display_line): Remove incorrect increment of
4536         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
4538 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4540         Improve documentation of 'save-abbrevs'.
4542         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
4543         value of 'save-abbrevs'.  Suggested by Alex Branham
4544         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
4546 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4548         Improve documentation of Dired
4550         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
4551         be made modifiable in Wdired.  Suggested by Alex Branham
4552         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
4554 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4556         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
4558 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
4560         Minor Tramp fixes
4562         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
4563         Fix a bug when renaming.
4565         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
4566         (tramp-test42-delay-load, tramp-test42-remote-load-path):
4567         Skip unless Emacs >= 26.
4569 2017-12-08  Glenn Morris  <rgm@gnu.org>
4571         * lisp/help-mode.el (help-function-def):
4572         Allow help-make-xrefs to call with one argument.  (Bug#29611)
4574 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
4576         Fix doc-string of 'display-buffer-in-side-window'
4578         * lisp/window.el (display-buffer-in-side-window): In doc-string
4579         clarify why the window returned gets dedicated to its buffer.
4581 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
4583         Fix Bug#29579
4585         * lisp/files.el (file-name-non-special):
4586         Inhibit `file-name-handler-alist' only for some operations.
4587         Add missing operations.  (Bug#29579)
4589         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
4590         Do not quote if it is quoted already.
4592         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
4593         Use `copy-tree' but `copy-sequence'.
4595         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
4596         trailing slashes correctly.
4598         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
4599         (tramp-test12-rename-file, tramp-test24-file-acl)
4600         (tramp-test25-file-selinux, tramp--test-check-files):
4601         Handle also quoted file names.
4602         (tramp-test21-file-links): Fix file name quoting test.
4603         (tramp-test24-file-acl): Be more robust for "smb" method.
4604         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
4606 2017-12-06  Rasmus  <rasmus@gmx.us>
4608         Backport: Update Org to v9.1.4
4610         Please note this is a bugfix release. See etc/ORG-NEWS for details.
4612         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
4614 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
4616         In windows.texi mention special splitting behavior of side and atomic windows
4618         * doc/lispref/windows.texi (Splitting Windows): Add note about
4619         and links to side and atomic windows.
4621 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
4623         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
4624         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
4626 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
4628         Avoid compilation warning in xterm.c
4630         * src/xterm.c (x_draw_underwave): Move the declaration of
4631         'thickness' to the non-USE_CAIRO branch, to avoid compiler
4632         warning.  (Bug#29567)
4634 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
4636         * README: Document all the top-level directories.  (Bug#29558)
4638 2017-12-04  Glenn Morris  <rgm@gnu.org>
4640         Don't enable erc modules on simply loading erc.el
4642         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
4644 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
4646         Allow shr to use data: URLs without encoding
4648         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
4649         image data: URLs that have no base64 encoding like
4650         (shr-image-from-data
4651         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
4653 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
4655         Don't add newlines in minibuffer history
4657         * lisp/simple.el (next-line-or-history-element): Bind
4658         next-line-add-newlines to nil.  (Bug#29529)
4660 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
4662         modhelp.py: Support Python 3 (Bug#24954)
4664         * modules/modhelp.py: 'print' statement was removed in Python
4665         3.  'print' function should be used instead of 'print' statement.
4667 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
4669         Use forward slashes for python w32 config example (Bug#21656)
4671         * lisp/progmodes/python.el: Use forward slashes for Windows path
4672         example, it doesn't require doubling of slashes which reduces chances
4673         of confusion.
4675 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
4677         Fix bug in i18n/l10n optimization
4679         This fixes a off-by-one buffer overrun bug introduced in
4680         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
4681         experimental version of Emacs built with -fcheck-pointer-bounds
4682         and running on Intel MPX hardware.
4683         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
4685 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4687         Let autoload-compute-prefix be set file-locally (Bug#29471)
4689         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
4690         boolean values as safe.
4692 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4694         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
4696         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
4697         present the current bindings in the prompt.  Check the the
4698         non-remapped binding of the entered key sequence as well.
4700 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
4702         Add tests on electric-indentation and Python multiline strings (Bug#29305)
4704         * test/lisp/progmodes/python-tests.el
4705         (python-indent-electric-comma-inside-multiline-string,
4706         python-indent-electric-comma-after-multiline-string): New tests.
4708 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4710         Disable electric indent for python strings (Bug#29305)
4712         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
4713         Do nothing when point or beginning of line is in string.
4715 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
4717         Fix buffer overflow in fontname conversion (Bug#29523)
4719         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
4721 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4723         Fix byte compilation of files with leading directories
4725         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
4726         of target-file to make-temp-file, in case target-file includes a
4727         leading directory that might not exist under TMPDIR.  See
4728         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
4729         for the details.
4731 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
4733         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
4735 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
4737         Revert Tramp commit from 2017-11-20
4739         * lisp/net/tramp.el (tramp-drop-volume-letter)
4740         (tramp-handle-find-backup-file-name): Revert change from
4741         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
4742         case now.
4744 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4746         Improve documentation of buffer-list commands and features
4748         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
4749         "Several Buffers", to establish a relation between the two
4750         sections.
4751         (Buffer Menus): Expand on customizability of alternative buffer
4752         menu offered by bs.el.  Mention IBuffer.
4753         Suggested by Alex Branham <alex.branham@gmail.com> in
4754         emacs-manual-bugs@gnu.org.
4756 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4758         Fix backing up remote files in local directories on MS-Windows
4760         * lisp/files.el (make-backup-file-name-1): Support remote file
4761         names correctly when they are backed up into a local directory on
4762         MS-Windows and MS-DOS.  (Bug#29440)
4764 2017-12-02  Glenn Morris  <rgm@gnu.org>
4766         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
4768 2017-12-01  John Wiegley  <johnw@newartisans.com>
4770         Revert "Fix backing up remote files in local directories on MS-Windows"
4772         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
4774 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4776         Fix a typo in ELisp manual
4778         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
4779         of using 'seq-uniq'.  (Bug#29524)
4781 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4783         * lisp/composite.el (find-composition): Fix a typo in the doc string.
4785 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4787         Fix backing up remote files in local directories on MS-Windows
4789         * lisp/files.el (make-backup-file-name-1): Support remote file
4790         names correctly when they are backed up into a local directory on
4791         MS-Windows and MS-DOS.  (Bug#29440)
4793 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4795         Fix vertical cursor motion in pixel-scroll.el
4797         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
4798         regardless of whether EOB is shown at the top.
4799         (pixel-scroll-down) Move cursor up regardless of whether BOB
4800         is shown at the top.  (Bug#29374)
4802 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
4804         Fix typos in doc strings of message.el
4806         * lisp/gnus/message.el (message-header-to)
4807         (message-header-subject, message-header-newsgroups)
4808         (message-header-other): Fix typos in doc strings.  (Bug#29405)
4810 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4812         Fix a typo in the Emacs manual
4814         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
4815         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
4817 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4819         Improve the documentation of 'table-insert-sequence'
4821         * doc/emacs/text.texi (Table Misc): Fix the description of
4822         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
4823         emacs-manual-bugs@gnu.org.
4825 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
4827         Port better to QNX
4829         Problem reported by Elad Lahav on emacs-devel.
4830         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
4831         and default LDFLAGS to -N2MB so that the initial stack size
4832         is not too small.  Also, fix misspelling of ‘qnxnto’.
4834 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
4836         Make tramp-test42-auto-load more robust
4838         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
4839         Make it more robust.  Don't skip.
4841 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
4843         Avoid assertions in find-composition
4845         * src/font.c (font_range): If called with STRING non-nil and FACE
4846         a NULL pointer, compute face by calling face_at_string_position.
4847         (Bug#29506)
4849         * lisp/composite.el (find-composition): Doc fix.
4851 2017-11-29  Glenn Morris  <rgm@gnu.org>
4853         Restore obsolete method of changing byte-compile-dest-file
4855         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
4856         Restore seven-year obsolete feature that was removed for six months,
4857         since automake uses it.
4859 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
4861         Some minor Tramp corrections
4863         * lisp/net/tramp.el (tramp-handle-directory-file-name):
4864         Handle several trailing slashes correctly.
4865         (tramp-handle-file-selinux-context): New defun.
4867         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
4868         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
4869         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
4870         Use `tramp-handle-file-selinux-context'.
4872         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
4873         Extend test.
4874         (tramp-test17-insert-directory): Make check more robust.
4875         (tramp-test42-auto-load): Combine several let forms.
4876         (tramp-test42-delay-load, tramp-test42-recursive-load)
4877         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
4879 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
4881         * doc/misc/url.texi (http/https): Fix typo
4883 2017-11-29  Glenn Morris  <rgm@gnu.org>
4885         Remove some bogus definition-prefixes from loaddefs
4887         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
4888         Don't register a definition prefix from define-erc-module,
4889         which adds an erc- prefix to its argument.
4891 2017-11-28  Robert Pluim  <rpluim@gmail.com>
4893         Shell-quote wildcards when invoking 'vc-git-grep'
4895         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
4896         filename wildcards to ensure globbing is done by git rather
4897         than the shell.  (Bug#29303)
4899 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
4901         Update documentation of '.dir-locals-2.el'
4903         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
4904         for more details.
4905         * lisp/files.el (dir-locals-file-2): Remove unused constant.
4906         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
4907         the doc string.
4908         * doc/lispref/variables.texi (Directory Local Variables): Mention
4909         ".dir-locals-2.el".
4910         * etc/NEWS: Replace `dir-locals-file-2' mention with
4911         `dir-locals-file'.
4913 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
4915         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
4917 2017-11-27  Glenn Morris  <rgm@gnu.org>
4919         A few small doc fixes for bytecomp.el
4921         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
4922         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
4924 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4926         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
4928 2017-11-27  Glenn Morris  <rgm@gnu.org>
4930         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
4932 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
4934         Fix ELisp "Warning Tips"
4936         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
4937         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
4939 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
4941         Fix Bug#29163
4943         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
4944         Do not use "\\'" in regexp.  (Bug#29163)
4945         (top) Do not run (tramp-register-autoload-file-name-handlers)
4946         when loading tramp.el.
4948         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
4949         (tramp-test32-environment-variables-and-port-numbers)
4950         (tramp-test41-asynchronous-requests): Use it.
4951         (tramp-test42-auto-load): New test.
4952         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
4953         (tramp-test45-delay-load, tramp-test46-unload): Rename.
4955 2017-11-27  Paul Eggert  <eggert@union>
4957         Harden exec_byte_code against redefining 'error'
4959         Problem discovered by configuring with --enable-gcc-warnings on
4960         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
4961         * src/bytecode.c (exec_byte_code): Call the C error function
4962         instead of the Lisp one, so that the Emacs interpreter does not go
4963         haywire if the user redefines the Lisp error function.
4965 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
4967         Fix Edebug specs for if-let* and and-let* (Bug#29236)
4969         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
4970         Change Edebug spec to cause Edebug to instrument tests the
4971         results of which are not bound to symbols (the (VALUEFORM)
4972         case).
4973         (and-let*): Change Edebug spec to allow empty body.
4975         *test/lisp/emacs-lisp/subr-x-tests.el:
4976         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
4977         form so Edebug will work on this test.
4979 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
4981         Fix Edebug's handling of dotted specs (bug#6415)
4983         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
4984         cl-macro-list1 instead of cl-macro-list in Edebug spec.
4986         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
4987         unused variable.
4988         (edebug-dotted-spec): Add docstring.
4989         (edebug-match-specs): Allow &optional and &rest specs to
4990         match nothing at the tail of a dotted form. Handle matches of
4991         dotted form tails which return non-lists.
4993         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
4994         New test.
4996         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
4997         (edebug-test-code-use-destructuring-bind): New function.
4999 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
5001         Improve documentation of "constant" symbols
5003         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
5004         <font-width-table>:
5005         * src/data.c (syms_of_data) <most-positive-fixnum>
5006         <most-negative-fixnum>:
5007         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
5008         Mention in the doc strings that these variables are read-only.
5010         * doc/lispref/variables.texi (Creating Buffer-Local): Document
5011         that making a constant variable buffer-local signals an error.
5012         * doc/lispref/variables.texi (Constant Variables):
5013         * doc/lispref/errors.texi (Standard Errors): More accurate and
5014         up-to-date documentation of which symbols cannot be assigned
5015         values.
5017 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5019         maint: shorten https://lists.gnu.org/archive/html/... links
5021 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5023         Merge from Gnulib
5025         This incorporates:
5026         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
5027         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
5028         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
5029         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
5030         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
5031         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
5032         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
5033         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
5034         * m4/vararrays.m4:
5035         Copy from Gnulib.
5037 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5039         Work around GCC bug 80776 on Fedora 27 x86
5041         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
5042         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
5043         using XINT rather than XFASTINT and by adding an eassume.  This
5044         works around GCC bug 80776.
5046 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5048         Tweak copy-file, rename-file doc
5050         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
5051         slightly, as NEWNAME is treated as a directory name depending only
5052         on the contents of the NEWNAME string, and independently of
5053         whether NEWNAME names a directory (i.e., whether the directory
5054         exists) (Bug#29362).
5056 2017-11-25  Tom Tromey  <tom@tromey.com>
5058         Change font-lock-extend-region-multiline handling in mhtml-mode
5060         Bug#29159
5061         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
5062         font-lock-extend-region-multiline from
5063         font-lock-extend-region-functions.
5064         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
5066 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5068         Minor cleanup in tramp-gvfs-handle-file-local-copy
5070         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
5071         Move error message up.
5073 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5075         Add test for Bug#29423 in Tramp.
5077         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
5078         Add test for Bug#29423.
5080 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5082         Avoid jumbled order in HTML rendered by shr.el
5084         * lisp/net/shr.el (shr-render-td): Preserve point, as
5085         shr-render-td-1 might move it as a side effect of
5086         save-window-excursion.  (Bug#29348)
5088 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5090         Make sure 'dired-filename' property is always put by ls-lisp
5092         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
5093         'dired-filename' text property on the file name here...
5094         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
5096 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5098         A better solution for bug#29347
5100         * src/thread.c (really_call_select): Don't try to take the global
5101         lock if the same thread is already holding it.  (Bug#29347)
5103 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5105         Avoid a hang after C-g while sit-for on a Unix TTY
5107         * src/thread.c (acquire_global_lock): Don't try to take the global
5108         lock if the same thread is already holding it.  (Bug#29347)
5110 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5112         Improve the doc string of 'list-packages'
5114         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
5115         string the columns shown by the command.  (Bug#29420)
5117 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5119         Improve discoverability of 'defvar' for suppressing warnings
5121         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
5122         * doc/lispref/variables.texi (Defining Variables): Mention that
5123         defvar with no value is used for suppressing compiler warnings.
5124         (Bug#29400)
5126 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5128         Improve discoverability of 'read-buffer-completion-ignore-case'
5130         * lisp/window.el (switch-to-buffer)
5131         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
5132         Mention 'read-buffer' in the doc string.  (Bug#29389)
5134         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
5135         where 'read-buffer-completion-ignore-case' is documented.
5137 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5139         Improve documentation of self-insert-uses-region-functions
5141         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
5142         doc string.
5143         * lisp/delsel.el (delete-selection-uses-region-p): Mention
5144         'self-insert-command' in the doc string.  (Bug#29373)
5146         * doc/lispref/text.texi (Commands for Insertion): Mention
5147         'self-insert-uses-region-functions'.
5148         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
5149         cross-reference to "Commands for Insertion".
5151 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5153         Reflect changes in copy-file and rename-file in doc strings
5155         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
5156         strings that directory names must end in a slash.  (Bug#29362)
5158 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5160         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
5162 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5164         Reorder type predicates in ELisp manual
5166         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
5167         order of listed predicates.  (Bug#29411)
5169 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
5171         Fix backward scrolling in buffers with header-line
5173         * src/window.c (window_scroll_pixel_based): Account for the
5174         header-line when comparing Y coordinate with the last_visible_y.
5175         (Bug#29325)
5177 2017-11-22  Glenn Morris  <rgm@gnu.org>
5179         * lisp/bindings.el (buffer-file-coding-system):
5180         Add explicit permanent-local mark.
5182         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
5184 2017-11-22  Alan Third  <alan@idiocy.org>
5186         Fix incorrect interaction of drag/drop and double click (bug#29121)
5188         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
5189         doesn't use ns-input-file.
5191 2017-11-22  Glenn Morris  <rgm@gnu.org>
5193         * lisp/menu-bar.el (menu-bar-options-save):
5194         Add display-line-numbers-type.
5196         * lisp/menu-bar.el (menu-bar-options-save):
5197         Add global-display-line-numbers-mode.  (Bug#28396)
5199         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
5201 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5203         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
5205         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
5206         (ruby-flymake-rubocop):
5207         Extract the common part as ruby-flymake--helper.
5208         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
5209         variable instead.
5211 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5213         Add Rubocop Flymake backend
5215         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
5216         Inline the value.  There are no known substitutes.
5217         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
5218         the docstring.
5219         (ruby-flymake-use-rubocop-if-available): New option.
5220         (ruby--rubocop-flymake-proc): New variable.
5221         (ruby-rubocop-config): New option.
5222         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
5223         (ruby-mode): Use `ruby-flymake-auto'.
5225 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
5227         Update nt/INSTALL.W64 (Bug#28601)
5229         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
5230         suggestion about modifying PATH to...
5231         (Test Emacs): ... here.
5232         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
5233         (Troubleshooting): New section, includes suggestion to check
5234         PKG_CONFIG_PATH.
5236 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
5238         Remove incorrect NEWS item about VC state indicator (Bug#28817)
5240         * etc/NEWS (VC and related modes): Remove news item about the VC
5241         state indicator.  This should have been done with commit 7882dc6
5242         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
5244 2017-11-21  Glenn Morris  <rgm@gnu.org>
5246         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
5248 2017-11-21  Alan Mackenzie  <acm@muc.de>
5250         Make c-defun-name analyze more thoroughly a function type which is a struct
5252         This fixes bug #29293.
5254         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
5255         encountered, check whether it is the return type of a function rather than a
5256         declaration of the struct itself.  Similarly adapt the cond arm which deals
5257         with functions properly to recognize struct return types.
5259 2017-11-21  Glenn Morris  <rgm@gnu.org>
5261         Avoid bogus abbreviated file names if HOME changes
5263         * lisp/files.el (abbreviate-file-name):
5264         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
5265         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
5267 2017-11-21  Glenn Morris  <rgm@gnu.org>
5269         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
5271 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
5273         Fix erc keep-place module with new defaults (Bug#29111)
5275         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
5276         keep-place to continue working with
5277         switch-to-buffer-preserve-window-point set to t, the new default.
5279 2017-11-20  Alan Third  <alan@idiocy.org>
5281         Add window divider faces to NS (bug#29353)
5283         * src/nsterm.m (ns_draw_window_divider): Use
5284         window-divider-first-pixel and window-divider-last-pixel faces.
5286 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5288         * src/keyboard.c: Undo last change, meant for master only
5290 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
5292         Fix Bug#29149
5294         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
5295         backup file names.
5296         (tramp-handle-find-backup-file-name):
5297         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
5299 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
5301         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
5303         * src/xterm.c (x_draw_window_divider):
5304         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
5305         drawing three-pixel high horizontal dividers (Bug#29353).
5307         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
5308         Third.
5310 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
5312         MH-E: don't automatically download external-body parts
5314         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
5315         mm-automatic-display-p to verify that a part should be
5316         displayed before doing the inline checks (SF#475).
5318 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
5320         Further fix for Bug#29291
5322         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
5323         Check for local ACL support.  (Bug#29291)
5325 2017-11-19  Alan Third  <alan@idiocy.org>
5327         Fix divider frame params on NS (bug#29352)
5329         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
5330         bottom-divider-width parameters.
5332 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5334         Spelling fixes
5336         * lisp/help-fns.el (help-fns--analyze-function):
5337         Rename from help-fns--analyse-function.
5338         All uses changed.
5340 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
5342         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
5344         (read_key_sequence): Recompute first_event
5345         after replay_sequence, since it might have changed (bug#29104).
5347 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
5349         Don't let delete_frame select a tooltip frame (Bug#27647)
5351         * src/frame.c (delete_frame): Don't select a tooltip
5352         frame. (Bug#27647)
5354 2017-11-18  Alan Mackenzie  <acm@muc.de>
5356         Filter obtrusive events in help-read-key-sequence.
5358         This fixes most of bug #29272.
5360         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
5361         discarding any events (such as <help-echo>) received in this time, before
5362         polling for the double-click (etc.) events which may follow.  This fixes the
5363         infinite loop which occurred whwn <help-echo> events triggered a sit-for
5364         whilst handling menu events.
5366 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5368         Fix symlink flag in tramp-gvfs-handle-file-attributes
5370         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
5371         Set proper symlink file mode flag.
5373 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5375         Fix bug in tramp-handle-file-truename
5377         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
5379         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
5380         relative symbolic links.
5382 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5384         Fix a typo in doc string of electric-indent-functions-without-reindent
5386         * lisp/electric.el (electric-indent-functions-without-reindent):
5387         Doc fix.  (Bug#29304)
5389 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5391         Avoid assertion violations in echo_area_display
5393         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
5394         area if the selected-frame's mini-window is nil.  (Bug#27647)
5396 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5398         Fix case-folding in Occur
5400         * lisp/replace.el (occur-engine): Bind case-fold-search in each
5401         buffer we search.  (Bug#29254)
5403 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
5405         Fix quick-calc in C mode with hex values
5407         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
5408         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
5409         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
5410         for the details.
5412 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5414         Improve documentation of dired-next/prev-marked-file
5416         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
5417         Doc fixes.  (Bug#29340)
5419 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5421         Prevent aborts in line-move-visual
5423         * src/indent.c (line_number_display_width): Avoid assertion
5424         violations in init_iterator when the window's buffer was
5425         temporarily switched without updating window-start.  (Bug#29326)
5427 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5429         More fixes in src/.gdbinit
5431         * src/.gdbinit (pwinx): Update to match 'struct window'.
5432         (pcursorx): Use "." instead of "->" because the argument is a
5433         struct, not a pointer.
5435 2017-11-17  Robert Pluim  <rpluim@gmail.com>
5437         Document how to enter whitespace when using grep-read-files
5439         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
5440         how to enter whitespace when using grep-read-files.  (Bug#29303)
5441         * lisp/progmodes/project.el (project-find-regexp): Likewise.
5442         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
5444 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5446         Fix .gdbinit following lisp.h changes
5448         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
5449         (xprintstr): Adapt to latest changes in Lisp object C structures.
5450         (Bug#29332)
5452 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
5454         * lisp/simple.el (shell-command): Doc fixes.
5456 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
5458         Fix marker adjustment for undo (Bug#29118)
5460         * lisp/simple.el (primitive-undo): Compare marker against absolute
5461         value of POS, because the sign of POS is irrelevant to markers.
5463 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
5465         Fix Bug#28139
5467         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
5468         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
5469         (tramp-remote-process-environment): Document their special handling.
5470         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
5471         initial remote shell, so that it is also aware of the environment
5472         in which it is operating.  (Bug#28139)
5474 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
5476         Fix Bug#29291
5478         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
5479         Preserve permissions when copying.  (Bug#29291)
5481 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
5483         Fix Bug#2928
5485         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
5486         Enhance test.  (Bug#29287)
5487         (tramp-test44-delay-load): Fix for older Emacsen.
5489 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
5491         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
5493         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
5494         'select-window' events to make it work with
5495         'mouse-autoselect-window'.
5497 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
5499         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
5501         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
5503 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
5505         Fix cookie handling (bug#29282)
5507         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
5508         Regard a Set-Cookie header as it contains a single cookie;
5509         prefer Max-Age to Expires and convert it to Expires;
5510         remove support for old time string styles (bug#29282).
5512 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
5514         Improve documentation of Edebug and macros
5516         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
5517         discussion of when it might be necessary to find and evaluate macro
5518         specifications before instrumenting.
5519         (Specification List): Clarify what "defining form" means to Edebug
5520         and when 'def-form' or 'def-body' should be used instead of 'form'
5521         or 'body'.
5523 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5525         Port to IBM xlc 12.01
5527         Work around a compiler bug by using a separate enum for alignment.
5528         * src/alloc.c (roundup_size): Declare in a separate enum.
5530 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5532         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
5534         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
5535         needed, since we no longer rely on __attribute__ ((aligned (8))).
5536         All uses removed.
5537         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
5538         (lisp_to_value): Simplify now that we no longer need to worry
5539         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
5541 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5543         Use alignas to fix GCALIGN-related bugs
5545         Use alignas and unions to specify alignments of objects needing
5546         addresses that are at least a multiple of GCALIGNMENT.  Using
5547         these standard C facilities should be safer than relying on ad hoc
5548         and poorly-understood features like GCC’s __attribute__
5549         ((aligned (N))), the root cause for recent porting bugs like
5550         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
5551         supports alignas for pre-C11 platforms.  I have tested this on Sun
5552         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
5553         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
5554         x86-64 and x86).
5555         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
5556         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
5557         now properly aligned.  All uses changed.
5558         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
5559         member; this is simpler and safer than casting a pointer that
5560         might not be aligned properly.
5561         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
5562         Lisp_Symbol is aligned properly.  All uses replaced with struct
5563         Lisp_Symbol.
5564         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
5565         it can cause the natural alignment to be ignored.  All uses
5566         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
5567         described below.
5568         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
5569         Change definition from ‘struct TAG { MEMBERS };’ to
5570         ‘struct TAG { union { struct { MEMBERS } s; char alignas
5571         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
5572         to have an alignment that at least max (GCALIGNMENT, N) where N is
5573         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
5574         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
5575         anyway.  Verify that the resulting ‘struct TAG’ is properly
5576         aligned for Emacs.
5577         (union vectorlike_header): New member ‘gcaligned’ to guarantee
5578         that this type, and its containing types like ‘struct Lisp_Subr’,
5579         ‘struct buffer’ and ‘struct thread_state’, are all properly
5580         aligned for Emacs.
5581         (struct Lisp_String): New union member ‘next’, for the benefit
5582         of NEXT_FREE_LISP_STRING.
5583         (union Aligned_Cons, union Aligned_String): Remove.  All uses
5584         replaced by struct Lisp_Cons and struct Lisp_String, since they
5585         are now properly aligned.
5586         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
5587         assume struct Lisp_Cons and struct Lisp_String are properly
5588         aligned.
5590 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5592         Change vectorlike from struct to union
5594         * src/lisp.h (vectorlike_headed): Change from struct to union.
5595         All uses changed.  Since it has only one member, this does not
5596         change semantics.  This is designed to simplify future changes
5597         needed to fix bugs like Bug#29040.  All uses changed.
5599 2017-11-12  Tom Tromey  <tom@tromey.com>
5601         Don't enable cursor-sensor-mode in mhtml-mode
5603         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
5604         string.
5605         (mhtml-mode): Don't call cursor-sensor-mode.
5607 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
5609         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
5611 2017-11-12  João Távora  <joaotavora@gmail.com>
5613         Unbreak interactive run of a flymake test (bug#29267)
5615         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
5616         technique used here.
5618         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
5619         Let-bind abbreviated-home-dir.
5621 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
5623         Fix Bug#29225
5625         * src/fileio.c (Fset_file_acl): Report error only when
5626         acl_errno_valid returns true.  (Bug#29225)
5628         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
5629         (tramp-test25-file-selinux): New tests.
5630         (tramp-test26-file-name-completion, tramp-test27-load)
5631         (tramp-test28-process-file, tramp-test29-start-file-process)
5632         (tramp-test30-interrupt-process, tramp-test31-shell-command)
5633         (tramp-test32-environment-variables)
5634         (tramp-test32-environment-variables-and-port-numbers)
5635         (tramp-test33-explicit-shell-file-name)
5636         (tramp-test34-vc-registered)
5637         (tramp-test35-make-auto-save-file-name)
5638         (tramp-test36-find-backup-file-name)
5639         (tramp-test37-make-nearby-temp-file)
5640         (tramp-test38-special-characters)
5641         (tramp-test38-special-characters-with-stat)
5642         (tramp-test38-special-characters-with-perl)
5643         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
5644         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
5645         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
5646         (tramp-test41-asynchronous-requests)
5647         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
5648         (tramp-test44-delay-load, tramp-test45-unload): Rename.
5650 2017-11-12  Alan Mackenzie  <acm@muc.de>
5652         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
5654         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
5655         for an open brace at EOB and nested braces inside an unclosed brace block.
5657 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
5659         Merge from Gnulib
5661         This incorporates:
5662         2017-11-11 faccessat: port to macOS (Bug#29231)
5663         2017-11-05 fstatat: pacify GCC on unusual platform
5664         * build-aux/config.guess, build-aux/config.sub:
5665         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
5666         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
5667         Copy from Gnulib.
5668         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5670 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
5672         Pacify GCC when configured --with-x-toolkit=no
5674         Without these changes, Emacs does not build on Fedora 26 x86-64
5675         when configured --with-x-toolkit=no --enable-gcc-warnings.
5676         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
5677         * src/xterm.c (x_dispatch_event): Define only if
5678         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
5680 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
5682         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
5684 2017-11-12  João Távora  <joaotavora@gmail.com>
5686         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
5688         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
5689         more eob corner cases.
5691         * test/lisp/progmodes/flymake-tests.el
5692         (eob-region-and-trailing-newline): New test.
5694 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
5696         Keep Man sections in natural order (bug#28998)
5698         * lisp/man.el (Man-build-section-alist): Reverse sections.
5700 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5702         * lisp/minibuffer.el: Install a workaround for bug#16274
5704         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
5705         error when `md` is applied to another table.
5707 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5709         Fix comparisons with tip_frame in GTK builds
5711         * src/xterm.c (x_update_begin, x_new_font):
5712         * src/xfns.c (Fx_display_monitor_attributes_list):
5713         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
5714         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
5716 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5718         Improve the documentation of M-n for entering file names
5720         * lisp/files.el (find-file, find-file-other-window)
5721         (find-file-other-frame): Mention file-name-at-point-functions in
5722         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
5723         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
5725         * doc/emacs/mini.texi (Minibuffer History): Document
5726         file-name-at-point-functions and its effect on M-n when typing
5727         file names in the minibuffer.
5728         * doc/emacs/files.texi (File Names):
5729         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
5730         "Minibuffer History", where special features of M-n regarding
5731         files are described.
5733 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5735         Fix desktop auto-save timer when linum-mode is used
5737         * lisp/desktop.el (desktop-read): Use toplevel value of
5738         window-configuration-change-hook when deciding whether desktop
5739         auto-saving is enabled.  Suggested by Peter Neidhardt
5740         <pe.neidhardt@googlemail.com>.  (Bug#28945)
5742 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
5744         Fix "C-h k" in xterm-mouse-mode
5746         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
5747         xterm-mouse-mode by calling read-key-sequence-vector instead of
5748         read-event.  (Bug#29150)
5750 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
5752         Fix off-by-1 bug in --enable-checking=stringbytes
5754         Evidently nobody builds Emacs with --enable-checking=all,
5755         which is no surprise as it is so slow as to be unusable nowadays.
5756         Perhaps we should remove the slowest checks, or move them into
5757         another category, or speed them up, or something.
5758         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
5759         error in size calculation, which caused a failure when
5760         --enable-checking=stringbytes was used.  I introduced this bug in
5761         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
5762         members to GCC + valgrind".
5764 2017-11-10  Alan Mackenzie  <acm@muc.de>
5766         Correct the indentation of C99's compound literals.
5768         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
5769         if there is only syntactic whitespace in a brace block, it is regarded as a
5770         statement block.  Also, if there is no semicolon or comma delimiter, treat as
5771         a statement block when there is a keyword.
5772         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
5773         when its contents indicate a brace block.
5775 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5777         Improve the doc string of 'dired-isearch-filter-filenames'
5779         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
5780         (Bug#29215)
5782 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5784         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
5786 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5788         Fix display of line numbers in GTK builds
5790         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
5791         tip_frame is indeed a tooltip frame, before disabling line numbers
5792         on it.  (Bug#27647)
5794         * src/dispextern.h (tip_frame): Add commentary describing the
5795         kludgey usage of this variable in GTK builds.
5797 2017-11-10  João Távora  <joaotavora@gmail.com>
5799         Fix previous change to flymake-diag-region (bug#29174)
5801         * lisp/progmodes/flymake.el (flymake-diag-region):
5802         Pass line and col to commit.
5804 2017-11-09  João Távora  <joaotavora@gmail.com>
5806         flymake-diag-region really returns nil if region is invalid (bug#29174)
5808         Reported by Lele Gaifax <lele@metapensiero.it>.
5810         * lisp/progmodes/flymake.el (flymake-diag-region): Really
5811         return nil if the region is invalid.
5813 2017-11-09  João Távora  <joaotavora@gmail.com>
5815         Flymake correctly highlights whole last line if eob (bug#29201)
5817         If a line/column pair indicates an end-of-buffer position, flymake
5818         should behave like the case where the last line of the buffer is
5819         referenced without a column indication.  This behavior is currently
5820         to highlight the whole last line.
5822         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
5823         conditions of fallback to the fallback-eol local function.
5825 2017-11-09  João Távora  <joaotavora@gmail.com>
5827         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
5829         The function checkdoc-current-buffer may error if there are unbalanced
5830         parens, for example, but this shouldn't disable the
5831         elisp-flymake-checkdoc backend.
5833         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
5834         ignore-errors.
5836 2017-11-09  João Távora  <joaotavora@gmail.com>
5838         Sort entries of the Flymake diagnostics buffer (bug#29175)
5840         Reported by Lele Gaifax <lele@metapensiero.it>.
5842         * lisp/progmodes/flymake.el
5843         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
5845 2017-11-09  Alan Mackenzie  <acm@muc.de>
5847         Correctly indent C++14 brace lists which are a second argument to a function.
5849         In particular, don't indent contained brace lists in "staircase" fashion.
5850         This fixes bug #28623.
5852         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
5853         testing for being enclosed in parens, recognize also a brace directly
5854         following a comma, as well as a brace being the first thing inside the paren.
5855         Enhance the return value, by indicating when we're directly inside an open
5856         paren.
5857         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
5858         whether we will accept a bracelist directly inside an open parenthesis.
5859         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
5860         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
5861         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
5862         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
5863         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
5864         At CASE 9, call that function with extra argument t.
5866 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
5868         Fix redisplay of overlay-arrows on GUI frames
5870         * src/xdisp.c (try_window_reusing_current_matrix)
5871         (try_cursor_movement): Disallow these optimizations if the buffer
5872         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
5874 2017-11-09  João Távora  <joaotavora@gmail.com>
5876         Protect Flymake tests against older Ruby and Perl (bug#29187)
5878         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
5879         for the error from the bottom.
5880         (ruby-backend): Protect against situation of bug#29187
5882 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5884         Fix URL cookie expiration bug
5886         Problem reported by Damien Cassou (Bug#29223).
5887         * lisp/url/url-cookie.el (url-cookie-expired-p):
5888         Fix typo in previous change, which caused unexpired cookies
5889         to be treated as expired and vice versa.
5891 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5893         Use GCALIGNED properly for GCC
5895         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
5896         immediately follow the ‘struct’ keyword when aligning a structure.
5897         The attribute silently does not work if it follows a tag after the
5898         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
5899         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
5900         * lib-src/make-docfile.c (close_emacs_globals):
5901         * src/buffer.c (buffer_defaults, buffer_local_symbols):
5902         * src/lisp.h (DEFUN):
5903         * src/thread.c (main_thread):
5904         Put 'GCALIGNED' immediately after 'struct'.
5906 2017-11-09  Glenn Morris  <rgm@gnu.org>
5908         In f90.el, set fill-paragraph-function to a useful value
5910         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
5911         (f90-mode): Set fill-paragraph-function.
5912         (f90-fill-paragraph): New command.
5914 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
5916         Fix to 2fddfb7ce7
5918         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
5919           Fix bogus paren wrapping.
5921 2017-11-08  Glenn Morris  <rgm@gnu.org>
5923         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
5925 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
5927         Further workaround for faulty localtime() under macOS 10.6
5929         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
5930         when compiling on macOS 10.6 with a western time zone (a
5931         continuation of Bug#27736).  In particular, see:
5933         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
5935         and the first commit that attempted to work around this problem,
5936         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
5937         2017-09-30.
5939 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
5941         Handle object string name in eieio-persistent-convert-list-object
5943         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
5944           Starting to phase out the printing of object names in
5945           `object-write', handle either case.
5947 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
5949         Fix handling of nil PRED2 arg for completion-table-with-predicate
5951         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
5952         if strict is non-nil when pred2 is nil (Bug#27841).
5953         * test/lisp/minibuffer-tests.el
5954         (completion-table-with-predicate-test): Add a test for Bug#27841.
5956 2017-11-07  K. Handa  <handa@gnu.org>
5958         Describe Lao rendering problem
5960         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
5961         by OpenTyype font.
5963 2017-11-07  K. Handa  <handa@gnu.org>
5965         Fix docstring of arabic-shaper-ZWNJ-handling
5967         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
5968         the doctstring for addition of :set (bug#28312).
5970 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
5972         Handle single-line comments correctly (Bug#26049)
5974         * lisp/newcomment.el (comment-region-internal): Previously, the
5975         comment text had to contain at least one line break character for the
5976         ending extra line to be added.  Make the behavior more consistent by
5977         looking for end of line instead.
5978         (comment-region-internal): Remove trailing white space from the
5979         comment's initial line.
5981 2017-11-07  Glenn Morris  <rgm@gnu.org>
5983         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
5984         Clean up properly.
5986 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5988         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
5990 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
5992         Document new treatment of 'comment-auto-fill-only-comments'
5994         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
5995         manual.  Add description of 'comment-auto-fill-only-comments'.
5996         * etc/NEWS: Mention new treatment of
5997         'comment-auto-fill-only-comments'.
5999 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6001         Do not load Tramp unless `tramp-mode' is non-nil
6003         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
6004         `tramp-mode' is non-nil.
6005         (tramp-unload-file-name-handlers): Unload also
6006         `tramp-autoload-file-name-handler'.
6008         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
6010 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6012         Prefer `customize-set-variable' in tramp.texi
6014         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
6015         (Default Host, Remote shell setup, Auto-save and Backup)
6016         (Ad-hoc multi-hops, Frequently Asked Questions):
6017         Prefer `customize-set-variable' over `custom-set-variables'.
6019 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
6021         Fix last change in hscroll_window_tree
6023         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
6024         being disabled, set the frame's garbaged flag less eagerly.
6025         (Bug#29002)
6027 2017-11-05  Philipp Stephani  <phst@google.com>
6029         Ediff: add some missing documentation
6031         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
6032         (ediff-buffers3, ediff-merge-directories)
6033         (ediff-merge-directories-with-ancestor)
6034         (ediff-merge-directory-revisions)
6035         (ediff-merge-directory-revisions-with-ancestor)
6036         (ediff-windows-wordwise, ediff-windows-linewise)
6037         (ediff-regions-wordwise, ediff-regions-linewise)
6038         (ediff-merge-files, ediff-merge-files-with-ancestor)
6039         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
6040         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
6041         (ediff-patch-file, ediff-revision): Document missing arguments.
6042         (ediff-patch-buffer, ediff-revision): Add second space after
6043         period.
6044         (ediff-files-command, ediff3-files-command, ediff-merge-command)
6045         (ediff-merge-with-ancestor-command, ediff-directories-command)
6046         (ediff-directories3-command, ediff-merge-directories-command): Add
6047         documentation for the command line functions.
6049 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
6051         Support python virtualenv on w32 (Bug#24464)
6053         According to the virtualenv docs only POSIX systems follow the
6054         structure "/path/to/venv/bin/", while windows systems use
6055         "/path/to/venv/Scripts" for the location of the binary files, most
6056         importantly including the python interpreter (see:
6057         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
6058         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
6059         "/path/to/venv/Scripts" for `windows-nt' machines.
6061 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6063         Improve dired deletion error handling (Bug#28797)
6065         * lisp/dired.el (dired-internal-do-deletions): Use
6066         `error-message-string' to produce a human readable error message.
6068 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6070         Don't replace user input when completion prefix is empty (Bug#18951)
6072         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
6073         input if we produced a non-empty common completion stub.
6075 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
6077         Return non-nil from gnutls-available-p under GnuTLS 2.x
6079         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
6080         documentation of 'gnutls-available-p'.
6082         * etc/NEWS (GnuTLS): Mention the change in the value returned by
6083         'gnutls-available-p'.
6085         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
6086         2.x is available.  (Bug#29147)
6088 2017-11-05  João Távora  <joaotavora@gmail.com>
6090         Fix Flymake help-echo functions across windows (bug#29142)
6092         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
6093         with-selected-window.
6094         (flymake-goto-next-error): Call help-echo with a window and an
6095         overlay.
6097 2017-11-05  João Távora  <joaotavora@gmail.com>
6099         Add tests for Flymake backends for Ruby and Perl
6101         * test/lisp/progmodes/flymake-tests.el (perl-backend)
6102         (ruby-backend): New tests.
6103         (warning-predicate-rx-perl, warning-predicate-function-perl):
6104         Delete tests.
6106         * test/lisp/progmodes/flymake-resources/test.pl: Include an
6107         error the test file.
6109         * test/lisp/progmodes/flymake-resources/test.rb: file.
6111 2017-11-05  João Távora  <joaotavora@gmail.com>
6113         Add a Flymake backend for Perl
6115         Define a simple backend in perl-mode.el, which cperl-mode.el also
6116         uses.
6118         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
6119         flymake-diagnostic-functions.
6121         * lisp/progmodes/flymake-proc.el
6122         (flymake-proc-allowed-file-name-masks): Disable legacy backend
6123         for perl files.
6125         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
6126         defcustom.
6127         (perl--flymake-proc): New buffer-local variable.
6128         (perl-flymake): New function.
6129         (perl-mode): Add to flymake-diagnostic-functions.
6131 2017-11-05  João Távora  <joaotavora@gmail.com>
6133         Add a Flymake backend for Ruby
6135         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
6136         defcustom.
6137         (ruby--flymake-proc): New buffer-local variable.
6138         (ruby-flymake): New function.
6139         (ruby-mode): Add flymake-diagnostic-functions.
6141 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
6143         Add a Flymake backend for Python (bug#28808)
6145         Implement new Flymake backend with related customizable settings.
6147         * lisp/progmodes/python.el (python-flymake-command)
6148         (python-flymake-command-output-pattern)
6149         (python-flymake-msg-alist): New defcustom.
6150         (python--flymake-parse-output): New function, able to parse
6151         python-flymake-command output accordingly to
6152         python-flymake-command-output-pattern.
6153         (python-flymake): New function implementing the backend
6154         interface using python--flymake-parse-output for the real
6155         work.
6156         (python-mode): Add python-flymake to flymake-diagnostic-functions.
6158 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6160         Allow "%" in Tramp host names
6162         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
6164         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
6166 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
6168         Use hybrid malloc for FreeBSD (Bug#28308)
6170         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
6171         using system malloc dumping does not work correctly (allocated data is
6172         invalid after dumping).
6173         * configure.ac: Set hybrid_malloc for freebsd.
6174         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
6176 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
6178         Add html-, mhtml- and python-mode support to semantic symref
6180         * lisp/cedet/semantic/symref/grep.el
6181         (semantic-symref-filepattern-alist): Fix the entry for
6182         'html-mode', which used a regexp-like syntax where only glob
6183         syntax is permitted.  As a result, 'xref-find-references' (M-?)
6184         can now find references in HTML files.  Also duplicate the same
6185         entry for the sake of 'mhtml-mode', and add a new one for
6186         'python-mode'.
6187         (semantic-symref-derive-find-filepatterns): In the documentation,
6188         clarify that returned patterns must follow the glob syntax.  Fix
6189         an 'if' test that always evaluates to nil.
6190         (semantic-symref-tool-grep):
6191         (semantic-symref-perform-search): Fix typos.
6193 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6195         Improve documentation of 'window-scroll-functions'
6197         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
6198         arguments of 'window-scroll-functions' functions.
6200         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
6202 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6204         Fix subtle problems in tabulated-list-mode with line numbers
6206         * lisp/emacs-lisp/tabulated-list.el
6207         (tabulated-list-watch-line-number-width): Call
6208         tabulated-list-init-header instead of tabulated-list-revert.
6209         (tabulated-list-window-scroll-function): New function.
6210         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
6211         on the buffer-local 'window-scroll-functions' list.
6213 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6215         Make gdb-non-stop-setting default to nil on MS-Windows
6217         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
6218         MS-Windows.
6220 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
6222         Fix gdb-mi prompt after "attach PID" command
6224         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
6225         gdb-first-done-or-error non-nil.  (Bug#29020)
6227 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6229         Fix doc string of 'window-configuration-change-hook'
6231         * src/window.c (syms_of_window) <window-configuration-change-hook>:
6232         Doc fix.  (Bug#29049)
6234 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6236         Improve documentation of window hooks
6238         * doc/lispref/windows.texi (Window Hooks): Fix the description of
6239         window-configuration-change-hook.  (Bug#29049)
6240         <run-window-scroll-functions, run-window-configuration-change-hook>:
6241         Document these functions.
6243 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6245         Fix hscroll suspension after cursor motion
6247         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
6248         of the window when temporary suspension of hscrolling is
6249         disabled.  (Bug#29002)
6251 2017-11-03  Alan Mackenzie  <acm@muc.de>
6253         Introduce a function to CC Mode which displays the current function name
6255         Remove an erroneous interactive specification from two functions.
6257         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
6258         (c-defun-name, c-cpp-define-name): Remove interactive specification.
6260         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
6261         command.
6263         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
6264         command.
6266 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
6268         Fix typos in ediff-wind.el
6270         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
6271         Fix typos in commentary.  (Bug#29138)
6273 2017-11-03  João Távora  <joaotavora@gmail.com>
6275         Examine tex-chktex--process in the correct buffer
6277         As in other Flymake backends, the process sentinel might run in
6278         arbitrary buffers where this variable's value doesn't make sense.
6280         For a way to trigger a problem due to this, see discussion starting in
6281         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
6283         * lisp/textmodes/tex-mode.el (tex-chktex): Use
6284         with-current-buffer.
6286 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
6288         * nt/INSTALL.W64: Update to current mingw64 install instructions
6290 2017-11-03  João Távora  <joaotavora@gmail.com>
6292         Don't resignal errors in flymake-diag-region
6294         * lisp/progmodes/flymake.el (flymake-diag-region): Use
6295         flymake-log instead of flymake-error.
6297 2017-11-03  João Távora  <joaotavora@gmail.com>
6299         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
6301         This is like xref-goto-xref, but quits the *xref* window just before
6302         the user jump to ref.
6304         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
6305         value for SELECT.
6306         (xref-goto-xref): Take optional QUIT arg.
6307         (xref-quit-and-goto-xref): New command.
6308         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
6309         xref-quit-and-goto-xref.
6311         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
6312         *xref*.
6314         * etc/NEWS (Xref): Describe new binding.
6316 2017-11-03  João Távora  <joaotavora@gmail.com>
6318         Allow split-window-sensibly to split threshold in further edge case
6320         As a fallback, and to avoid creating a frame, split-window-sensibly
6321         would previously disregard split-height-threshold if the window to be
6322         split is the frame's root window.
6324         This change generalizes that: it disregards the threshold if the
6325         window to be split is the frame's only _usable_ window (it is either
6326         the only one, as before, or all the other windows are dedicated to
6327         some buffer and thus cannot be touched).
6329         This is required for the fix to bug#28814.
6331         * lisp/window.el (split-height-threshold): Adjust doc to match
6332         split-window-sensibly.
6333         (split-window-sensibly): Also disregard threshold if all other
6334         windows are dedicated.
6336 2017-11-03  João Távora  <joaotavora@gmail.com>
6338         Honor window-switching intents in xref-find-definitions (bug#28814)
6340         When there is more than one xref to jump to, and an *xref* window
6341         appears to help the user choose, the original intent to open a
6342         definition in another window or frame is remembered when the choice to
6343         go to or show a reference is finally made.
6345         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
6346         (xref--original-window-intent): New variable.
6347         (xref--original-window): Rename from xref--window and move up
6348         here for clarity.
6349         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
6350         (xref--show-location): Handle window selection decision here.
6351         (xref--window): Rename to xref--original-window.
6352         (xref-show-location-at-point): Don't attempt window management here.
6353         (xref--show-xrefs): Ensure display-action intent is saved.
6355 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
6357         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
6359 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6361         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
6363         Don't try to flymake-start within a buffer that doesn't exist any more.
6365 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
6367         Fix buffer name comparison in async shell-command
6369         * lisp/simple.el (shell-command): Keep track of output-buffer
6370         by its name, not by its object.  (Bug#28997)
6372 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6374         Change GCALIGNMENT back to an integer literal
6376         * src/lisp.h (GCALIGNMENT): Change it back to a macro
6377         that expands to a literal integer constant, for older GCC.
6378         I had mistakenly thought that only MSVC had the problem.
6379         Problem repored by Eli Zaretskii (Bug#29040#69).
6381 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6383         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
6385 2017-11-03  Hong Xu  <hong@topbug.net>
6387         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
6389         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
6390         function to generate the docstring for custom variables derived from
6391         pcomplete-* variables.
6392         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
6393         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
6394         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
6395         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
6396         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
6397         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
6398         (eshell-command-completion-function, eshell-cmpl-command-name-function)
6399         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
6400         to set the docstring.
6402 2017-11-02  Alan Third  <alan@idiocy.org>
6404         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
6406         * src/nsterm.m (EmacsScroller::mouseDown,
6407         EmacsScroller::mouseDragged): Take scroller buttons into account when
6408         calculating scroller knob position.
6410 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6412         Merge from Gnulib
6414         This incorporates:
6415         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
6416         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
6417         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
6418         * build-aux/config.guess, build-aux/config.sub:
6419         * lib/timespec.h, lib/unistd.in.h:
6420         Copy from Gnulib.
6422 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6424         Fix alignment portability problems
6426         Do not assume that the natural alignment of Lisp objects is a
6427         multiple of GCALIGNMENT.  This improves on the portability of the
6428         recent fix for Bug#29040.
6429         * lib-src/make-docfile.c (close_emacs_globals):
6430         * src/buffer.c (buffer_defaults, buffer_local_symbols):
6431         * src/lisp.h (DEFUN):
6432         * src/thread.c (main_thread):
6433         Use GCALIGNED, not alignas (GCALIGNMENT).
6434         * src/alloc.c (COMMON_MULTIPLE):
6435         Move back here from lisp.h, since it is no longer used elsewhere.
6436         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
6437         worry about MSVC.  Omit no-longer-needed consistency check.
6438         * src/thread.c (THREAD_ALIGNMENT): Remove.
6440 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
6442         Fix completion of colon after CSS property (Bug#29056)
6444         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
6445         ": ;" after completing a CSS property unless the rest of the line is
6446         empty.
6448 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
6450         * src/alloc.c (sweep_symbols): Tweak last change
6452         Avoid the double-free without the extra check.  Add an explanatory comment.
6454 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6456         In frame parameters documentation mention desktop saving/restoring
6458         * doc/lispref/frames.texi (Frame Parameters): Mention that
6459         applications have to care about which parameters they want to
6460         get saved and restored by the desktop library.
6462 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6464         Don't have frameset save the 'client' parameter (Bug#29067)
6466         * lisp/frameset.el (frameset-persistent-filter-alist): Never
6467         save 'client' parameter (Bug#29067).
6469 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
6471         Handle generic variables in cl-defgeneric Edebug spec
6473         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
6474         match (setf name) and replace incorrect cl-lambda-list with listp
6475         (Bug#27747).
6477 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
6479         Give a more sensible message if file-attributes fails (Bug#29070)
6481         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
6482         is a file if we fail to get anything from `file-attributes'.
6484 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
6486         Avoid wrong value from file-attributes on Linux kernel before 3.6
6488         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
6489         descriptors.  (bug#29070)
6491 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
6493         Fix customization of debugger-print-function (Bug#29077)
6495         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
6496         keyword has no effect for :type 'function, use :type '(choice ...)
6497         instead.
6499 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
6501         Avoid duplicate calls to xfree for the same pointer
6503         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
6504         pointer to a symbol's buffer-local value.  (Bug#29066)
6506 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
6508         Don't clobber docstrings of explicitly-defined mode hook variables
6510         * lisp/emacs-lisp/derived.el (define-derived-mode):
6511         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
6512         mode hook variable, do not clobber pre-existing docstrings.
6514 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
6516         Avoid fullscreen ediff control frames by default (Bug#29026)
6518         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
6519         Add parameter to avoid fullscreen control frames (Bug#29026).
6521 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
6523         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
6525         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
6526         properties to gaps (bug#29047).
6528 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
6530         Fix a typo in the ELisp manual
6532         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
6533         (Bug#29068)
6535 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
6537         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
6539         These fixes were suggested by Drew Adams.
6541         * src/window.c (Fminibuffer_selected_window): Disambiguate
6542         doc-string.
6543         * doc/lispref/minibuf.texi (Intro to Minibuffers)
6544         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
6545         the term "currently active minibuffer window".  Disambiguate
6546         documentation of `minibuffer-selected-window'.
6548 2017-10-30  Alan Mackenzie  <acm@muc.de>
6550         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
6552         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
6553         position for BASE is below point-min, scan forward to the end of the current
6554         literal.
6555         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
6556         being at point-min.
6558 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6560         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
6562         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
6563         Reported in https://emacs.stackexchange.com/questions/36337.
6565 2017-10-29  Tom Tromey  <tom@tromey.com>
6567         Extend mhtml submode region when in comment
6569         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
6570         submode when start happens to be in a comment.
6572 2017-10-29  Tom Tromey  <tom@tromey.com>
6574         Fix mthml submode lighting at end of buffer
6576         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
6577         buffer correctly.
6579 2017-10-29  Tom Tromey  <tom@tromey.com>
6581         Remember more variables in mhtml-mode
6583         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
6584         "completion-" and "major-mode".
6585         (mhtml--variable-prefix): Remove "major-mode".
6587 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6589         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
6591 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
6593         Fix minibuffer window related docs and strings (Bug#28978)
6595         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
6596         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
6597         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
6598         description of `minibuffer' parameter.
6599         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
6600         entries and partly rewrite section.
6601         (Minibuffer Misc): Clarify description of
6602         `minibuffer-selected-window'.
6603         * etc/NEWS: Mention new semantics of 'minibuffer' frame
6604         parameter.
6606 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
6608         Add ChkTeX flymake backend for latex-mode
6610         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
6611         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
6612         (latex-mode): Add backend to flymake-diagnostic-functions.
6613         (tex-chktex--process): New variable.
6614         (tex-chktex-command, tex-chktex): New functions.
6616 2017-10-29  Glenn Morris  <rgm@gnu.org>
6618         Fix doc typos
6620         * lisp/simple.el (line-move-ignore-invisible):
6621         * lisp/sort.el (sort-regexp-fields):
6622         * lisp/cedet/ede.el (project-add-file):
6623         * lisp/gnus/message.el (message-bogus-recipient-p):
6624         * lisp/international/mule.el (define-coding-system):
6625         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
6626         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
6627         (scheme-interaction-mode, scheme-debugger-mode)
6628         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
6630 2017-10-29  Glenn Morris  <rgm@gnu.org>
6632         Fix some duplicate word typos
6634         * doc/misc/ede.texi (ede-target):
6635         * doc/misc/flymake.texi (Using Flymake):
6636         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
6638 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6640         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
6642 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6644         Avoid segfaults in 64-bit Windows builds
6646         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
6647         * src/thread.c (THREAD_ALIGNMENT): New macro.
6648         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
6650 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6652         Fix conversion of pixel coordinates to buffer position
6654         * src/dispnew.c (buffer_posn_from_coords): Adapt to
6655         auto-hscroll-mode == current-line.
6657 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6659         Fix doc strings in desktop.el
6661         * lisp/desktop.el (desktop-auto-save-timeout)
6662         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
6664 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6666         Add Index to ERT manual
6668         * doc/misc/ert.texi: Add @syncodeindex directives.
6669         (Index): New node.
6670         (Top): Add Index to the top-level menus.
6671         Add index entries to all nodes.
6673 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6675         Make manuals and NEWS consistent
6677         * etc/NEWS: Fix markings on several entries, and rearrange others
6678         as needed.
6680         * doc/emacs/programs.texi (Hideshow): Document the new
6681         outline-like bindings.
6682         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
6684 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
6686         Don't allow (minibuffer-window-active-p nil) to return t
6688         * lisp/window.el (minibuffer-window-active-p): Return t
6689         only if WINDOW is a live window.
6691 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6693         Clarify obsolescence message for 'whitespace-tab'
6695         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
6696         message more clear about the replacement.
6698 2017-10-28  Glenn Morris  <rgm@gnu.org>
6700         Fix some duplicate words typos
6702         * lisp/erc/erc.el (erc-hide-current-message-p):
6703         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
6704         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
6705         * doc/lispref/functions.texi (Defining Functions):
6706         * doc/lispref/os.texi (Terminal-Specific):
6707         * doc/misc/sem-user.texi (Analyzer Debug):
6708         * doc/misc/srecode.texi (Special Variables): Fix typos.
6710 2017-10-28  Glenn Morris  <rgm@gnu.org>
6712         * lisp/button.el (button-activate): Fix doc typo.
6714         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
6716 2017-10-28  Glenn Morris  <rgm@gnu.org>
6718         Fix some doc typos
6720         * lisp/calendar/todo-mode.el (todo-next-item)
6721         (todo-previous-item, todo-toggle-item-header):
6722         * lisp/window.el (move-to-window-group-line):
6723         * src/editfns.c (Fformat):
6724         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
6725         Fix doc typos.
6727 2017-10-27  Ken Brown  <kbrown@cornell.edu>
6729         Fix startup display on Cygwin
6731         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
6732         forces input to be read.  (Bug#24091)
6734 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6736         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
6738         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
6740 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6742         Improve documentation of how faces are applied to display stings
6744         * doc/lispref/display.texi (Displaying Faces): Describe how the
6745         faces of the "underlying" text affect overlay and display strings.
6746         (Display Margins): Add a cross-reference to "Displaying Faces".
6748 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
6750         Improve pixel-scroll-mode
6752         Scroll vertically by number of pixels returned by
6753         'frame-char-height' with or without horizontally scrolled.
6754         (Bug#28922)
6756         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
6757         by number of pixels returned by 'frame-char-height'.
6758         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
6759         move cursor to avoid unexpected jump.
6760         (pixel-scroll-down): Scroll by 'frame-char-height'.
6761         (pixel-bob-at-top-p): Consider number of pixels that is about to
6762         scroll.
6763         (pixel-posn-y-at-point): Consider existence of an overlay string.
6764         Return nil when horizontally scrolled.
6765         (pixel-point-at-top-p): Consider number of pixels that is about to
6766         scroll. Use different algorithm when horizontally scrolled.
6767         (pixel-point-at-bottom-p): Consider number of pixels that is about
6768         to scroll. Return nil when horizontally scrolled.
6769         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
6770         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
6771         horizontally scrolled.
6772         (pixel-line-height): Call 'pixel-visual-line-height' instead of
6773         'line-pixel-height'.
6774         (pixel-visual-line-height): New function to return height in pixels
6775         of text line where cursor is with or without horizontally scrolled,
6776         considering response of display engine.
6777         (pixel-visible-pos-in-window): New function to return position of
6778         a char shown on text line where cursor is on screen with or without
6779         horizontally scrolled.
6781 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
6783         Support Certification Authority Authorization in dns-mode.el
6785         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
6786         (Bug#28911)
6788 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6790         Improve documentation of set-default-file-modes
6792         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
6794         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
6795         the argument of set-default-file-modes are used for setting file
6796         permissions.
6798 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
6800         Fix documentation of `newsticker-new-item-functions' (bug#29023).
6802         * lisp/net/newst-backend.el (newsticker-new-item-functions),
6803         (newsticker-new-item-functions-sample),
6804         (newsticker-download-enclosures): Fix docstring, rename
6805         variable feed to feedname (bug#29023).
6807         * doc/misc/newsticker.texi (Automatic Processing)
6808         (Automatic Processing): Fix documentation of
6809         `newsticker-new-item-functions' (bug#29023).
6811 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
6813         Require seq in rmc.el
6815         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
6816         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
6818 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
6820         Make an example code introduced in the Gnus info work (bug#29008)
6822         You can find it in the bottom of (info "(gnus)Foreign Groups").
6823         NOTE: this change is worth being merged to the trunk.
6825         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
6826         Allow a string for bug# (bug#29008).
6828 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
6830         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
6832         NOTE: *DO NOT* merge this change to the trunk.
6834         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
6835         (gnus-read-ephemeral-bug-group): Make it work for any number of times
6836         for the case `url-automatic-caching' is set (bug#29008).
6838 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6840         Port thread.c to OpenBSD ARM
6842         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
6843         * src/thread.c (main_thread): Align to GCALIGNMENT.
6845 2017-10-26  Alan Mackenzie  <acm@muc.de>
6847         Fix another "wrong side of point" error in CC Mode.
6849         This fixes (a follow-up to) bug #28850.
6850         A internal generated form for scanning text to fontify had a LIMIT parameter.
6851         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
6852         allowing point to move beyond the original LIMIT, and to create the wrong side
6853         error.  Fix it by checking point is not beyond LIMIT in the outer context
6854         before using it.
6856         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
6857         parameter CHECK-POINT which, when non-nil, directs the function to generate a
6858         check on point.
6859         (c-make-font-lock-context-search-function): Invoke the above function with new
6860         argument value t.
6862 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
6864         Fix Bug#28959
6866         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
6867         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
6868         hop to backup file name.  (Bug#28959)
6870         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
6871         New test.
6872         (tramp-test35-make-nearby-temp-file)
6873         (tramp-test36-special-characters)
6874         (tramp-test36-special-characters-with-stat)
6875         (tramp-test36-special-characters-with-perl)
6876         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
6877         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
6878         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
6879         (tramp-test39-asynchronous-requests)
6880         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
6881         (tramp-test42-delay-load, tramp-test43-unload): Rename.
6883 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6885         Fix duplicate .o file on QNX
6887         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
6888         Problem reported by Elad Lahav in:
6889         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
6891 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
6893         Fix two js indentation problems
6895         Fix intentation problems reported in
6896         https://github.com/mooz/js2-mode/issues/463.
6897         * lisp/progmodes/js.el (js--continued-expression-p):
6898         Check syntax state after /.
6899         (js--multi-line-declaration-indentation):
6900         Check syntax state before "const".
6902 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
6904         Update documentation for windows build
6906         * admin/nt/dist-build/README-scripts: New File.
6908 2017-10-25  Alan Mackenzie  <acm@muc.de>
6910         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
6912         The cause was a scanning over a bracket pair taking us beyond the supplied
6913         LIMIT parameter in c-forward-declarator.
6915         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
6916         (point) limit) whilst dealing with tokens after the declared identifier.
6918         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
6919         argument to `c-forward-declarator' (twice), since we want to fontify up till
6920         the end of a declarator, not an arbitrary jit-lock chunk end.
6922 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6924         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
6926         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
6927         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
6928         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
6930 2017-10-25  Alan Third  <alan@idiocy.org>
6932         Fix non-native fullscreen on NS (bug#28872)
6934         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
6935         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
6936         of frame.
6938 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
6940         Fix Bug#28982
6942         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
6944         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
6945         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
6947         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
6949 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
6951         Fix windows build errors
6953         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
6954           64 bit first
6956 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
6958         Fix compile warning for non-w32 builds
6960         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
6961         binding", the non-w32 builds would treat the undeclared
6962         w32-collate-ignore-punctuation variable as lexical.
6963         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
6965 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
6967         Display commit in package description, if available (Bug#28637)
6969         MELPA includes a :commit field in its
6970         packages (https://github.com/melpa/package-build/pull/6).  You can use
6971         this to tell if MELPA has processed a recently-merged change.  This
6972         commit adds that metadata to the package description buffer.
6974         * lisp/emacs-lisp/package.el: Display commit in package description.
6976 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6978         Port to QNX
6980         Simplified version of a patch proposed by Elad Lahav in:
6981         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
6982         which is based on a previous patch I proposed in:
6983         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
6984         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
6985         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
6986         Set appropriately for QNX.
6987         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
6988         (unexec): Check for sbrk failure, and fall back on old BSS end.
6990 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6992         * configure.ac: Tweak libcurses diagnostic.
6994 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
6996         Scripts to automate windows binary distribution
6998         * admin/nt/dist-build/README-windows-binaries,
6999           admin/nt/dist-build/build-dep-zips.py,
7000           admin/nt/dist-build/build-zips.sh: New Files
7002 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
7004         Fix Edebug specs for map-let and with-maps-do
7006         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
7007         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
7009 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
7011         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
7013         (tramp-test42-unload): Rename.
7015 2017-10-24  Glenn Morris  <rgm@gnu.org>
7017         * admin/authors.el (authors-canonical-author-name):
7018         Ignore name issues in "lax" ChangeLogs.
7020         * test/lisp/progmodes/sql-tests.el
7021         (sql-tests-postgres-list-databases-error): Silence compiler.
7023 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7025         Further work on Bug#28889
7027         * lisp/net/tramp.el (tramp-set-syntax): New defun.
7028         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
7030 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7032         Improve Tramp backward compatibility
7034         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
7035         New defmacro.
7036         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
7038 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7040         Improve backward compatibility of tramp-tests.el
7042         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
7043         (tramp-test41-unload): Skip unless Emacs >= 26.
7045 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
7047         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
7049         * lisp/window.el (window-normalize-buffer): Fix case where
7050         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
7051         doc-string (Bug#28947).
7052         (window-normalize-frame, window-normalize-window): Fix
7053         doc-strings (Bug#28947).
7055 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7057         Port to OpenIndiana
7059         Problem reported by Nelson H. F. Beebe (Bug#28893).
7060         Also see Bug#23748, Bug#9736, and Bug#5735.
7061         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
7062         since OpenIndiana libtermcap lacks tparm.
7064 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
7066         Don't fill keywords after Emacs Lisp docstring
7068         This approach does mean that keywords that have spaces before them
7069         inside of docstrings aren't filled, but I think this is should be fine
7070         until Bug#28937 is fixed.
7072         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
7073         paragraph-start unconditionally, but require that it follows at least
7074         one space.  (Bug#24622)
7075         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
7076         Bug#7751.
7078 2017-10-22  Alan Mackenzie  <acm@muc.de>
7080         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
7082         Use the new function directly in several places where c-forward-token-2
7083         wouldn't move over the last token in the buffer.  This caused an infinite loop
7084         in c-restore-<>-properties.
7086         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
7087         extracted from c-forward-token-2.
7088         (c-forward-token-2): Refactor, calling the new function.
7089         (c-restore-<>-properties): Fix infinite loop.
7090         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
7091         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
7092         of c-forward-token-2.
7094         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
7095         place of c-forward-token-2.
7097         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
7098         function directly in place of c-forward-token-2.
7100 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7102         Avoid unnecessary rounding errors in timestamps
7104         Avoid the rounding errors of float-time when it’s easy.  E.g.,
7105         replace (< (float-time a) (float-time b)) with (time-less-p a b).
7106         * lisp/desktop.el (desktop-save):
7107         * lisp/ecomplete.el (ecomplete-add-item):
7108         * lisp/epg.el (epg-wait-for-completion):
7109         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
7110         * lisp/image-dired.el (image-dired-get-thumbnail-image)
7111         (image-dired-create-thumb-1):
7112         * lisp/info.el (info-insert-file-contents):
7113         * lisp/ls-lisp.el (ls-lisp-format-time):
7114         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
7115         (ange-ftp-verify-visited-file-modtime):
7116         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
7117         * lisp/textmodes/remember.el (remember-store-in-mailbox):
7118         * lisp/url/url-cookie.el (url-cookie-expired-p):
7119         Bypass float-time to avoid rounding errors.
7121         * lisp/files.el (dir-locals-find-file):
7123 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7125         Fix xdg timestamp error on 32-bit Emacs
7127         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
7128         not an integer.  This avoids signaling an error on 32-bit
7129         Emacs, where timestamps typically do not fit into fixnums
7130         (Bug#28921).
7132 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
7134         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
7136         * test/lisp/emacs-lisp/bytecomp-tests.el
7137         (bytecomp-tests--test-no-warnings-with-advice): New test.
7139 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7141         Another fix for unsafe directory error message (Bug#865)
7143         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
7144         current user's for the wrong owner case.  Show expanded file name in
7145         error message.
7147 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7149         Handle https url for debbugs mbox (Bug#28831)
7151         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
7152         gnus-bug-group-download-format-alist was updated to use https for the
7153         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
7154         http links.
7155         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
7156         url-parse functions to get the host name, instead of ad-hoc regexps.
7158 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7160         Ignore string properties when saving eshell history (Bug#28700)
7162         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
7163         before inserting history strings.
7164         (eshell-read-history): Remove obsolete comment.
7165         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
7166         New test.
7168 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
7170         Fix Bug#28889
7172         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
7173         (tramp-completion-file-name-regexp-default)
7174         (tramp-completion-file-name-handler-alist)
7175         (tramp-completion-file-name-handler): Remove autoload cookie.
7176         (tramp-initial-completion-file-name-regexp): Remove.
7177         (tramp-autoload-file-name-regexp): New defconst.
7178         (tramp-register-autoload-file-name-handlers): Use it.
7179         (with-parsed-tramp-file-name): Adapt docstring.  Compute
7180         `tramp-file-name' slots.  (Bug#28889)
7182 2017-10-21  Glenn Morris  <rgm@gnu.org>
7184         Update describe-function for recent Fdocumentation change
7186         * lisp/help-fns.el (describe-function-1):
7187         Handle Fdocumentation returning either void or invalid.
7189 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
7191         Make flymake's mouse-wheel interaction portable (Bug#28732)
7193         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
7194         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
7195         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
7196         remove a stray newline in it.
7198 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
7200         Prevent eldoc from changing the mode line
7202         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
7203         change the mode line if it is not displayed.  (Bug#28697)
7205 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7207         Fix doc strings in simple.el
7209         * lisp/simple.el (shell-command-saved-pos)
7210         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
7212 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
7214         Avoid creating inconsistent buffer states in term-char-mode
7216         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
7217         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
7218         except for the process filter's output.  Use 'read-only-mode-hook' to
7219         track and restore the user-set state of 'buffer-read-only' for
7220         'term-line-mode'.  (Bug#24837)
7221         (term-char-mode-buffer-read-only): New user option.
7222         (term-line-mode-buffer-read-only): New buffer-local variable.
7223         (term-line-mode-buffer-read-only-update): New function.
7224         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
7225         in pre-command-hook, and 'term-goto-process-mark-maybe' in
7226         post-command-hook to counter-act unexpected changes to point when
7227         using 'term-char-mode'.
7228         (term-char-mode-point-at-process-mark): New user option.
7229         (term-goto-process-mark): New buffer-local variable.
7230         (term-set-goto-process-mark): New function.
7231         (term-goto-process-mark-maybe): New function.
7232         (term-process-mark): New function.
7234         * etc/NEWS: Mention the new behavior and user options.
7236 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
7238         New input method 'usbek-cyrillic'
7240         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
7241         (Bug#28848)
7243         * etc/NEWS: Mention the new input method.
7245 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7247         Document 'minibuffer-with-setup-hook'
7249         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
7250         minibuffer-with-setup-hook.  (Bug#28877)
7252 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7254         Simplify make-progress-reporter vs float-time
7256         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
7257         doc and code for the case where float-time is not supported,
7258         since float-time is always present now.
7260 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7262         Fix two more minor Gnus typos
7264         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
7265         The old code had two minor bugs: first, it multiplied by 1/65536
7266         instead of by 1/86400.  Second, it called current-time twice and
7267         glued part of the two results together, resulting in a race.
7268         Fix both bugs by simplifying the code and using
7269         time-to-number-of-days.
7271 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7273         Fix two minor Gnus typos
7275         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
7276         Remove unused local, and fix use of local that was never assigned to.
7278 2017-10-21  Glenn Morris  <rgm@gnu.org>
7280         Tweak Fdocumentation's error for an undefined function
7282         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
7283         of signalling a void-function error for an undefined function.
7284         This seems cleaner than Emacs 25's "invalid-function: nil" error,
7285         which was (probably) an unintended consequence of changes to
7286         Findirect_function.
7288 2017-10-21  Glenn Morris  <rgm@gnu.org>
7290         Tweak format of list of old files in NEWS header
7292         * etc/NEWS: Stop list of old NEWS files growing without limit.
7293         * admin/admin.el (set-version): Handle either NEWS header format.
7295 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7297         * lisp/help-fns.el (describe-function-1):
7298         Fix help-fns-test-dangling-alias.  (Bug#28918)
7300         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
7302 2017-10-20  Glenn Morris  <rgm@gnu.org>
7304         Fix flymake's loading of subr-x
7306         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
7307         No need to load subr-x at run-time.
7309 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
7311         Fix Bug#28896
7313         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
7314         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
7315         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
7316         being a directory.  (Bug#28896)
7318         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
7319         (tramp-test12-rename-file): Test also FILENAME being a directory.
7321 2017-10-20  João Távora  <joaotavora@gmail.com>
7323         Skip a Flymake test for old gcc versions
7325         Fixes: 28906
7327         * test/lisp/progmodes/flymake-tests.el
7328         (different-diagnostic-types): Skip this test for gcc versions
7329         < 5.
7331 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
7333         Make :align-to account for display-line-numbers
7335         These changes also update the various bundled packages to use
7336         new feature, and better support customizations of the line-number
7337         face.
7338         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
7339         Make :align-to count from the end of the line-number display when
7340         the offset or the width form reference that of the text area.
7341         (Bug#28855)
7343         * src/indent.c (Fline_number_display_width): Implement support for
7344         the PIXELWISE argument being 'columns'.  Update the doc string.
7345         (syms_of_indent): New symbol 'columns'.
7347         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
7348         Call line-number-display-width with last argument 'columns'.
7350         * lisp/proced.el (proced-header-line): Call
7351         line-number-display-width with 2nd arg 'columns', which also fixes
7352         a problem when display-line-numbers is nil.
7354         * lisp/emacs-lisp/tabulated-list.el
7355         (tabulated-list-line-number-width): Call line-number-display-width
7356         with 2nd arg 'columns.
7357         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
7358         (tabulated-list-print, tabulated-list-print-entry): No need to
7359         account for the value of tabulated-list-entry-lnum-width.
7360         (tabulated-list--current-lnum-width): New defvar.
7361         (tabulated-list-watch-line-number-width): New function.
7362         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
7363         locally, and set up tabulated-list-watch-line-number-width as
7364         pre-redisplay-functions hook.
7366         * doc/lispref/display.texi (Size of Displayed Text): Document the
7367         'columns' value of the PIXELWISE argument.
7368         (Pixel Specification): Update and improve the documentation of the
7369         supported forms.
7371 2017-10-20  João Távora  <joaotavora@gmail.com>
7373         Augment Flymake API for third-party extensions
7375         See
7376         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
7378         * doc/misc/flymake.texi (Flymake error types): Rewrite
7379         example.
7380         (Flymake utility functions): Augment with new API.
7382         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
7383         (flymake--diag-accessor): New helper macro.
7384         (flymake-diagnostic-buffer, flymake-diagnostic-text)
7385         (flymake-diagnostic-beg, flymake-diagnostic-end)
7386         (flymake-diagnostic-backend): Accessors for diagnostic objects.
7387         (flymake--overlays): Use flymake-diagnostic property.
7388         (flymake--highlight-line): Simplify.  Only set
7389         flymake-diagnostic property.
7390         (flymake--handle-report, flymake-goto-next-error): Use
7391         flymake-diagnostic property.
7392         (flymake-show-diagnostic): Use diagnostic object.
7393         (flymake--diagnostics-buffer-entries): Use
7394         flymake-diagnostics.
7396 2017-10-20  Glenn Morris  <rgm@gnu.org>
7398         Improve treatment of Fortran's "class default"
7400         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
7401         Handle "class default".  (Bug#28786)
7402         * test/automated/f90.el (f90-test-bug25039): Add "class default".
7404 2017-10-20  João Távora  <joaotavora@gmail.com>
7406         Flymake backends must check proc obsoleteness in source buffer
7408         Flymake backends that rely on sentinels running asynchronously and
7409         checking buffer-local variables that hold running processes should
7410         check for obsoleteness in the correct buffers, otherwise a (harmless)
7411         warning might be triggered.
7413         * doc/misc/flymake.texi (An annotated example backend):
7414         Check buffer-local proc in the current buffer.
7416         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
7417         Check buffer-local proc in the current buffer.
7419 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
7421         Skip an rsync test in tramp-tests.el
7423         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
7424         Skip for "rsync".
7426 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
7428         On Windows default a frame's border width to zero (Bug#28873)
7430         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
7431         as everywhere else, see Bug#28873.
7433 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
7435         Spelling fixes
7437         * lisp/cedet/semantic/analyze/refs.el:
7438         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
7439         misspelling of pop-to-buffer-same-window.
7441 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
7443         Use pop-to-buffer-same-window instead of switch-to-buffer
7445         * lisp/cedet/semantic/decorate/include.el
7446         (semantic-decoration-include-visit):
7447         Use pop-to-buffer-same-window instead of switch-to-buffer
7448         (bug#28645).
7450         * lisp/cedet/semantic/analyze/refs.el
7451         (semantic-analyze-proto-impl-toggle): Same.
7453         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
7454         Same.
7456         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
7457         Same.
7459         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
7460         Same.
7462 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
7464         Fix the MSDOS build.
7466         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
7467         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
7468         (LIBSYSTEMD_LIBS): Edit to empty.
7469         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
7470         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
7471         Remove editing of lines that are no longer present in
7472         src/Makefile.in.
7473         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
7474         (NEED_MKTIME_WORKING): Define to 1.
7475         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
7476         DJGPP >= 2.05.
7477         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
7478         Define PACKAGE_VERSION, not VERSION.
7479         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
7480         (HAVE_DECL_*_UNLOCKED): Define to 0.
7481         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
7482         (PENDING_*): Don't define, as Gnulib no longer supports that.
7483         Instead, define _IOERR as it is in libc/file.h.
7484         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
7485         determine the current directory.
7486         (UPDATE_MANIFEST, UTILITIES): Don't edit.
7487         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
7488         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
7489         (HYBRID_MALLOC): Edit to empty.
7490         (am__cd): Don't edit.
7491         (../config.status): Replaces $(top_builddir)/config.status.
7492         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
7493         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
7494         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
7495         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
7496         the command line shorter to fit into 126-char limit of
7497         command.com.
7498         * config.bat: Generate src/deps/*.d files.  Rename more files
7499         like djtar on plain DOS would.
7500         Don't rename src/dir.h: it is long gone.  Edit
7501         lib/gnulib.mk.in using the same scripts as for
7502         lib/Makefile.in.
7503         * msdos/depfiles.bat: Create *.d files, not *.Po.
7505         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
7506         error message.
7507         * src/thread.h [MSDOS]: Include <signal.h>.
7508         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
7509         compilation errors.
7510         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
7511         Expose to MSDOS build.
7512         * src/process.c (update_processes_for_thread_death)
7513         [!subprocess]: No-op implementation.
7514         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
7515         declaration of nofile_limit outside "#ifdef subprocesses", as
7516         it's needed for MSDOS.
7517         * src/msdos.c (faccessat): Declare fullname[].
7518         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
7519         Include termhooks.h.
7520         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
7521         WINDOWSNT, not DOS_NT.
7523         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
7525 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
7527         Fix line number display after 'widen'
7529         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
7530         by line-number-mode on the first redisplay after the buffer is
7531         widened.  (Bug#28879)
7533 2017-10-18  Alan Third  <alan@idiocy.org>
7535         Remove resizable attribute on macOS undecorated frames (bug#28512)
7537         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
7538         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
7540 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
7542         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
7544         * lisp/frameset.el (frameset--restore-frame): Don't process
7545         `border-width' parameter via ‘modify-frame-parameters’
7546         (Bug#28873).
7548 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
7550         Mention how to send CC to > 1 address in a bug report
7552         * admin/notes/bugtracker (* More detailed information):
7553         mention how to CC to more than 1 address (Bug#28833).
7555 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
7557         Improve format-time-string doc
7559         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
7560         documentation for format-time-string.  Document ^, #, %s, and %z
7561         with colons.  Say that unrecognized sequences are output as-is.
7562         * src/editfns.c (Fformat_time_string): %S can stand for 60.
7563         Also mention unrecognized sequences.
7565 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
7567         Improve documentation of 'line-number-display-width'
7569         * doc/lispref/display.texi (Size of Displayed Text): Document the
7570         additional 2 columns used for line-number display.
7572         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
7574 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
7576         Implement vc-default-dir-extra-headers for vc-rcs
7578         Add a do-nothing implementation for vc-rcs to suppress the message which
7579         the default function adds to the vc-dir buffer (Bug#28570).
7580         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
7582 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
7584         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
7586         * etc/NEWS: Mention that applications should prefer
7587         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
7589 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
7590             Noam Postavsky  <npostavs@gmail.com>
7592         Dont update primary selection with winner-undo
7594         * lisp/winner.el (winner-set):
7595         Dont update primary selection when select-enable-primary
7596         is non-nil (Bug#28631).
7598 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
7600         Work around ImageMagick bug 825
7602         This should fix several bugs reported recently against Emacs
7603         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
7604         * src/image.c (imagemagick_load_image):
7605         Do not call MagickWandTerminus.
7607 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
7609         Document rectangle-preview option more (Bug#27974)
7611         * lisp/rect.el (string-rectangle):
7612         * etc/NEWS.25: Mention `rectangle-preview'.
7614 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
7616         Do not reject https://gnu.org in commit messages
7618         * build-aux/git-hooks/commit-msg: Do not reject commit messages
7619         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
7620         rewrite the messages to use https: URLs.
7622 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
7624         Fix Edebug spec for cl-defun (bug#24255)
7626         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
7627         `cl-lambda-list' to support destructuring argument lists.
7628         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
7629         * lisp/textmodes/rst.el: Remove alternate version of Edebug
7630         specs for `cl-lambda-list' and `cl-type-spec'.
7632 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7634         Fix errors in kmacro.el post-command-hook
7636         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
7637         avoid 'void-variable' errors.  (Bug#28818)
7638         * test/lisp/kmacro-tests.el
7639         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
7641 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7643         Fix range-error in image-dired.el
7645         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
7646         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
7648 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7650         Fix 'line-number-display-width' in hscrolled windows
7652         * src/indent.c (line_number_display_width): Make sure a line
7653         number is generated even when the first line of the window is
7654         completely hscrolled out of view.  (Bug#28854)
7656 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
7658         Fix error in tramp-smb-handle-insert-directory
7660         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
7661         Insert size information only when FULL-DIRECTORY-P is non-nil.
7663 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
7665         Don't reject PBM header whitespace unnecessarily
7667         * lisp/image.el (image-type-header-regexps):
7668         Allow two or more CRs or LFs in initial whitespace sequences.  See:
7669         http://netpbm.sourceforge.net/doc/pbm.html
7671 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
7673         Fix regression in display of PPM images
7675         Problem reported by Roland Winkler (Bug#28824#35).
7676         Based on a patch proposed by Andy Moreton (Bug#28824#38).
7677         * src/image.c (pbm_scan_index): New function.
7678         (pbm_load): Use it to decode raw data correctly when its top bit
7679         is set.
7681 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
7683         Require subr-x when compiling nnimap.el
7685         * lisp/gnus/nnimap.el (require): For the when-let* macro.
7687 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7689         Fix ert-test finding by symbol (Bug#28849)
7691         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
7692         symbol used for ert tests in load-history was changed from
7693         `ert-deftest' to `ert--test', but a couple of other places were not
7694         updated accordingly.
7695         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
7696         `ert--test' as the TYPE to `find-function-do-it'.
7697         (top-level): Use `ert--test' as the key to the
7698         `find-function-regexp-alist' entry.
7700 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7702         Don't remember old debugger window (Bug#17882)
7704         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
7705         when `debugger-will-be-back' is nil.
7707 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7709         Disable python native completion on w32 (Bug#28580)
7711         * lisp/progmodes/python.el
7712         (python-shell-completion-native-disabled-interpreters): For windows-nt
7713         systems, put an empty string to match interpreters.
7715 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7717         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
7719         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
7720         frames in the non-interactive part, if not found on the current
7721         display.
7723 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
7725         * lisp/dired-aux.el (dired-create-directory): Doc fix.
7727 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
7729         Avoid compilation warnings in optimized builds
7731         * src/process.c (Fmake_network_process):
7732         * src/image.c (xbm_scan, gif_load):
7733         * src/fileio.c (Frename_file):
7734         * src/data.c (Fmake_local_variable):
7735         * src/buffer.c (fix_start_end_in_overlays):
7736         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
7737         to avoid compiler warnings in optimized builds.
7739 2017-10-15  K. Handa  <handa@gnu.org>
7741         Improve customization of arabic-shaper-ZWNJ-handling.
7743         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
7744         immediately.
7745         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
7746         value.
7747         * src/composite.c (Fclear_composition_cache): New function.
7748         (syms_of_composite): Defsubr it.
7750 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
7752         Improve customization type of 'mouse-drag-and-drop-region'
7754         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
7755         precise customization type.
7757 2017-10-15  Paul Eggert  <eggert@day>
7759         Encourage https: in commit messages
7761         * CONTRIBUTE: Prefer https: when citing.
7762         * build-aux/git-hooks/commit-msg:
7763         Diagnose http: and ftp: URLs to FSF or GNU hosts.
7765 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
7767         Fix wording in Elisp manual's child frames section (Bug#28819)
7769         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
7771 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7773         Another fix for C mode fontification of w32 source files
7775         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
7776         "CALLBACK", to correctly fontify functions with this attribute.
7778 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7780         Fix fontification of ALIGN_STACK functions
7782         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
7783         "ALIGN_STACK", to correctly fontify functions with this attribute.
7785 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7787         Make sure thread stack is properly aligned on MS-Windows
7789         * src/systhread.c: Include w32term.h instead of windows.h.
7790         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
7791         the thread's stack is correctly aligned.
7792         * src/w32term.h (ALIGN_STACK): Update commentary.
7794 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
7796         Do not under-align pseudovectors
7798         Problem reported by Fabrice Popineau in:
7799         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
7800         Also see diagnosis by Eli Zaretskii in:
7801         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
7802         * src/alloc.c (vector_alignment):
7803         Now a multiple of alignof (max_align_t).
7805 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
7807         Fix indentation bug in multi-line CSS selectors
7809         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
7810         indentation of multi-line CSS selectors that include both a
7811         pseudo-class and parenthesis.
7813         * test/manual/indent/css-mode.css: Add test for the above change.
7815 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
7817         gnutls_mac_get_nonce_size has been added in gnutls 3.3
7819         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
7820         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
7821         (gnutls_mac_get_nonce_size): Depend on
7822         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
7823         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
7824         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
7826 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7828         * CONTRIBUTE: Suggest American English.
7830 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
7832         Fix this-command-keys for "M-x foo" commands
7834         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
7835         unibyte string.  (Bug#28798)
7837 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
7839         Let rename-file rename dirs across filesystems
7841         Problem diagnosed by Andreas Schwab (Bug#28792#65).
7842         This fixes a bug that I introduced in
7843         2017-09-10T22:39:24@eggert@cs.ucla.edu
7844         "Fix race with rename-file etc. with dir NEWNAME".
7845         * src/fileio.c (Frename_file): Copy a source directory across
7846         file system boundaries even if its name does not end in slash.
7848 2017-10-12  João Távora  <joaotavora@gmail.com>
7850         Simplify Flymake user documentation
7852         Fix some confusing parts of Flymake user documentation, like a
7853         repeated listing of situations leading to a syntax check.
7854         Documentation is now divided into three chapters only: "Using
7855         Flymake", "Extending Flymake", and a chapter for the legacy backend.
7857         Obsolete mention of "errors" and "lines" is replaced by
7858         "diagnostics/problems" and "regions" where appropriate.
7860         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
7861         (Using Flymake): Merge with chapter "Overview of Flymake".
7862         (Installing Flymake): Delete chapter.
7863         (Flymake mode, Running the syntax check)
7864         (Navigating to error lines): Delete sections.
7865         (Syntax check statuses): Review and augment with x-references.
7866         (Backend exceptions): Mention shortcut in menu.
7868         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
7869         menu to not speak of "errors".
7870         (flymake-goto-next-error, flymake-goto-prev-error): Fix
7871         wording.
7873 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
7875         * etc/NEWS: Mention the new version of Org.
7877 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
7879         Don't use (format "%s" ...) for string copying (Bug#28774)
7881         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
7882         "%s" STRING) no longer produces a new string.
7883         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
7884         string, so that we can add text properties to (copies of) symbol
7885         names.
7887 2017-10-11  Alan Third  <alan@idiocy.org>
7889         Make frame-list-z-order on NS match Windows behavior (bug#28788)
7891         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
7892         ignore it rather than returning nil.
7894 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7896         Bump Emacs version to 26.0.90
7898         * README:
7899         * configure.ac:
7900         * msdos/sed2v2.inp:
7901         * nt/README.W32: Bump Emacs version.
7903 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7905         Update authors.el
7907         * admin/authors.el (authors-valid-file-names)
7908         (authors-renamed-files-alist): Additions.
7910 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7912         * admin/authors.el (authors-aliases): Additions.
7914         * ChangeLog.3: Update.
7916 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
7918         Fix docstring style for 'functionp'
7920         * src/eval.c (functionp): Make docstring start with verb.
7921         (Bug#28781)
7923 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
7925         Format shell commands in tramp.texi
7927         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
7928         Format shell commands better.
7930 2017-10-10  João Távora  <joaotavora@gmail.com>
7932         Unbreak the button in the Flymake diagnostics buffer again
7934         Adding the 'keymap' property enabled RET but broke the mouse-action.
7936         * lisp/progmodes/flymake.el
7937         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
7939 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
7941         Add mode map to Flymake diagnostic button
7943         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
7944         keymap propery.
7946 2017-10-10  João Távora  <joaotavora@gmail.com>
7948         Tweak the Flymake diagnostics buffer again
7950         * lisp/progmodes/flymake.el
7951         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
7952         (flymake-show-diagnostic): Rename from
7953         flymake-show-diagnostic-at-point.  Really use another window.
7954         (flymake-goto-diagnostic): Rename from
7955         flymake-goto-diagnostic-at-point.
7956         (flymake--diagnostics-buffer-entries): Use a button just for
7957         the message bit.
7959 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
7961         Simplify Flymake diagnostics buffer UX
7963         Don't create text-buttons unnecessarily, just bind RET and SPC in the
7964         diagnostics buffer to a command that figures out which diagnostic it
7965         was invoked on.
7967         * lisp/progmodes/flymake.el
7968         (flymake--diagnostics-buffer-mode-keymap): Renamed from
7969         flymake--diagnostics-buffer-button-keymap.
7970         (flymake-show-diagnostic-at-point): Don't take a button.
7971         (flymake-goto-diagnostic-at-point): Don't pass button to
7972         flymake-show-diagnostic-at-point.
7973         (flymake--diagnostics-buffer-entries): Simplify.
7975 2017-10-10  João Távora  <joaotavora@gmail.com>
7977         First stab at a Flymake diagnostics buffer
7979         The diagnostics buffer summarizes the diagnostics of a buffer in a
7980         tabulated list and is permanently updated after each Flymake check.
7982         * lisp/progmodes/flymake.el (flymake--handle-report): Call
7983         flymake-show-diagnostics-buffer under certain conditions.
7984         (flymake-menu, flymake--diagnostics-buffer-source)
7985         (flymake--diagnostics-buffer-button-keymap)
7986         (flymake-show-diagnostic-at-point)
7987         (flymake-goto-diagnostic-at-point)
7988         (flymake--diagnostics-buffer-entries)
7989         (flymake-diagnostics-buffer-mode)
7990         (flymake--diagnostics-buffer-name)
7991         (flymake-show-diagnostics-buffer): New definitions.
7993 2017-10-10  João Távora  <joaotavora@gmail.com>
7995         * etc/NEWS (Flymake): Rewrite entry.
7997 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
7999         Improve the Flymake manual
8001         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
8002         @syncodeindex directive for @vindex.  Use 2 spaces between
8003         sentences.  Lower-case @cindex entries.
8004         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
8005         punctuation and markup.
8006         (Backend exceptions): Use @emph instead of @dfn.  Add more
8007         indexing.
8008         (Customizable variables, Extending Flymake): Improve wording.
8009         (Flymake error types): Fix usage of @itemize.  Improve wording.
8010         (Backend functions): Fix punctuation.  Fix markup.  Add a
8011         cross-reference to ELisp manual.
8012         (Flymake utility functions): Add a cross-reference to ELisp manual.
8013         (An annotated example backend): Fix punctuation and typos.
8014         (Flymake mode, Running the syntax check)
8015         (Navigating to error lines, Backend exceptions)
8016         (Customizable variables, Flymake error types, Backend functions)
8017         (Flymake utility functions, Proc customization variables)
8018         (Locating a master file, Locating the buildfile)
8019         (Starting the syntax check process, Parsing the output)
8020         (Interaction with other modes): Fix indexing.  Add index entries
8021         for functions, variables, and concepts.
8023 2017-10-10  João Távora  <joaotavora@gmail.com>
8025         Fix two Flymake bugs
8027         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
8028         against --without-x.
8029         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
8030         in their own windows.
8032 2017-10-10  João Távora  <joaotavora@gmail.com>
8034         Don't log "emergencies" in the Flymake legacy backend
8036         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
8037         (flymake-proc-legacy-flymake): Don't log "emergencies"
8039 2017-10-10  João Távora  <joaotavora@gmail.com>
8041         Add full documentation on new Flymake API
8043         Also, as a minor addition to this API, set flymake-text
8044         on the diagnostic overlay.  This enables a good example in
8045         the section "Customization Flymake annotations".
8047         * doc/misc/flymake.texi (Overview of Flymake)
8048         (Syntax check statuses): Rework.
8049         (Backend exceptions): Rename from "Troubleshooting"
8050         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
8051         (Extending Flymake): Write chapter.
8052         (Customizing Flymake annotations, Flymake backends)
8053         (Flymake utility functions, An annotated example backend):
8054         New sections and subsections
8056         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
8057         (flymake-diagnostic-types-alist): Rework docstring.
8058         (flymake--highlight-line): Set and use flymake-text property in overlay.
8059         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
8061 2017-10-10  João Távora  <joaotavora@gmail.com>
8063         Fix some Flymake docstrings and messages
8065         * lisp/progmodes/flymake.el
8066         (flymake-start-on-flymake-mode): fix typo.
8067         (flymake-mode): Add docstring.
8068         (flymake-mode-line-format): Fix help-echo indications. mouse-2
8069         describes flymake-mode.
8071 2017-10-10  João Távora  <joaotavora@gmail.com>
8073         Make three new Flymake commands for debugging common problems
8075         * lisp/progmodes/flymake.el (flymake-running-backends)
8076         (flymake-disabled-backends)
8077         (flymake-reporting-backends): Make interactive.
8078         (flymake--collect): Take optional arg.
8080 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
8082         * admin/authors.el (authors-renamed-files-alist): addition.
8084 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8086         Fix PWD check on DOS_NT
8088         * src/sysdep.c (get_current_dir_name_or_unreachable):
8089         Do not consider a file name like "a:b" to be absolute on DOS_NT.
8091 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8093         Fix unlikely overflows with wd length
8095         * src/sysdep.c (get_current_dir_name_or_unreachable):
8096         Avoid integer overflow if working directory name is absurdly long.
8097         When allocating memory for getcwd, do not exceed MAXPATHLEN.
8099 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8101         * lisp/gnus/message.el: Improve last commit
8103         (message-clone-locals): Don't mistakenly match other variables whose
8104         name happens to include "message-default-charset".
8106 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
8108         Fix problems when editing raw undecoded message (Bug#28671)
8110         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
8111         is set, meaning that we are editing the raw message, do not
8112         encode it again.  Delete old body after, not before, inserting
8113         new, to avoid moving marker at beginning of next message.
8115 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8117         Avoid encoding errors in message.el
8119         * lisp/gnus/message.el (message-clone-locals): Don't clone
8120         message-default-charset.  (Bug#25645)
8122 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8124         Improve doc string and prompt of 'grep-read-files'
8126         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
8127         string and in the prompt that shell wildcards can be used.
8128         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
8130 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8132         Avoid assertion violations when line numbers are displayed
8134         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
8135         matrix before calling try_window with the same starting point.
8136         This avoids assertion violations when switching from a buffer
8137         without line numbers to a buffer with line numbers.  (Bug28710)
8139 2017-10-09  João Távora  <joaotavora@gmail.com>
8141         Be lazy when starting Flymake checks
8143         Don't start the check immediately if the buffer is not being
8144         displayed.  Wait until it is, using window-configuration-change-hook.
8146         This enables the user to batch-enable flymake-mode on many buffers and
8147         not have that operation exhaust system resources for checking each
8148         one.  Likewise, an editing or save operation in a currently
8149         non-displayed buffer does not immediately start a check.
8151         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
8152         Rename from flymake-start-syntax-check-on-find-file.
8153         (flymake-start-syntax-check-on-find-file): Obsolete alias for
8154         flymake-start-on-flymake-mode.
8155         (flymake-start): Redesign.  Affect the global post-command-hook
8156         and local window-configuraiton-change-hook.
8157         (flymake--schedule-timer-maybe)
8158         (flymake-after-change-function, flymake-after-save-hook): Pass
8159         t to flymake-start.
8161         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
8162         (dummy-backends, recurrent-backend): Start flymake check
8163         explicitly and immediately.
8165 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8167         Fix last change in frameset.el
8169         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
8170         filtering the 'font' parameter.  (Bug#17352)
8172 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
8174         Describe how window dividers can replicate vertical borders (Bug#27830)
8176         * doc/emacs/frames.texi (Scroll Bars): Describe how window
8177         dividers can be used to replicate vertical borders when scroll
8178         bars are disabled (Bug#27830).
8179         * doc/emacs/frames.texi (Window Dividers): Mention their use
8180         in replicating vertical borders.
8182 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8184         Add line-number faces to the display-line-numbers group
8186         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
8187         and its resulting thread.
8189         * lisp/display-line-numbers.el (display-line-numbers): Add to the
8190         convenience group.
8191         * lisp/faces.el (line-number):
8192         (line-number-current-line): Add to the display-line-numbers group.
8194 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8196         Increase xterm click count only within double-click-fuzz
8198         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
8199         and check it against the current click's position.  (Bug#28658)
8201 2017-10-08  Alan Third  <alan@idiocy.org>
8203         Change pause in fullscreen toggling for NS port (bug#28496)
8205         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
8206         sleep-for, and reduce time.
8208 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
8210         Handle PARENTS properly in tramp-*-handle-make-directory
8212         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
8213         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
8214         Handle PARENTS properly.
8216         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
8217         Extend test.
8219 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8221         Improve test for unreachable dirs
8223         * src/sysdep.c (get_current_dir_name_or_unreachable):
8224         New function, with most of the old contents of
8225         emacs_get_current_dir_name.
8226         (emacs_get_current_dir_name): Use it.  Use a simpler
8227         test for unreachable directory strings, and also apply
8228         it to getcwd etc. (Bug#27871)
8230 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8232         * src/xsmfns.c (x_session_initialize): Fix memory leak.
8234 2017-10-08  K. Handa  <handa@gnu.org>
8236         New option for handling ZWNJ in Arabic text rendering
8238         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
8239         to display ZWNJ in Arabic text rendering (Bug#28339).
8240         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
8241         composition-function-table.
8242         (arabic-shaper-ZWNJ-handling): New variable.
8243         (arabic-shape-log): New variable.
8244         (arabic-shape-gstring): New function.
8245         * lisp/composite.el (lgstring-remove-glyph): New function.
8247 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
8249         Make python prettify symbols into a defvar (Bug#28713)
8251         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
8252         variable.
8253         (python--prettify-symbols-alist): Make into obsolete alias for
8254         `python-prettify-symbols-alist'.
8256 2017-10-07  Alan Third  <alan@idiocy.org>
8258         Fix fullscreen crash on macOS (bug#28496)
8260         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
8261         complete on macOS.
8263 2017-10-07  Alan Third  <alan@idiocy.org>
8265         Fix crash when closing fullscreen frame on macOS (bug#28661)
8267         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
8268         unmodified if the frame isn't live.
8270 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
8272         Support gio tool in Tramp
8274         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
8275         must use "gio <command>" tool instead.
8277         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
8278         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
8279         (tramp-gvfs-gio-tool-p): New defun.
8280         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
8282 2017-10-07  João Távora  <joaotavora@gmail.com>
8284         Fix flymake-goto-next-error when message has %-constructs
8286         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
8287         message call.  Add missing period in docstring.
8289 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
8291         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
8293 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8295         Move the entry about 'format' into Incompatible Lisp Changes
8297         * etc/NEWS: Move the entry about 'format' refraining from allocating
8298         new strings into Incompatible Lisp Changes.  (Bug#28625)
8300 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8302         Fix glitches in displaying TTY menus
8304         * src/dispnew.c (update_frame_line): Accept an additional argument
8305         UPDATING_MENU_P; if non-zero, home the cursor before updating a
8306         frame's line.  All callers changed.
8307         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
8308         and pass it to update_frame_line.  All callers changed.
8309         (update_frame_with_menu): Call update_frame_1 with last argument
8310         non-zero.  (Bug#17497)
8312 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
8314         Create new Edebug spec for docstrings and use it in closures
8316         Since (:documentation FORM) can be used to create a docstring
8317         when lexical-binding is on, allow for that possibility in Edebug
8318         specs (bug#24773).
8319         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
8320         called lambda-doc and modify the Edebug specs for defun and
8321         defmacro to use it.
8322         (edebug-instrument-function): Check for generic functions first,
8323         to fix bug where edebug-step-in didn't work on methods now that
8324         cl-defgeneric has an Edebug spec.
8325         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
8326         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
8327         (bug#27747).
8328         (cl-defmethod): Use lambda-doc in Edebug spec.
8329         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
8330         cl-declarations-or-string to use lambda-doc, and modify Edebug
8331         spec for cl-lambda-expr to use cl-declarations-or-string.
8332         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
8333         use lambda-doc, as well as &define and def-body which are
8334         necessary for using Edebug on code wrapped by lambda.
8335         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
8336         Edebug specs.
8338 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8340         Avoid byte-compilation warnings in message.el
8342         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
8343         avoid compiler warnings.
8345 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8347         Fix bug in recent styled_format change
8349         Problem reported by Kaushal Modi in:
8350         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
8351         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
8352         not always followed by SAFE_FREE.  This bug was introduced in my
8353         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
8354         unnecessary copying in Fformat etc."
8356 2017-10-06  João Távora  <joaotavora@gmail.com>
8358         Cleanup emacs-lisp-mode's use of Flymake
8360         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
8361         Delete.
8362         (elisp-flymake-checkdoc): Incorporate old
8363         elisp-flymake--checkdoc-1.
8364         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
8365         here.
8366         (elisp-flymake-byte-compile): Remove spurious interactive spec.
8367         Simplify.  Cleanup on every possible exit.
8369 2017-10-06  João Távora  <joaotavora@gmail.com>
8371         Fix @include directive in Flymake doc
8373         * doc/misc/flymake.texi: Don't @include a relative path.
8375 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
8377         Move read-multiple-choice to its own library
8379         * lisp/emacs-lisp/rmc.el: New file.
8380         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
8381         * lisp/gnus/message.el:
8382         * lisp/net/nsm.el: Change required library.
8384 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
8386         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
8388         Fixes: Bug#28721
8390 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
8392         Fix typos in Flymake documentation
8394         * doc/misc/flymake.texi (Syntax check statuses)
8395         (Adding support for a new syntax check tool)
8396         (Implementation overview, Locating the buildfile): Fix typos.
8398         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
8399         (flymake-proc--find-possible-master-files):Fix typos.
8400         (flymake-proc--panic)
8401         (flymake-proc-legacy-flymake): Fix function reference in doc.
8403         * lisp/progmodes/flymake.el (flymake-error)
8404         (flymake-diagnostic-functions): Fix typos.
8405         (flymake-diagnostic-types-alist): Rephrase and fix typos.
8406         (flymake--backend-state): Fix typos and rephrase.
8407         (flymake--handle-report): Delete empty line.
8408         (flymake--disable-backend)
8409         (flymake--run-backend): Fix typos.
8410         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
8412 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8414         Revert last change in 'shr-descend'
8416         * lisp/net/shr.el (shr-descend): Revert the part of the last
8417         change which introduced calls to shr-indirect-call into this
8418         function.  Add a comment explaining the rationale for that.
8419         (Bug#28402)
8421 2017-10-06  João Távora  <joaotavora@gmail.com>
8423         Don't error when turning on Flymake with no known backends
8425         Leave it to the mode line indicator to inform the user that there
8426         is still some configuration to do.
8428         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
8430 2017-10-06  João Távora  <joaotavora@gmail.com>
8432         Delete a Flymake obsolete alias that can't possibly work
8434         The function `flymake-ler-make-ler' can't possibly work as an backward
8435         compatible interface to existing extensinos (even purely hypothetical
8436         ones, since none are known).  This is because every diagnostic
8437         considered by Flymake has to passed to a report-fn function.
8439         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
8441 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8443         Fix bug with unmounted directory on GNU/Linux
8445         * src/sysdep.c (emacs_get_current_dir_name): Do not use
8446         get_current_dir_name result unless it is absolute (Bug#27871).
8449 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
8451         Update authors.el
8453         * admin/authors.el (authors-renamed-files-alist)
8454         (authors-valid-file-names): Additions.
8456 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
8458         Fix dynamic binding wrapper in iter-lambda (bug#25965)
8460         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
8461         Remove extra evaluation of form.
8462         * test/lisp/emacs-lisp/generator-tests.el
8463         (cps-iter-lambda-with-dynamic-binding): New test.
8465 2017-10-05  Rasmus  <rasmus@gmx.us>
8467         Update Org to v9.1.2
8469         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
8471 2017-10-05  Alan Mackenzie  <acm@muc.de>
8473         Fix irregularities with CC Mode fontification, particularly with "known types"
8475         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
8476         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
8477         type.
8478         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
8479         have a construct like the above.  Pass this as argument to
8480         c-font-lock-declarators.
8481         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
8482         being processed starts before the function's starting position.
8483         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
8484         preceded by, e.g., "struct"".
8486         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
8487         (c-template-typename-key): New lang defconsts and defvar.
8489 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
8491         Fix breakage due to recent change in tabulated-list-print-entry
8493         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
8494         Update the doc string.
8495         (tabulated-list-print-entry): Revert to using only 2 arguments.
8496         Update the doc string.
8497         (tabulated-list-entry-lnum-width): New defvar.
8498         (tabulated-list-print): Compute the width of line-number display
8499         once, then store that value in tabulated-list-entry-lnum-width,
8500         for tabulated-list-printer to use.  (Bug#28704)
8502 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
8504         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
8506 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
8508         Set xterm click count to 1 even with no last click
8510         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
8511         the last click so that click-count is initialized properly.
8512         Handle the value of t for double-click-time.
8513         (Bug#28658)
8515 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
8517         Support indirection for all shr-tag-* calls
8519         The 'shr-external-rendering-functions' variable was previously only
8520         honored in the shr-descend function, now all direct calls to the
8521         shr-tag-* functions have been replaced by a call to
8522         'shr-indirect-call' which tries using an alternative rendering
8523         function first.
8525         * lisp/net/shr.el (shr-indirect-call): New helper function.
8526         (shr-descend, shr-tag-object, shr-tag-video):
8527         (shr-collect-extra-strings-in-table): Fix callers to call via
8528         shr-indirect-call.  (Bug#28402)
8530 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
8532         Speed up list-packages when 'visual' line numbers are displayed
8534         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
8535         Update the doc string.
8536         (tabulated-list-print-entry): Accept an additional optional
8537         argument INDENT.  Update the doc string.
8538         (tabulated-list-print): Compute the width of line-number display
8539         once, then call tabulated-list-printer with that value as 3rd
8540         argument.  (Bug#28704)
8542 2017-10-05  João Távora  <joaotavora@gmail.com>
8544         Misc. minor adjustments to Flymake
8546         - Add a half-decent minor-mode menu;
8547         - Fix "waiting for backends" mode line message;
8548         - Adjust the flymake-diag-region API;
8549         - Autoload the flymake-log macro;
8550         - Auto-disable the legacy backend in more situations;
8551         - Fix a couple of warnings in legacy backend.
8553         * lisp/progmodes/flymake-proc.el
8554         (flymake-proc--diagnostics-for-pattern): Use new
8555         flymake-diag-region.
8557         * lisp/progmodes/flymake-proc.el
8558         (flymake-proc-legacy-flymake): Do error when no
8559         buffer-file-name or not writable.
8560         (flymake-proc-legacy-flymake)
8561         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
8563         * lisp/progmodes/flymake.el (flymake-diag-region):
8564         Autoload.  Take buffer as first argument.
8566         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
8567         New command.
8568         (flymake-menu): Add a simple menu.
8569         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
8570         log buffer when clicking exceptional warnings.
8572 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
8574         Fix search for ~/.Xdefaults-HOSTNAME
8576         * src/xrdb.c (get_environ_db): Fix typo when handling
8577         ~/.Xdefaults-HOSTNAME (Bug#28708).
8579 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8581         Speed up (format "%s" STRING) and the like
8583         Although the Lisp manual said that ‘format’ returns a
8584         newly-allocated string, this was not true for a few cases like
8585         (format "%s" ""), and fixing the documentation to allow reuse of
8586         arguments lets us improve performance in common cases like
8587         (format "foo") and (format "%s" "foo") (Bug#28625).
8588         * doc/lispref/strings.texi (Formatting Strings):
8589         * etc/NEWS:
8590         Say that the result of ‘format’ might not be newly allocated.
8591         * src/callint.c (Fcall_interactively):
8592         * src/dbusbind.c (XD_OBJECT_TO_STRING):
8593         * src/editfns.c (Fmessage, Fmessage_box):
8594         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
8595         Just use Fformat or Fformat_message, as that’s simpler and no
8596         longer makes unnecessary copies.
8597         * src/editfns.c (styled_format): Remove last argument, as it
8598         is no longer needed: all callers now want it to behave as if it
8599         were true.  All remaining callers changed.  Make this function
8600         static again.  Simplify the function now that we no longer
8601         need to worry about whether the optimization is allowed.
8603 2017-10-04  Alan Mackenzie  <acm@muc.de>
8605         Fontify untyped function declarations in C Mode correctly.
8607         Also correct two bugs where deleting WS at a BOL could leave an untyped
8608         function declaration unfontified.
8610         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
8611         "top-level" when we're in a macro.
8612         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
8613         Mode as a implicitly typed function declaration.
8614         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
8615         macro.  It's not a function plus arglist.
8617         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
8618         defvar.
8620         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
8621         over any following parenthesis expression (i.e. parameter list).
8622         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
8623         the returned region, to cope with deletions at column 0.
8625 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
8627         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
8629         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
8631 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
8633         Avoid crashes on C-g when several threads wait for input
8635         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
8636         (getcjmp): Define to current thread's 'm_getcjmp'.
8637         * src/thread.c (maybe_reacquire_global_lock): Switch to main
8638         thread, since this is called from a SIGINT handler, which always
8639         runs in the context of the main thread.
8640         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
8641         definitions before thread.h is included, as thread.h now uses
8642         sys_jmp_buf.
8643         * src/keyboard.c (getcjmp): Remove declaration.
8644         (read_char): Don't call maybe_reacquire_global_lock here.
8645         (handle_interrupt): Call maybe_reacquire_global_lock here, if
8646         invoked from the SIGINT handler, to make sure
8647         quit_throw_to_read_char runs with main thread's Lisp bindings and
8648         uses the main thread's jmp_buf buffer.  (Bug#28630)
8650 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8652         Warn if --without-pop is now the default
8654         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
8655         Warn about the change if defaulting to "no".  Update URLs.
8657 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8659         --with-pop is now the default only on MS-Windows
8661         Problem reported by N. Jackson (Bug#28597).
8662         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
8663         * INSTALL, configure.ac, etc/NEWS:
8664         Make --with-pop the default only on native MS-Windows.
8666 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
8668         Add support for `file-system-info' in Tramp
8670         * lisp/net/tramp.el (tramp-file-name-for-operation):
8671         Add `file-system-info'.
8673         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
8674         (tramp-adb-file-name-handler-alist): Use it.
8676         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
8677         (tramp-gvfs-file-system-attributes-regexp): New defconst.
8678         (tramp-gvfs-handle-file-system-info): New defun.
8679         (tramp-gvfs-file-name-handler-alist): Use it.
8680         (tramp-gvfs-get-directory-attributes): Fix property name.
8681         (tramp-gvfs-get-root-attributes): Support also file system attributes.
8683         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
8684         (tramp-sh-file-name-handler-alist): Use it.
8685         (tramp-sh-handle-insert-directory): Insert size information.
8686         (tramp-get-remote-df): New defun.
8688         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
8689         (tramp-smb-file-name-handler-alist): Use it.
8690         (tramp-smb-handle-insert-directory): Insert size information.
8692         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
8693         New test.
8694         (tramp-test38-asynchronous-requests)
8695         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
8696         (tramp-test41-unload): Rename.
8698 2017-10-03  João Távora  <joaotavora@gmail.com>
8700         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
8702 2017-10-03  João Távora  <joaotavora@gmail.com>
8704         Start rewriting Flymake manual
8706         Missing the parts pertaining to the new customization API.
8708         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
8709         (Installing Flymake): Delete most of this.
8710         (Running the syntax check): Mention flymake-start.
8711         (Navigating to error lines): Rewrite.
8712         (Viewing error messages): Commente out.
8713         (Syntax check statuses, Troubleshooting): Rewrite a bit.
8714         (Customizable variables): New section under "Using
8715         Flymake".  Don't mention any proc variables here.
8716         (Configuring Flymake): Delete
8717         (Proc backend): New chapter
8718         (Proc customization variables): New chapter.
8720         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
8721         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
8722         (Running the syntax check): Simplify.
8723         (Viewing error messages): Dekete,
8724         (Syntax check statuses): Rewrite.
8725         (Troubleshooting): Simplify.
8726         (Customizable variables): Rewrite.
8727         (Extending Flymake): New chapter, empty for now.
8728         (The legacy Proc backend): New chapter.
8729         (Proc customizable variables)
8730         (Adding support for a new syntax check tool)
8731         (Implementation overview)
8732         (Making a temporary copy)
8733         (Locating a master file)
8734         (Getting the include directories)
8735         (Locating the buildfile)
8736         (Starting the syntax check process)
8737         (Parsing the output)
8738         (Interaction with other modes)
8739         (Example---Configuring a tool called via make)
8740         (Example---Configuring a tool called directly): Rewrite a bit.
8742 2017-10-03  João Távora  <joaotavora@gmail.com>
8744         Minimal tweak as an attempt to future-proof Flymake API
8746         Discussed with Stefan that this should allow Flymake to request more
8747         from backends in the future, while also allowing backends to report
8748         more accurately.
8750         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
8751         (elisp-flymake-byte-compile): Adjust to new API.
8753         * lisp/progmodes/flymake-proc.el ()
8754         (flymake-proc-legacy-flymake): Adjust to new API.
8756         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
8757         Review API again.
8758         (flymake--handle-report): Allow other keys.  Change ACTION to
8759         REPORT-ACTION.
8761 2017-10-03  João Távora  <joaotavora@gmail.com>
8763         Integrate Flymake elisp checkers into elisp-mode.el directly
8765         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
8766         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
8767         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
8768         (elisp-flymake--byte-compile-done)
8769         (elisp-flymake--byte-compile-process)
8770         (elisp-flymake-byte-compile): Rename from flymake-elisp
8771         counterparts in deleted flymake-elisp.el
8772         (elisp-flymake--batch-compile-for-flymake): New helper.
8773         (checkdoc-create-error-function)
8774         (checkdoc-autofix-flag)
8775         (checkdoc-generate-compile-warnings-flag)
8776         (checkdoc-diagnostic-buffer): Forward declare.
8778         * lisp/progmodes/flymake-elisp.el: Delete.
8780 2017-10-03  João Távora  <joaotavora@gmail.com>
8782         Hook Flymake onto proper checkdoc and byte-compile interfaces
8784         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
8785         with little knowledge of actual internals or thought given to the
8786         usefulness of said interfaces in contexts other than Flymake's.
8788         * lisp/emacs-lisp/bytecomp.el
8789         (byte-compile-log-warning-function): New variable.
8790         (byte-compile-log-warning): Use it.
8791         (byte-compile--log-warning-for-byte-compile): New function.
8793         * lisp/emacs-lisp/checkdoc.el
8794         (checkdoc-create-error-function): New variable.
8795         (checkdoc-create-error): Use it.
8796         (checkdoc--create-error-for-checkdoc): New function.xo
8798         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
8799         Use checkdoc-create-error-function.
8800         (flymake-elisp--batch-byte-compile): Use
8801         byte-compile-log-warning-function.
8803 2017-10-03  João Távora  <joaotavora@gmail.com>
8805         Tweak Flymake autoloads and dependencies
8807         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
8808         flymake-diagnostic-functions here.
8810         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
8811         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
8812         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
8813         Autoload.  (flymake-elisp-setup-backends): Remove.
8815         * lisp/progmodes/flymake.el: Add some top-level comments.
8816         (flymake-make-diagnostic)
8817         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
8819         Where to fixup this shit?
8821 2017-10-03  João Távora  <joaotavora@gmail.com>
8823         Capitalize "Flymake" in docstrings and comments
8825         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
8826         (flymake-elisp-setup-backends): Capitalize "Flymake"
8828         * lisp/progmodes/flymake-proc.el:
8829         (flymake-proc-reformat-err-line-patterns-from-compile-el)
8830         (flymake-proc--panic, flymake-proc-legacy-flymake)
8831         (flymake-start-syntax-check, flymake-proc-compile)
8832         (define-obsolete-variable-alias): Capitalize "Flymake"
8834         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
8835         (flymake-make-diagnostic, flymake-delete-own-overlays)
8836         (flymake-diagnostic-functions)
8837         (flymake-diagnostic-types-alist, flymake-is-running)
8838         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
8839         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
8841 2017-10-03  João Távora  <joaotavora@gmail.com>
8843         Flymake backends can report multiple times per check
8845         Rewrote a significant part of the Flymake backend API.  Flymake now
8846         ignores the return value of backend functions: a function can either
8847         returns or errors.  If it doesn't error, a backend is no longer
8848         constrained to call REPORT-FN exactly once.  It may do so any number
8849         of times, cumulatively reporting diagnostics.  Flymake keeps track of
8850         outdated REPORT-FN instances and disconsiders obsolete reports.
8851         Backends should avoid reporting obsolete data by canceling any
8852         ongoing processing at every renewed call to the backend function.
8854         Consolidated flymake.el internal data structures to require less
8855         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
8856         new semantics.
8858         Adapted and simplified the implementation of elisp and legacy
8859         backends, fixing potential race conditions when calling backends in
8860         rapid succession.
8862         Added a new test for a backend that calls REPORT-FN multiple
8863         times.  Simplify test infrastructure.
8865         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
8866         (flymake-elisp-byte-compile): Error instead of returning nil
8867         if not in emacs-lisp-mode.
8868         (flymake-elisp--byte-compile-process): New buffer-local variable.
8869         (flymake-elisp-byte-compile): Mark (and kill) previous process
8870         obsolete process before starting a new one.  Don't report if
8871         obsolete process.
8873         * lisp/progmodes/flymake-proc.el
8874         (flymake-proc--current-process): New buffer-local variable.
8875         (flymake-proc--processes): Remove.
8876         (flymake-proc--process-filter): Don't bind
8877         flymake-proc--report-fn.
8878         (flymake-proc--process-sentinel): Rewrite.  Don't report if
8879         obsolete process.
8880         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
8881         previous process obsolete process before starting a new
8882         one.  Integrate flymake-proc--start-syntax-check-process
8883         helper.
8884         (flymake-proc--start-syntax-check-process): Delete.
8885         (flymake-proc-stop-all-syntax-checks): Don't use
8886         flymake-proc--processes, iterate buffers.
8887         (flymake-proc-compile):
8889         * lisp/progmodes/flymake.el (subr-x): Require it
8890         explicitly.
8891         (flymake-diagnostic-functions): Reword docstring.
8892         (flymake--running-backends, flymake--disabled-backends)
8893         (flymake--diagnostics-table): Delete.
8894         (flymake--backend-state): New buffer-local variable and new defstruct.
8895         (flymake--with-backend-state, flymake--collect)
8896         (flymake-running-backends, flymake-disabled-backends)
8897         (flymake-reporting-backends): New helpers.
8898         (flymake-is-running): Use flymake-running-backends.
8899         (flymake--handle-report): Rewrite.
8900         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
8901         buffer or not at all.
8902         (flymake--disable-backend, flymake--run-backend): Rewrite.
8903         (flymake-start): Rewrite.
8904         (flymake-mode): Set flymake--backend-state.
8905         (flymake--mode-line-format): Rewrite.
8907         * test/lisp/progmodes/flymake-tests.el
8908         (flymake-tests--wait-for-backends): New helper.
8909         (flymake-tests--call-with-fixture): Use it.
8910         (included-c-header-files): Fix whitespace.
8911         (flymake-tests--diagnose-words): New helper.
8912         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
8913         (flymake-tests--assert-set): Use quote.
8914         (recurrent-backend): New test.
8916 2017-10-03  João Távora  <joaotavora@gmail.com>
8918         Flymake uses proper idle timers
8920         Also, flymake-no-changes-timeout can be set to nil to disable
8921         automatic periodic checks.  But even in that situation the idle timer
8922         still runs at a reduced rate to detect changes in the variable and
8923         revert that decision.
8925         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
8926         (flymake-last-change-time): Delete.
8927         (flymake--schedule-timer-maybe): New helper.
8928         (flymake-after-change-function): Use it.
8929         (flymake-on-timer-event): Delete
8930         (flymake-mode): Don't scheduler timer.
8932 2017-10-03  João Távora  <joaotavora@gmail.com>
8934         Flymake variable flymake-diagnostic-functions now a special hook
8936         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
8937         flymake-diagnostic-functions.
8939         * lisp/progmodes/flymake-elisp.el
8940         (flymake-elisp-setup-backends): Use add-hook.
8942         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
8943         Revise docstring.
8944         (flymake-start): Use run-hook-wrapped.
8946 2017-10-03  João Távora  <joaotavora@gmail.com>
8948         Batch of minor Flymake cleanup actions agreed to with Stefan
8950         Discussed with Stefan, in no particular order
8952         - Remove aliases for symbols thought to be internal to flymake-proc.el
8953         - Don’t need :group in defcustom and defface in flymake.el
8954         - Fix docstring of flymake-make-diagnostic
8955         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
8956         - Mark overlays with just the property ’flymake, not ’flymake-overlay
8957         - Tune flymake-overlays for performance
8958         - Make flymake-mode-on and flymake-mode-off obsolete
8959         - Don’t use hash-table-keys unless necessary.
8960         - Copyright notice in flymake-elisp.
8962         Added some more
8964         - Clarify docstring of flymake-goto-next-error
8965         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
8966         - Prevent compilation warnings in flymake-proc.el
8967         - Remove doctring from obsolete aliases
8969         Now the changelog:
8971         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
8973         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
8974         (flymake-proc-diagnostic-type-pred)
8975         (flymake-proc-default-guess)
8976         (flymake-proc--get-file-name-mode-and-masks): Move up to
8977         beginning of file to shoosh compiler warnings
8978         (define-obsolete-variable-alias): Delete many obsolete aliases.
8980         * lisp/progmodes/flymake.el (flymake-error-bitmap)
8981         (flymake-warning-bitmap, flymake-note-bitmap)
8982         (flymake-fringe-indicator-position)
8983         (flymake-start-syntax-check-on-newline)
8984         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
8985         (flymake-start-syntax-check-on-find-file, flymake-log-level)
8986         (flymake-wrap-around, flymake-error, flymake-warning)
8987         (flymake-note): Don't need :group in these defcustom and defface.
8988         (flymake--run-backend): Clarify comment
8989         (flymake-mode-map): Remove.
8990         (flymake-make-diagnostic): Fix docstring.
8991         (flymake--highlight-line, flymake--overlays): Identify flymake
8992         overlays with just ’flymake.
8993         (flymake--overlays): Reverse order of invocation for
8994         cl-remove-if-not and cl-sort.
8995         (flymake-mode-on)
8996         (flymake-mode-off): Make obsolete.
8997         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
8998         (flymake-diagnostic-functions): Clarify keyword arguments in
8999         docstring.
9001         Maybe squash in that one where I remove many obsoletes
9003 2017-10-03  João Távora  <joaotavora@gmail.com>
9005         Explicitly add a(n empty) keymap for Flymake
9007         Too early to decide what will be in it, if anything.  Though "M-n" and
9008         "M-p" would be great.
9010         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
9012 2017-10-03  João Távora  <joaotavora@gmail.com>
9014         Flymake uses some new fringe bitmaps
9016         Also fix behavior whereby flymake wouldn't react to a change in the
9017         variable.
9019         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
9020         (flymake-warning-bitmap): Update bitmaps.
9021         (flymake-note-bitmap): New defcustom.
9022         (flymake-double-exclamation-mark): New bitmap.
9023         (flymake-error, flymake-warning, flymake-note)
9024         (flymake--highlight-line): 'bitmap property must be a symbol.
9025         Also set default face to flymake-error.
9026         (flymake--fringe-overlay-spec): Bitmap property can be a
9027         variable symbol.
9029 2017-10-03  João Távora  <joaotavora@gmail.com>
9031         Remove old flymake-display-err-menu-for-current-line, it's useless
9033         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
9035         * lisp/progmodes/flymake-ui.el
9036         (flymake-popup-current-error-menu): Remove.
9038 2017-10-03  João Távora  <joaotavora@gmail.com>
9040         Treat Flymake errors as just another type of diagnostic
9042         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
9043         (flymake--handle-report, flymake-popup-current-error-menu):
9044         Don't use it.
9046 2017-10-03  João Távora  <joaotavora@gmail.com>
9048         Fix three Flymake bugs when checking C header files
9050         The first of these problems is longstanding: if an error-less B.h is
9051         included from error-ridden A.h, flymake's legacy parser will panic
9052         (and disable itself) since it sees a non-zero exit for a clean file.
9053         To fix this, recommend returning 'true' in the documentation for the
9054         check-syntax target.
9056         Another problem was introduced by the parser rewrite.  For error
9057         patterns spanning more than one line, point may be left in the middle
9058         of a line and thus render other patterns useless.  Those patterns were
9059         written for the old line-by-line parser.  To make them useful again,
9060         move to the beginning of line in those situations.
9062         The third problem was also longstanding and happened on newer GCC's:
9063         The "In file included from" prefix confused
9064         flymake-proc-get-real-file-name.  Fix this.
9066         Also updated flymake--diag-region to fallback to highlighting a full
9067         line less often.
9069         Add automatic tests to check this.
9071         * lisp/progmodes/flymake-proc.el
9072         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
9073         accidentally spans more than one line.  Don't create
9074         diagnostics without error messages.
9075         (flymake-proc-real-file-name-considering-includes): New
9076         helper.
9077         (flymake-proc-allowed-file-name-masks): Use it.
9079         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
9080         argument explicitly optional.  Only fall back to full line in extreme
9081         cases.
9083         * test/lisp/progmodes/flymake-tests.el
9084         (included-c-header-files): New test.
9085         (different-diagnostic-types): Update.
9087         * test/lisp/progmodes/flymake-resources/Makefile
9088         (check-syntax): Always return success (0) error code.
9089         (CC_OPTS): Add -Wextra
9091         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
9092         (main): Rewrite comments.
9094         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9095         Include some dummy header files.
9097         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
9099         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
9101         * doc/misc/flymake.texi (Example---Configuring a tool called
9102         via make): Recommend adding "|| true" to the check-syntax target.
9104 2017-10-03  João Távora  <joaotavora@gmail.com>
9106         Add interactive flymake-start function
9108         * lisp/progmodes/flymake.el (flymake-on-timer-event)
9109         (flymake-after-change-function, flymake-mode): Call
9110         flymake-start.
9111         (flymake-start): Rename from flymake--start-syntax-check.
9113 2017-10-03  João Távora  <joaotavora@gmail.com>
9115         A couple of Flymake backends for emacs-lisp-mode
9117         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
9118         automatically, but it affects emacs-lisp-mode-hook so that
9119         flymake-diagnostic-functions is setup with a suitable buffer-local
9120         value.  The variable flymake-diagnostic-funtions in every live
9121         emacs-lisp-mode buffer is also adjusted.
9123         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
9125         * lisp/progmodes/flymake-elisp.el: New file.
9127 2017-10-03  João Távora  <joaotavora@gmail.com>
9129         Fancy Flymake mode-line construct displays status
9131         Imitates compilation-mode's mode-line a bit, and uses its faces.
9133         * lisp/progmodes/flymake.el
9134         (flymake-error, flymake-warning, flymake-note): Add
9135         mode-line-face to these flymake error types.
9136         (flymake-note): Notes don't need a noisy fringe bitmap.
9137         (flymake-lighter): Delete.
9138         (flymake--update-lighter): Delete.
9139         (flymake--mode-line-format): New function and variable.
9140         (flymake--diagnostics-table): New buffer-local variable.
9141         (flymake--handle-report): Don't update "lighters".  Affect
9142         flymake--diagnostics-table.
9143         (flymake--run-backend): Init flymake--diagnostics-table for backend.
9144         (flymake-mode): Use flymake--mode-line-format.
9145         (flymake-mode): Don't update lighter.
9146         (flymake--highlight-line): Be more careful when overriding a
9147         nil default overlay property.
9149 2017-10-03  João Távora  <joaotavora@gmail.com>
9151         Tweak Flymake commands flymake-goto-[next/prev]-error
9153         Add filters, useful for backends like the upcoming
9154         flymake-elisp-checkdoc backend, for example, which litters everything
9155         with low-priority notes.
9157         Also re-implement wraparound for flymake-goto-next-error. Manual
9158         mentions this, so it's probably a good idea to keep it.  Added a new
9159         customization variable flymake-wrap-around to control it.
9161         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
9162         (flymake-goto-next-error): Accept FILTER argument.
9163         (flymake-wrap-around): New variable.
9164         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
9166         * test/lisp/progmodes/flymake-tests.el
9167         (different-diagnostic-types, dummy-backends): Pass FILTER to
9168         flymake-goto-prev-error.
9169         (different-diagnostic-types)
9170         (dummy-backends): Use flymake-wrap-around.
9172 2017-10-03  João Távora  <joaotavora@gmail.com>
9174         Flymake's flymake-proc.el backend slightly easier to debug
9176         Misc cleanup in flymake-proc.el
9178         Improve description of what this file contains.
9180         Better name for the backend function.  Fix the case where it is run
9181         interactively.
9183         Keep the output buffer alive iff the external process panics.
9185         * lisp/progmodes/flymake-proc.el
9186         (flymake-proc-legacy-flymake): Rename from
9187         flymake-proc-start-syntax-check.  Allow running interactively.
9188         (flymake-start-syntax-check): Obsolete alias for
9189         flymake-proc-legacy-flymake.
9190         (flymake-proc-start-syntax-check): Delete.
9191         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
9192         (flymake-proc--process-sentinel): Keep output buffer alive.
9193         Clarify with comments.
9194         (flymake-proc--diagnostics-for-pattern)
9195         (flymake-proc--process-sentinel)
9196         (flymake-proc--safe-delete-directory)
9197         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
9199 2017-10-03  João Távora  <joaotavora@gmail.com>
9201         Simplify Flymake logging and erroring
9203         Use display-warning and a dedicated *Flymake log* buffer.
9205         To ease readability, flymake log messages are now prefixed with a
9206         common prefix and the buffer that originated them.
9208         Some situations of over-zealous logging are fixed.
9210         Use byte-compiler info, if available, to determine whence the
9211         flymake-related log message is coming.
9213         * lisp/progmodes/flymake-proc.el
9214         (flymake-proc--diagnostics-for-pattern): Improve log message.
9215         (flymake-proc--panic): Always flymake-log an error
9216         (flymake-proc--safe-delete-file)
9217         (flymake-proc--safe-delete-directory):
9218         Downgrade warning
9219         (flymake-proc-start-syntax-check): Simplify slightly.
9220         (flymake-proc--start-syntax-check-process): Simplify.
9221         (flymake-proc--init-find-buildfile-dir)
9222         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9223         No need to warn twice.
9225         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
9226         (flymake--log-1): New helper.
9227         (flymake-log-level): Deprecate.
9228         (flymake-error): New helper.
9229         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
9230         Use flymake-error.
9231         (flymake-on-timer-event)
9232         (flymake--handle-report, flymake--disable-backend)
9233         (flymake--run-backend, flymake-start, flymake-mode-on)
9234         (flymake-mode-off, flymake-after-change-function)
9235         (flymake-after-save-hook, flymake-find-file-hook): Adjust
9236         flymake-log calls.
9238         * test/lisp/progmodes/flymake-tests.el
9239         (flymake-tests--call-with-fixture): Only log errors.
9241 2017-10-03  Philipp Stephani  <phst@google.com>
9243         Work around deprecation of gtk_style_context_get_background_color
9245         * src/gtkutil.c (xg_check_special_colors): Replace call to
9246         gtk_style_context_get_background_color with its definition.
9248 2017-10-03  João Távora  <joaotavora@gmail.com>
9250         New Flymake API variable flymake-diagnostic-functions
9252         Lay groundwork for multiple active backends in the same buffer.
9254         Backends are lisp functions called when flymake-mode sees fit.  They
9255         are responsible for examining the current buffer and telling
9256         flymake.el, via return value, if they can syntax check it.
9257         Backends should return quickly and inexpensively, but they are also
9258         passed a REPORT-FN argument which they may or may not call
9259         asynchronously after performing more expensive work.
9261         REPORT-FN's calling convention stipulates that a backend calls it with
9262         a list of diagnostics as argument, or, alternatively, with a symbol
9263         denoting an exceptional situation, usually some panic resulting from a
9264         misconfigured backend.  In keeping with legacy behavior,
9265         flymake.el's response to a panic is to disable the issuing backend.
9267         The flymake--diag object representing a diagnostic now also keeps
9268         information about its source backend.  Among other uses, this allows
9269         flymake to selectively cleanup overlays based on which backend is
9270         updating its diagnostics.
9272         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
9273         New dynamic variable.
9274         (flymake-proc--process): New variable.
9275         (flymake-can-syntax-check-buffer): Remove.
9276         (flymake-proc--process-sentinel): Simplify.  Use
9277         unwind-protect.  Affect flymake-proc--processes here.
9278         Bind flymake-proc--report-fn.
9279         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
9280         (flymake-proc--post-syntax-check): Delete
9281         (flymake-proc-start-syntax-check): Take mandatory
9282         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
9283         (flymake-proc--process-sentinel): Rewrite and simplify.
9284         (flymake-proc--panic): New helper.
9285         (flymake-proc--start-syntax-check-process): Record report-fn
9286         in process.  Use flymake-proc--panic.
9287         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
9288         flymake-proc--processes here.  Record interruption reason.
9289         (flymake-proc--init-find-buildfile-dir)
9290         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9291         Use flymake-proc--panic.
9292         (flymake-diagnostic-functions): Add
9293         flymake-proc-start-syntax-check.
9294         (flymake-proc-compile): Call
9295         flymake-proc-stop-all-syntax-checks with a reason.
9297         * lisp/progmodes/flymake.el (flymake-backends): Delete.
9298         (flymake-check-was-interrupted): Delete.
9299         (flymake--diag): Add backend slot.
9300         (flymake-delete-own-overlays): Take optional filter arg.
9301         (flymake-diagnostic-functions): New user-visible variable.
9302         (flymake--running-backends, flymake--disabled-backends): New
9303         buffer-local variables.
9304         (flymake-is-running): Now a function, not a variable.
9305         (flymake-mode-line, flymake-mode-line-e-w)
9306         (flymake-mode-line-status): Delete.
9307         (flymake-lighter):  flymake's minor-mode "lighter".
9308         (flymake-report): Delete.
9309         (flymake--backend): Delete.
9310         (flymake--can-syntax-check-buffer): Delete.
9311         (flymake--handle-report, flymake--disable-backend)
9312         (flymake--run-backend, flymake--run-backend):  New helpers.
9313         (flymake-make-report-fn): Make a lambda.
9314         (flymake--start-syntax-check): Iterate
9315         flymake-diagnostic-functions.
9316         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
9317         flymake--running-backends and flymake--disabled-backends.
9318         (flymake-find-file-hook): Simplify.
9320         * test/lisp/progmodes/flymake-tests.el
9321         (flymake-tests--call-with-fixture): Use flymake-is-running the
9322         function.  Check if flymake-mode already active before activating it.
9323         Add a thorough test for flymake multiple backends
9325         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
9326         Don't use condition-case-unless-debug, use condition-case
9328         * test/lisp/progmodes/flymake-tests.el
9329         (flymake-tests--assert-set): New helper macro.
9330         (dummy-backends): New test.
9332 2017-10-03  João Távora  <joaotavora@gmail.com>
9334         More Flymake cleanup before advancing to backend redesign
9336         Diagnostics are reported for buffers, not necessarily files.  It’s the
9337         backend’s responsibility to compute the buffer where the diagnostic is
9338         applicable.  For now, this has to match the buffer where flymake-mode
9339         is active and which is at the origin of the backend call.
9341         flymake.el knows nothing about line/column diagnostics (except for
9342         backward-compatible flymake-ler-make-ler, which must yet be tested).
9343         It’s also the backend’s reponsibility to compute a BEG and END
9344         positions for the diagnostic in the relevant buffer.
9346         * lisp/progmodes/flymake-proc.el
9347         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
9348         region here.  Check file buffer here.
9349         (flymake-proc--process-sentinel): Don’t kill output buffer if
9350         high enough log level.
9352         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
9353         function.  (flymake--highlight-line): Diagnostic has region now.
9354         (flymake-popup-current-error-menu): Don’t add file and line numbers to
9355         already this silly menu.  (flymake--fix-line-numbers): Remove.
9356         (flymake-report): No need to fix diagnostics here.
9358 2017-10-03  João Távora  <joaotavora@gmail.com>
9360         Protect Flymake's eager checks against commands like fill-paragraph
9362         If flymake-start-syntax-check-on-newline is t, check should start as
9363         soon as a newline is seen by after-change-functions.  But don't rush
9364         it: since the buffer state might not be final, we might end up with
9365         invalid diagnostic regions after some commands silently insert and
9366         delete newlines (looking at you, fill-paragraph).
9368         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
9369         `deferred' to flymake--start-syntax-check.
9370         (flymake--start-syntax-check): Take optional `deferred' arg.
9372 2017-10-03  João Távora  <joaotavora@gmail.com>
9374         Flymake highlights GCC info/notes as detected by flymake-proc.el
9376         * lisp/progmodes/flymake-proc.el
9377         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
9378         honour more sophisticated flymake-proc-diagnostic-type-pred.
9379         (flymake-warning-re): Is now an obsolete alias for
9380         flymake-proc-diagnostic-type-pred.
9381         (flymake-proc-diagnostic-type-pred): Rename and augment from
9382         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
9383         Delete.
9385         * lisp/progmodes/flymake.el (flymake-note): New face.
9386         (flymake-diagnostic-types-alist): Simplify.
9387         (flymake-note): New overlay category.
9388         (flymake--lookup-type-property): Only lookup single keys, not lists.
9389         (flymake--diag-errorp): Rewrite.
9390         (flymake--highlight-line): Use flymake--lookup-type-property.
9392         * test/lisp/progmodes/flymake-tests.el
9393         (different-diagnostic-types): Rename from errors-and-warnings.
9394         Check notes.
9395         (flymake-tests--call-with-fixture): Use
9396         flymake-proc-diagnostic-type-pred.
9398 2017-10-03  João Távora  <joaotavora@gmail.com>
9400         Flymake checks file names before considering diagnostics
9402         The error patterns for gcc picked up errors for the Makefile itself,
9403         for example.  These shouldn't count as actual errors.
9405         * lisp/progmodes/flymake.el (flymake-report): Check
9406         matching file names.
9408 2017-10-03  João Távora  <joaotavora@gmail.com>
9410         Echo Flymake error messages when navigating errors interactively
9412         Perhaps binding M-n and M-p to flymake-goto-next-error and
9413         flymake-goto-prev-error also wouldn't be a bad idea.
9415         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
9416         target overlay's help-echo.
9418 2017-10-03  João Távora  <joaotavora@gmail.com>
9420         Add a new Flymake test for multiple errors and warnings
9422         * test/lisp/progmodes/flymake-tests.el
9423         (flymake-tests--call-with-fixture): Save excursion.
9424         (errors-and-warnings): New test.
9426         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9427         New test fixture.
9429 2017-10-03  João Távora  <joaotavora@gmail.com>
9431         Flymake warning face easier to distinguish
9433         A orange wavy underline is very hard to tell from a red wavy
9434         underline.
9436         * lisp/progmodes/flymake.el (flymake-warning): Change color to
9437         "deep sky blue"
9439 2017-10-03  João Távora  <joaotavora@gmail.com>
9441         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
9443         Column numbers are not a great way of marking diagnostic regions, but
9444         that's probably all that can be expected from the flymake-proc.el
9445         backend.  For now, try (end-of-thing 'sexp) to discover the
9446         diagnostic's end position.
9448         * lisp/progmodes/flymake-proc.el ()
9449         (flymake-proc-err-line-patterns): Also parse column numbers,
9450         if available, for gcc/javac warnings.
9452 2017-10-03  João Távora  <joaotavora@gmail.com>
9454         New Flymake variable flymake-diagnostic-types-alist and much cleanup
9456         A new user-visible variable is introduced where different diagnostic
9457         types can be categorized.  Flymake backends can also contribute to
9458         this variable.  Anything that doesn’t match an existing error type
9459         is considered.
9461         The variable’s alists are used to propertize the overlays pertaining
9462         to each error type.  The user can override the built-in properties by
9463         either by modifying the alist, or by modifying the properties of a
9464         special "category" symbol, named by the `flymake-category' entry in
9465         the alist.
9467         The `flymake-category' entry is especially useful for, say, the author
9468         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
9469         should behave like notes, except with no fringe bitmap:
9471            (add-to-list 'flymake-diagnostic-types-alist
9472                         '(:foo-note
9473                           . ((flymake-category . flymake-note)
9474                              (bitmap . nil))))
9476         For essential properties like `severity', `priority', etc, a default
9477         value is produced.  Some properties like `evaporate' cannot be
9478         overriden.
9480         * lisp/progmodes/flymake.el (flymake--diag): Rename from
9481         flymake-ler.
9482         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
9483         (flymake-ler-errorp): Rewrite using flymake--severity.
9484         (flymake--place-overlay): Delete.
9485         (flymake--overlays): Now a cl-defun with &key args.  Document.
9486         Use `overlays-at' if BEG is non-nil and END is nil.
9487         (flymake--lookup-type-property): New helper.
9488         (flymake--highlight-line): Rewrite.
9489         (flymake-diagnostic-types-alist): New API variable.
9490         (flymake--diag-region)
9491         (flymake--severity, flymake--face)
9492         (flymake--fringe-overlay-spec): New helper.
9493         (flymake-popup-current-error-menu): Use new flymake-overlays.
9494         (flymake-popup-current-error-menu, flymake-report): Use
9495         flymake--diag-errorp.
9496         (flymake--fix-line-numbers): Use flymake--diag-line.
9497         (flymake-goto-next-error): Pass :key to flymake-overlays
9499         * lisp/progmodes/flymake-proc.el
9500         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
9502 2017-10-03  João Távora  <joaotavora@gmail.com>
9504         Refactor Flymake tests in preparation for more tests
9506         Introduce a slightly more generic fixture macro.
9508         Also make flymake-tests.el friendlier to interactive runs, by not
9509         killing buffers visited by the user.
9511         * test/lisp/progmodes/flymake-tests.el
9512         (flymake-tests--call-with-fixture): New helper from
9513         flymake-tests--current-face.  Don't kill file buffers already
9514         being visited before the test starts.
9515         (flymake-tests--with-flymake): New macro.
9516         (flymake-tests--current-face): Delete.
9517         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
9518         (warning-predicate-rx-perl, warning-predicate-function-perl):
9519         Use flymake-test--with-flymake.
9521 2017-10-03  João Távora  <joaotavora@gmail.com>
9523         Allow running Flymake tests from interactive sessions
9525         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
9526         Expand to reasonable value if no
9527         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
9528         "weirdness" of bug 17647 with read-event.
9530 2017-10-03  João Távora  <joaotavora@gmail.com>
9532         Flymake diagnostics now apply to arbitrary buffer regions
9534         Make Flymake UI some 150 lines lighter
9536         Strip away much of the original implementation's complexity in
9537         manipulating objects representing diagnostics as well as creating and
9538         navigating overlays.
9540         Lay some groundwork for a more flexible approach that allows for
9541         different classes of diagnostics, not necessarily line-based.
9542         Importantly, one overlay per diagnostic is created, whereas the
9543         original implementation had one per line, and on it it concatenated
9544         the results of errors and warnings.
9546         This means that currently, an error and warning on the same line are
9547         problematic and the warning might be overlooked but this will soon be
9548         fixed by setting appropriate priorities.
9550         Since diagnostics can highlight arbitrary regions, not just lines, the
9551         faces were renamed.
9553         Tests pass and backward compatibility with interactive functions is
9554         maintained, but probably any third-party extension or customization
9555         relying on more than a trivial set of flymake.el internals has stopped
9556         working.
9558         * lisp/progmodes/flymake-proc.el
9559         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
9560         constructor syntax.
9562         * lisp/progmodes/flymake.el (flymake-ins-after)
9563         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
9564         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
9565         (flymake-ler-set-full-file, flymake-ler-set-line)
9566         (flymake-get-line-err-count, flymake-get-err-count)
9567         (flymake-highlight-err-lines, flymake-overlay-p)
9568         (flymake-make-overlay, flymake-region-has-flymake-overlays)
9569         (flymake-find-err-info)
9570         (flymake-line-err-info-is-less-or-equal)
9571         (flymake-add-line-err-info, flymake-add-err-info)
9572         (flymake-get-first-err-line-no)
9573         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
9574         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
9575         (flymake-goto-line, flymake-goto-next-error)
9576         (flymake-goto-prev-error, flymake-patch-err-text): Delete
9577         functions no longer used.
9578         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
9579         (flymake-report): Rewrite.
9580         (flymake-popup-current-error-menu): Rewrite.
9581         (flymake--highlight-line): Rename from
9582         flymake-highlight-line.  Call `flymake--place-overlay.
9583         (flymake--place-overlay): New function.
9584         (flymake-ler-errorp): New predicate.
9585         (flymake-ler): Simplify.
9586         (flymake-error): Rename from
9587         flymake-errline.
9588         (flymake-warning): Rename from flymake-warnline.
9589         (flymake-warnline, flymake-errline): Obsoletion aliases.
9591         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
9592         (warning-predicate-function-gcc, warning-predicate-rx-perl)
9593         (warning-predicate-function-perl): Use face `flymake-warning'.
9595 2017-10-03  João Távora  <joaotavora@gmail.com>
9597         Move symbols in flymake-proc.el to separate namespace
9599         Every symbol in this flymake now starts with the prefix flymake-proc-.
9601         Make obsolete aliases for (almost?) every symbol.
9603         Furthermore, many flymake-proc.el symbols are prefixed with
9604         "flymake-proc--", that is they were considered internal.
9606         Some customization variables, interactive functions, and other symbols
9607         considered useful to user customizations or third-party libraries are
9608         considered "public" or "external" and so use a "flymake-proc-" prefix.
9610         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
9612         * test/lisp/progmodes/flymake-tests.el
9613         (flymake-tests--current-face): Use
9614         flymake-proc-warning-predicate, not flymake-warning-predicate.
9616         * lisp/progmodes/flymake-proc.el
9617         (flymake-proc--get-project-include-dirs-function)
9618         (flymake-proc--get-project-include-dirs-imp)
9619         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
9620         (flymake-proc--find-make-buildfile)
9621         (flymake-proc--get-syntax-check-program-args)
9622         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
9623         (flymake-proc--init-find-buildfile-dir)
9624         (flymake-proc--get-full-nonpatched-file-name)
9625         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
9626         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
9627         (flymake-proc--temp-source-file-name)
9628         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
9629         (flymake-proc--start-syntax-check-process)
9630         (flymake-proc--compilation-is-running)
9631         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
9632         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
9633         (flymake-proc--clear-project-include-dirs-cache)
9634         (flymake-proc--project-include-dirs-cache)
9635         (flymake-proc--get-system-include-dirs)
9636         (flymake-proc--get-project-include-dirs)
9637         (flymake-proc--add-project-include-dirs-to-cache)
9638         (flymake-proc--get-project-include-dirs-from-cache)
9639         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
9640         (flymake-proc--process-filter) (flymake-proc--create-master-file)
9641         (flymake-proc--find-buffer-for-file)
9642         (flymake-proc--copy-buffer-to-temp-buffer)
9643         (flymake-proc--read-file-to-temp-buffer)
9644         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
9645         flymake-proc--check-include)
9646         (flymake-proc--check-patch-master-file-buffer)
9647         (flymake-proc--master-file-compare)
9648         (flymake-proc--find-possible-master-files)
9649         (flymake-proc--included-file-name, flymake-proc--same-files)
9650         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
9651         (flymake-proc--clear-buildfile-cache)
9652         (flymake-proc--add-buildfile-to-cache)
9653         (flymake-proc--get-buildfile-from-cache)
9654         (flymake-proc--find-buildfile-cache)
9655         (flymake-proc--get-real-file-name-function)
9656         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
9657         (flymake-proc--get-file-name-mode-and-masks)
9658         (flymake-proc--processes): Rename to internal symbol from
9659         flymake-proc- version.
9661 2017-10-03  João Távora  <joaotavora@gmail.com>
9663         Completely rewrite Flymake's subprocess output processing
9665         Instead of parsing and matching regexps line-by-line, insert
9666         subprocess output in a separate buffer and parse using
9667         `search-forward-regexp'.  This eventually enables multi-line error
9668         patterns and simplifies code all around.  Store per-check information
9669         in the subprocess using `process-get' and `process-put'.  Treat error
9670         messages, warnings, etc. more generically as "diagnostics".  Create
9671         these objects as soon as possible, reusing existing `flymake-ler'
9672         structure.  Fix some whitespace.
9674         * lisp/progmodes/flymake.el (cl-lib): Require also when
9675         loading.
9676         (flymake--fix-line-numbers): Rename from
9677         flymake-fix-line-numbers.  Simplify.
9678         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
9679         plain diagnostics list into alist format expected by
9680         flymake-highlight-err-lines.
9682         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
9683         process output and parse in dedicated output buffer.
9684         (flymake-proc--diagnostics-for-pattern): New helper function.
9685         (flymake-process-sentinel): Call flymake-post-syntax-check with
9686         collected diagnostics.  Kill output buffer.
9687         (flymake-post-syntax-check): Receive diagnostics as third argument.
9688         (flymake-parse-output-and-residual, flymake-new-err-info)
9689         (flymake-parse-residual, flymake-parse-err-lines)
9690         (flymake-split-output, flymake-proc-parse-line)
9691         (flymake-output-residual): Delete.
9692         (flymake-start-syntax-check-process): Use make-process.  Setup
9693         dedicated an output buffer
9695 2017-10-03  João Távora  <joaotavora@gmail.com>
9697         Flymake provides flymake-report re-entry point for backends
9699         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
9700         Simplify.  Call flymake-report.
9702         * lisp/progmodes/flymake.el (flymake-report): New function.
9704 2017-10-03  João Távora  <joaotavora@gmail.com>
9706         Split Flymake into flymake.el into flymake-proc.el (again!)
9708         After deciding that this work would continue on master only, which
9709         caused two commits named
9711            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
9713         and
9715            Revert "Add flymake-backends defcustom"
9717         to be added to the emacs-26 branch, further discussion reversed that
9718         decision.
9720            See:
9722              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
9723              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
9725         This means that those two commits MUST be merged to master AFTER ALL.
9727         flymke-proc.el contains the main syntax-checking backend, while
9728         flymake.el keeps mostly the UI part.
9730         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
9732         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
9734 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
9736         Update authors.el
9738         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
9739         (authors-renamed-files-alist): Additions.
9741 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
9743         Give more helpful messages for python completion setup failures
9745         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
9746         case the completion setup failed with some exception, print out the
9747         exception type and message.  If libedit is detected, raise an
9748         exception, since this is known to fail.
9750 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
9752         Fix the --without-x build
9754         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
9755         frame_parent only in GUI builds to avoid compilation errors in
9756         --without-x builds.  (Bug#28611)
9758 2017-10-02  Paul Eggert  <eggert@day>
9760         Fix customization of zoneinfo-style-world-list
9762         A customizable variable's initial value cannot depend on that of
9763         another customizable variable, since the variables are initialized
9764         in other than textual order.  Problem reported by N. Jackson
9765         (Bug#24291).
9766         * lisp/time.el (display-time-world-list): Default to t,
9767         a special value that expands to zoneinfo-style-word-list
9768         if that works, and to legacy-style-word-list otherwise.
9769         (time--display-world-list): New function.
9770         (display-time-world, display-time-world-timer): Use it.
9772 2017-10-02  Alan Mackenzie  <acm@muc.de>
9774         Fix a CC Mode brace stack cache bug.
9776         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
9777         c-beginning-of-current-token after a failing search operation, to ensure we
9778         don't cache a point inside a token.
9780 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9782         * etc/PROBLEMS: Document Bug#26638.
9784 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9786         Prefer HTTPS to HTTP for gnu.org
9788         This fixes some URLs I omitted from my previous pass,
9789         notably those in lists.gnu.org.  Although lists.gnu.org
9790         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
9791         * lisp/erc/erc.el (erc-official-location):
9792         * lisp/mail/emacsbug.el (report-emacs-bug):
9793         Use https:, not http:.
9795 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9797         Merge from Gnulib
9799         This is mostly to change http: to https: in licenses.
9800         * COPYING, build-aux/config.guess, build-aux/config.sub:
9801         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
9802         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
9803         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
9804         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
9805         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
9806         * msdos/COPYING, nt/COPYING, src/COPYING:
9807         Copy from Gnulib.
9809 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
9811         Keep eww buffer current when looking up CSS on MDN
9813         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
9814         current when looking up CSS documentation on MDN.  This fixes a bug
9815         where the eww buffer's content sometimes get mangled when switching
9816         buffers mid-render.
9818 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
9820         Workaround for faulty localtime() under macOS 10.6
9822         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
9823         'decode-time' on times later than year -2**31 under macOS 10.6.
9824         See Bug#27706.
9826 2017-10-01  Alan Mackenzie  <acm@muc.de>
9828         Doc amendment for syntax-ppss.
9830         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
9831         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
9832         buffer.  Final part of the fix for bug #22983.
9834 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
9836         Remove incorrect NEWS entry about 'find-library'
9838         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
9839         'find-library' taking a prefix argument to pop to a different
9840         window.  This behavior was added in "Allow a prefix argument to
9841         find-library to pop to a different window" (commit e1f2d14a), and
9842         then removed in "New commands: find-library-other-window,
9843         find-library-other-frame" (commit 021430f4).
9845 2017-10-01  Alan Mackenzie  <acm@muc.de>
9847         Remove inadvertent changes to syntax.texi in last commit.
9849         * doc/lispref/syntax.texi (Position Parse): revert changes.
9851 2017-10-01  Alan Mackenzie  <acm@muc.de>
9853         Amend documentation for text-quoting-style becoming a user option.
9855         * doc/lispref/control.texi (Signaling Errors):
9856         * doc/lispref/display.texi (Displaying Messages):
9857         * doc/lispref/strings.texi (Formatting Strings):
9858         Edit for brevity, farming out the details to the new
9859         Text Quoting Style node.
9860         * doc/lispref/help.texi (Text Quoting Style): New section.
9861         Move detailed discussion of text-quoting-style here.
9862         Add discussion about how to output grave accent and apostrophe in
9863         documentation and messages.  Adjust xrefs to point to this section
9864         when appropriate.
9865         * etc/NEWS: text-quoting-style semantics have not changed.
9867 2017-10-01  Alan Mackenzie  <acm@muc.de>
9869         Make the value nil in text-quoting-style mean what it does in Emacs 25.
9871         This is a partial reversion of yesterday's commit by the same author, which
9872         changed the meaning of nil and introduced the new value t.
9874         * src/doc.c (text_quoting_style, text-quoting-style)
9875         (internal--text-quoting-flag): Revert yesterday's changes.
9877         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
9879         * etc/NEWS: Amend the entry for text-quoting-style.
9881         * doc/lispref/control.texi (Signalling Errors)
9882         * doc/lispref/display.texi (Displaying Messages)
9883         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
9884         grave rather than nil to inhibit translation of quotes.
9886         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
9887         proposed new default, t.
9889 2017-10-01  Alan Mackenzie  <acm@muc.de>
9891         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
9893         A value of nil for text-quoting-style now means "no translation".  t means
9894         "Use curved quotes if displayable".
9896         * src/doc.c (text-quoting-style (function)): modify for new semantics.
9897         (text-quoting-style (variable)): Amend the doc string, set the default value
9898         to t.
9900         * lisp/cus-start.el: (top level): Create a customize entry for
9901         text-quoting-style in group display.
9903         * etc/NEWS: Amend the entry for text-quoting-style.
9905         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
9906         quotes to curved quotes, and how to influence or inhibit it.
9908         * doc/lispref/control.texi (Signalling Errors)
9909         * doc/lispref/display.texi (Displaying Messages)
9910         * doc/lispref/strings.texi (Formatting Strings): Describe binding
9911         text-quoting-style to nil to inhibit unwanted quote translation.
9913         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
9914         from a variable to a user option.  Describe its changed set of values.  State
9915         that it can be customized freely.
9917 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
9919         eshell.texi improvements
9921         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
9922         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
9923         (Aliases): Add $*, $1, $2, ... to the variable index.
9925 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
9927         Fix ns-win.el on GNUstep
9929         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
9930         don't try it when not using Cocoa.
9932 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
9934         Fix reference style in org.texi
9936         * doc/misc/org.texi (A Texinfo example): Fix reference style.
9938 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
9940         Improve handling of iconification of child frames (Bug#28611)
9942         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
9943         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
9944         (iconify_child_frame): New option.
9945         * lisp/cus-start.el (iconify-child-frame): Add customization
9946         properties.
9947         * doc/lispref/frames.texi (Child Frames): Describe new option
9948         `iconify-child-frame'.  Don't index "top-level frame" twice.
9950 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
9952         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
9954         It broke the established argument handling methods provided by eshell
9955         aliases (Bug#28568).
9956         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
9957         arguments in aliases.
9958         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
9959         ARGS.
9961 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
9963         Make "unsafe directory" error message more informative (Bug#865)
9965         * lisp/server.el (server-ensure-safe-dir): Produce a description for
9966         each "unsafe" condition.
9968 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
9970         Fix slot typecheck in eieio-persistent
9972         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
9973           An `or' form can specify multiple potential classes (or null) as
9974           valid types for a slot, but previously only the final element of the
9975           `or' was actually checked. Now returns all valid classes in the `or'
9976           form.
9977           (eieio-persistent-validate/fix-slot-value): Check if proposed value
9978           matches any of the valid classes.
9979         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
9980           (eieio-test-multiple-class-slot): Test this behavior.
9982 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
9984         Fix semantic-ia-fast-jump
9986         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
9987         Use `pop-to-buffer-same-window' (bug#28645).
9989 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
9991         Bind vc-region-history
9993         * lisp/vc/vc-hooks.el (vc-prefix-map):
9994         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
9995         `vc-insert-headers' (Bug#27644).
9996         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
9997         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
9998         'C-x v h' with `vc-insert-headers'.
9999         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
10001 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
10003         Exit macro definition on undefined keys
10005         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
10006         (Bug#28008)
10008 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
10010         Reset bidi-paragraph-direction on article rendering
10012         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
10013         bidi-paragraph-direction on article rendering.  (Bug#28454)
10015 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10017         Fix url-http use of url-current-object
10019         * lisp/url/url-http.el (url-http): Bind url-current-object before
10020         calling url-http-find-free-connection.  (Bug#28515)
10022 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
10024         Avoid assertions in vc-hg.el on MS-Windows
10026         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
10027         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
10028         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
10029         instead of relying on Unix file-name syntax.  This avoids
10030         assertion violations on MS-Windows.
10032 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10034         Improve documentation of 'copy-sequence'
10036         * src/fns.c (Fcopy_sequence):
10037         * doc/lispref/sequences.texi (Sequence Functions): Mention the
10038         exception when copying an empty sequence.  (Bug#28627)
10040 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10042         Minor update of ack.texi
10044         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
10045         contributions.
10047 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
10049         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
10051 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10053         Improve indexing of multi-file/buffer Isearch commands
10055         * doc/emacs/maintaining.texi (Identifier Search): Change wording
10056         of index entries to make them different from those for multi-file
10057         isearch commands.  (Bug#28584)
10058         * doc/emacs/search.texi (Other Repeating Search): Index the
10059         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
10060         each index entry close to its subject.
10062 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
10064         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
10066         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
10067         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
10068         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
10069         functions.
10070         (lcms-cam02-ucs): Refactor.
10071         (syms_of_lcms2): Declare new functions.
10072         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
10073         (lcms-jmh->cam02-ucs-silver): New tests.
10074         * etc/NEWS: Mention new functions.
10076 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10078         Fix uses of @kindex in the Emacs manual
10080         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
10081         * doc/emacs/mark.texi (Global Mark Ring)
10082         (Disabled Transient Mark):
10083         * doc/emacs/buffers.texi (Select Buffer):
10084         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
10085         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
10087 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10089         Merge from gnulib
10091         This incorporates:
10092         2017-09-28 string: code style
10093         2017-09-25 sys_types: update URL
10094         2017-09-23 install-sh: do not assume / = //
10095         2017-09-21 mktime: port to OpenVMS
10096         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
10097         * m4/sys_types_h.m4: Copy from Gnulib.
10098         * lib/gnulib.mk.in: Regenerate.
10100 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10102         Prefer HTTPS to HTTP for gnu.org
10104         This catches some URLs I missed in my previous scan,
10105         or perhaps were added after the scan.
10107 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10109         Wait for frame visibility with timeout in w32term too
10111         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
10112         variable.
10113         (x_make_frame_visible): Wait for frame to become visible according to
10114         its value.
10115         (input_signal_count): Remove.
10117 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10119         Bring back the busy wait after x_make_frame_visible (Bug#25521)
10121         But wait specfically for a MapNotify event, and only for a
10122         configurable amount of time.
10123         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
10124         variable.
10125         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
10126         (x_make_frame_visible): Call x_wait_for_event at the end.
10127         * etc/NEWS: Announce x_wait_for_event.
10129 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10131         Fix last doc string change in simple.el
10133         * lisp/simple.el (shell-command-saved-pos)
10134         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
10136 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10138         Revert "bug#28609: simple.el"
10140         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
10142 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10144         bug#28609: simple.el
10146         Correct grammar; also, call a pair a pair.
10148         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
10150 2017-09-29  Rasmus  <rasmus@gmx.us>
10152         Merge branch 'emacs-26' into scratch/org-mode-merge
10154 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
10156         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
10158         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
10159         above the `debugger' frame, rather than assuming there will be a
10160         `signal' frame.
10162 2017-09-28  Alan Third  <alan@idiocy.org>
10164         Revert "Fix build on macOS (bug#28571)"
10166         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
10168         Prematurely pushed.
10170 2017-09-28  Alan Third  <alan@idiocy.org>
10172         Fix build on macOS (bug#28571)
10174         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
10175         [DARWIN_OS]: Undefine.
10177 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
10179         Add tests for `css-current-defun-name'
10181         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
10182         (css-test-current-defun-name-nested)
10183         (css-test-current-defun-name-complex): New tests for
10184         `css-current-defun-name'.
10186 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
10188         In w32fullscreen_hook don't add decorations to undecorated frames
10190         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
10191         remove) decorations for undecorated frames.
10193 2017-09-28  João Távora  <joaotavora@gmail.com>
10195         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
10197         In other words, re-coalesce the two files,
10198         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
10199         into a single one, lisp/progmodes/flymake.el.
10201         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
10202         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
10203         are kept in place in the new lisp/progmodes/flymake.el.
10205         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
10207         Don't merge this back to master as development happening there builds
10208         upon this work. See also
10209         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
10211 2017-09-28  João Távora  <joaotavora@gmail.com>
10213         Revert "Add flymake-backends defcustom"
10215         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
10217         Don't merge this back to master as development happening there builds
10218         upon this work. See also
10219         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
10221 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10223         * src/editfns.c (styled_format): Fix typo in previous change.
10225 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10227         Avoid some unnecessary copying in Fformat etc.
10229         This patch is just for performance; it should not affect behavior.
10230         On my platform, it made the microbenchmark (format "%S" load-path)
10231         run about 45% faster.  It should also speed up calls like (message
10232         "%s" STRING).
10233         * src/callint.c (Fcall_interactively):
10234         * src/dbusbind.c (XD_OBJECT_TO_STRING):
10235         * src/editfns.c (Fmessage, Fmessage_box):
10236         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
10237         Use styled_format instead of Fformat or Fformat_message,
10238         to avoid unnecessary copying.
10239         * src/editfns.c (styled_format): New arg NEW_RESULT.
10240         All uses changed.  Reuse an input string if it has the
10241         right value and if !NEW_RESULT.
10242         * src/lisp.h (style_format): New decl.
10244 2017-09-26  John Wiegley  <johnw@newartisans.com>
10246         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
10248 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10250         bug#28609: simple.el
10252         Correct grammar; also, call a pair a pair.
10254 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10256         Use a separate syntax-ppss cache for narrowed buffers
10258         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
10259         New variable, to contain the data from `syntax-ppss-last' and
10260         `syntax-ppss-cache'.
10261         (syntax-ppss-cache, syntax-ppss-last): Remove.
10262         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
10263         (syntax-ppss-flush-cache): Flush both caches.
10264         (syntax-ppss--data): Return the appropriate last result and
10265         buffer cache for the current restriction.
10266         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
10268 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
10270         Improve python3-compatibility of fallback completion (Bug#28499)
10272         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
10273         inspect.getfullargspec instead of inspect.getargspec to avoid a
10274         deprecation warning on every usage of eldoc in python-mode.
10276 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10278         Fix subr-x-tests when running from elc
10280         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
10281         Use `eval' around the `should-error' cases.
10283 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10285         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
10287 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10289         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
10291         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
10292         variable alias for `sh-basic-offset'.
10293         (sh-mode, sh-smie--indent-continuation)
10294         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
10295         with `sh-basic-offset'.
10297 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10299         Fix loading of smie-config rules (Bug#24848)
10301         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
10302         instead of `setq-default'.
10303         (smie-config): Use `custom-initialize-set' instead of
10304         `custom-initialize-default' as the :initialize argument.
10306         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
10307         we call `smie-config-guess' so that the user will have a chance to
10308         find the correct docstring to consult.  Remove hedging comments
10309         regarding use of abnormal hooks.
10311 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10313         Reset default-directory inside *xref-grep* buffer
10315         * lisp/progmodes/xref.el (xref-collect-matches):
10316         Reset default-directory, too. (Bug#28575)
10318 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
10320         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
10321         code for smb.
10323 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10325         Loosen strict parsing requirement for desktop files
10327         There are other desktop-looking files, for instance those having to do
10328         with MIME typess, that would benefit from being able to be read by this
10329         function.  It helps to have some flexibility.
10330         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
10331         * test/lisp/xdg-tests.el: Remove a test.
10333 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10335         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
10337 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
10339         Fix documentation of `make-frame' and related variables and hooks
10341         * lisp/frame.el (before-make-frame-hook)
10342         (after-make-frame-functions, frame-inherited-parameters)
10343         (make-frame): Fix doc-strings.
10344         * doc/lispref/frames.texi (Creating Frames): Fix description
10345         of `make-frame' and related variables and hooks.
10347 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
10349         Accept new `always' value for option `buffer-offer-save'
10351         Also revert ee512e9a82
10353         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
10354           allows a third symbol value, `always'. A buffer where this option is
10355           set to `always' will always be offered for save by
10356           `save-some-buffers'.
10357           (save-some-buffers): Check the exact value of this buffer-local
10358           variable. No longer check the buffer name, or the value of
10359           `write-contents-functions'.
10360         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
10361         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
10362           names.
10363         * etc/NEWS: Mention in NEWS.
10365 2017-09-24  Alan Third  <alan@idiocy.org>
10367         Improve new NS scrolling variable names
10369         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
10370         'ns-use-mwheel-acceleration'.
10371         (ns-touchpad-scroll-line-height): Replace with
10372         'ns-mwheel-line-height'.
10373         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
10374         * etc/NEWS: Change variable names.
10376 2017-09-24  Philipp Stephani  <phst@google.com>
10378         Document 'replace-buffer-contents' in the manual.
10380         * doc/lispref/text.texi (Replacing): New node.
10382 2017-09-23  Alan Third  <alan@idiocy.org>
10384         Fix undecorated frame resizing issues on NS (bug#28512)
10386         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
10387         toolbar on undecorated frames.
10388         (EmacsView::initFrameFromEmacs): Group window flags correctly.
10390 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10392         Fix doc string of 'dired-listing-switches'
10394         * lisp/dired.el (dired-listing-switches): Fix the quoting
10395         example.  (Bug#28569)
10397 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10399         Documentation improvements for 'display-line-numbers'
10401         * doc/emacs/display.texi (Display Custom): Document a few more
10402         options for display-line-numbers.  (Bug#28533)  Fix a typo.
10404 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10406         Fix last change in bat-mode.el
10408         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
10409         change.  (Bug#28311)
10411 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10413         Fix restoring in GUI sessions desktop saved in TTY sessions
10415         * lisp/frameset.el (frameset-filter-font-param): New function.
10416         (frameset-persistent-filter-alist): Use it for processing the
10417         'font' frame parameter.  (Bug#17352)
10419 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10421         Improve syntax highlighting in bat-mode
10423         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
10424         font-locking of environment variables.  Suggested by Achim Gratz
10425         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
10427 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10429         Document the 'list-FOO' convention
10431         * doc/lispref/tips.texi (Coding Conventions): Document the
10432         list-FOO convention.
10434 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
10436         Expose viewing conditions in CAM02-UCS metric
10438         Also add tests from the colorspacious library.  Finally, catch an
10439         errant calculation, where degrees were not being converted to radians.
10440         * src/lcms.c (deg2rad, default_viewing_conditions):
10441         (parse_viewing_conditions): New functions.
10442         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
10443         the docstring and explain viewing conditions.  JCh hue is given in
10444         degrees and needs to be converted to radians.
10445         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
10446         API needlessly impure.
10447         * test/src/lcms-tests.el: Reword commentary.
10448         (lcms-rgb255->xyz): New function.
10449         (lcms-cri-cam02-ucs): Fix let-binding.
10450         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
10452 2017-09-21  Alan Third  <alan@idiocy.org>
10454         Revert "Set frame size to actual requested size (bug#18215)"
10456         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
10458         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
10460 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10462         Add tests for Edebug
10464         * test/lisp/emacs-lisp/edebug-tests.el: New file.
10465         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
10467 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10469         Catch more messages in ert-with-message-capture
10471         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
10472         messages from prin1, princ and print.
10473         (ert--make-message-advice): New function.
10474         (ert--make-print-advice): New function.
10476 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10478         Support setting region from secondary selection and vice versa
10480         * lisp/mouse.el (secondary-selection-exist-p): New function to
10481         allow callers to tell existence of the secondary selection
10482         in current buffer.
10483         (secondary-selection-to-region): New function to set
10484         beginning and end of the region from those of the secondary
10485         selection.
10486         (secondary-selection-from-region): New function to set
10487         beginning and end of the secondary selection from those of
10488         the region.  (Bug#27530)
10490         * etc/NEWS: Mention the new functions.
10492 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10494         Fix new copy-directory bug with empty dirs
10496         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
10497         (Bug#28483#34).  This is another bug that I introduced in my
10498         recent copy-directory changes.
10499         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
10500         * test/lisp/files-tests.el (files-tests--copy-directory):
10501         Test for this bug.
10503 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
10505         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
10507 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
10509         Fix 2 testsuite tests for MS-Windows
10511         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
10512         create files with "*" in their names.
10513         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
10514         results to MS-Windows build.  Reported by Fabrice Popineau
10515         <fabrice.popineau@gmail.com>.
10517 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
10519         Rename timer-list to list-timers
10521         * doc/emacs/anti.texi (Antinews):
10522         * doc/lispref/os.texi (Timers):
10523         * etc/NEWS:
10524         * lisp/emacs-lisp/timer-list.el:
10525         (timer-list-mode): Rename timer-list to list-timers.
10527 2017-09-19  Alan Third  <alan@idiocy.org>
10529         Provide native touchpad scrolling on macOS
10531         * etc/NEWS: Describe changes.
10532         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
10533         mouse-wheel-progressive-speed): Set to smarter values for macOS
10534         touchpads.
10535         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
10536         calculate scrolling for touchpads and mouse wheels.
10537         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
10538         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
10539         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
10540         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
10541         * lisp/mwheel.el (mwheel-scroll): Use line count.
10542         * lisp/subr.el (event-line-count): New function.
10544 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10546         Fix MinGW64 build broken by recent MinGW64 import libraries
10548         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
10549         MinGW64 import libraries require that.  (Bug#28493)
10551         * src/Makefile.in: Adjust commentary to the new order of w32
10552         libraries.
10554 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10556         Fix crashes in 'move-point-visually' in minibuffer windows
10558         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
10559         comparing against the last valid glyph_row of a window glyph
10560         matrix.  (Bug#28505)
10562 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10564         * src/emacs.c (usage_message): Don't mention 'find-file'.
10566 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10568         Fix a minor inaccuracy in the Emacs manual
10570         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
10571         'find-file', as the implementation has changed.  Reported by
10572         Everton J. Carpes <everton.carpes@gmail.com> in
10573         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
10575 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10577         Fix errors in flyspell-post-command-hook
10579         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
10580         case of a nil Nth element of the language dictionary slot.  This
10581         avoids errors in 'flyspell-post-command-hook' when switching
10582         dictionaries with some spell-checkers.  (Bug#28501)
10584 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
10586         Work on Tramp's file-truename
10588         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
10589         Check also for symlinks.
10590         (tramp-sh-handle-file-truename): Move check for a symlink
10591         cycle to the end.  Do not blame symlinks which look like a
10592         remote file name.
10594         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
10596 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
10598         Fix bug with make-directory on MS-Windows root
10600         * lisp/files.el (files--ensure-directory): Treat any error, not
10601         just file-already-exists, as an opportunity to check whether DIR
10602         is already a directory (Bug#28508).
10604 2017-09-19  Tom Tromey  <tom@tromey.com>
10606         Fix log-view-diff-common when point is after last entry
10608         Bug#28466
10609         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
10610         entry, look at the previous revision.
10612 2017-09-18  Ken Brown  <kbrown@cornell.edu>
10614         Adapt fileio-tests--symlink-failure to Cygwin
10616         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
10617         [CYGWIN]: Skip the case of a symlink target starting with '\';
10618         this is treated specially on Cygwin.
10620 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
10622         Ignore buffers whose name begins with a space in save-some-buffers
10624         * lisp/files.el (save-some-buffers): Consider these buffers
10625           "internal", and don't prompt the user to save them.
10626         * doc/lispref/files.texi: Document.
10628 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10630         Improve tramp-interrupt-process robustness
10632         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
10633         process has disappeared.
10635 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10637         Minor Tramp doc update
10639         * doc/misc/tramp.texi (Frequently Asked Questions):
10640         Mention `vc-handled-backends'.
10642 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
10644         Fix gensym
10646         * lisp/subr.el (gensym): Actually implement the default prefix.
10647         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
10649 2017-09-18  Rasmus  <rasmus@gmx.us>
10651         Update Org to v9.1.1
10653         Please see etc/ORG-NEWS for major changes.
10655 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10657         Cleanup in files-tests.el
10659         * test/lisp/files-tests.el (files-tests--make-directory)
10660         (files-tests--copy-directory): Cleanup temporary directories.
10662 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10664         Remove old cl-assert calls in 'newline'
10666         * lisp/simple.el (newline): Remove cl-assert calls
10667         that didn't seem to be helping us debug Bug#18913,
10668         and that caused problems as reported in Bug#28280.
10669         Suggested by Glenn Morris (Bug#28280#8).
10671 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10673         Avoid crash with C-g C-g in GC
10675         Problem reported by Richard Stallman (Bug#17406).
10676         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
10677         * src/term.c (tty_send_additional_strings):
10678         Use only safe accessors, to avoid crash when C-g C-g in GC.
10680 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10682         Fix format-time-string %Z bug with negative tz
10684         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
10685         numeric zone is negative (Bug#28746).
10686         * test/src/editfns-tests.el (format-time-string-with-zone):
10687         Add test for this bug.
10689 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10691         message-citation-line-format %Z is now tz name
10693         * etc/NEWS:
10694         * lisp/gnus/message.el (message-citation-line-format):
10695         Fix doc to match new behavior (Bug#28476).
10697 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
10699         Use doc-view or pdf-tools on any window-system
10701         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
10702         window-system.
10704 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10706         Fix bug with min and max and NaNs
10708         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
10709         mistakenly yielded 0.  Also, pacify GCC in a better way.
10710         * test/src/data-tests.el (data-tests-min): Test for the bug.
10712 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
10714         Fix recently-introduced copy-directory bug
10716         Problem reported by Andrew Christianson (Bug#28451):
10717         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
10718         destination directory if it does not exist, even if it is a
10719         directory name.  Simplify, and omit unnecessary test for an
10720         already-existing non-directory target, since make-directory
10721         diagnoses that for us now.
10722         * test/lisp/files-tests.el (files-tests--copy-directory):
10723         Test for this bug.
10725 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
10727         Merge from Gnulib
10729         This incorporates:
10730         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
10731         2017-09-13 all: Replace many more http URLs by https URLs
10732         * build-aux/config.guess, build-aux/config.sub:
10733         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
10734         * lib/allocator.h, lib/count-leading-zeros.h:
10735         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
10736         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
10737         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
10738         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
10739         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
10740         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
10741         Copy from Gnulib.
10742         * lib/gnulib.mk.in: Regenerate.
10744 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
10746         Fix compatibility problem in Tramp
10748         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
10750         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
10751         (top): Do not call `tramp-change-syntax' anymore.
10752         (tramp-compat-directory-name-p): New defalias.
10754         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
10755         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
10756         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
10757         (tramp-smb-handle-copy-file): Use it.
10759         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
10760         Modify test.
10762 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
10764         Avoid GCC 7 compilation warning in eval.c
10766         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
10767         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
10768         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
10770 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
10772         Adapt Tramp version.  Do not merge
10774         * doc/misc/trampver.texi:
10775         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
10776         (customize-package-emacs-version-alist): Add Tramp version
10777         integrated in Emacs 26.1.
10779 2017-09-17  Tom Tromey  <tom@tromey.com>
10781         Search for Syntax section when viewing MDN
10783         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
10784         "Syntax" section.
10786 2017-09-17  Tom Tromey  <tom@tromey.com>
10788         Allow smerge-keep-current to work for empty hunks
10790         Bug#25555
10791         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
10792         match-end.
10793         * test/lisp/vc/smerge-mode-tests.el: New file.
10795 2017-09-17  Tom Tromey  <tom@tromey.com>
10797         Call vc-setup-buffer in vc-git-log-{in,out}going
10799         Bug#28427:
10800         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
10801         vc-setup-buffer.
10803 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10805         Fix last change to textmodes/page-ext.el
10807         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
10808         while we build it (bug#28431).
10810 2017-09-16  Glenn Morris  <rgm@gnu.org>
10812         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
10814 2017-09-16  Glenn Morris  <rgm@gnu.org>
10816         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
10818         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
10820 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10822         Fix compilation warning in etags.c
10824         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
10825         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
10827 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10829         Add lisp variable lcms-d65-xyz
10831         This serves as the default optional argument for functions in this
10832         library.
10833         * src/lcms.c (lcms-d65-xyz): New variable.
10834         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
10835         color1 -> color2.
10836         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
10837         (lcms-colorspacious-d65): New variable.
10839 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
10841         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
10843 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
10845         Avoid MinGW64 compiler warnings in unexw32.c
10847         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
10848         64-bit build.
10850 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10852         Start emacs-26 release branch
10854         * configure.ac:
10855         * nt/README.W32:
10856         * README:
10857         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
10859         * lisp/cus-edit.el (customize-changed-options-previous-release):
10860         Update value to "25.3".
10862 2017-09-16  Alan Mackenzie  <acm@muc.de>
10864         Cope better with C++ and Objective-C protection keywords in class declarations
10866         This fix fixes the fontification of a method inside a class at the time it is
10867         typed, when there is a protection keyword clause preceding it.
10869         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
10870         keywords.
10871         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
10872         clauses too eagerly.
10874         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
10875         lang defconsts and defvars.
10877         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
10878         keyword following a semicolon or brace, move forward over it before attempting
10879         to parse a type.
10881 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10883         Fix order of sorted overlays returned by 'overlays-at'
10885         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
10886         list of results, to have their order as per the documentation.
10887         (Bug#28390)
10889         * etc/NEWS: Mention the change in the behavior of overlays-at.
10891 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10893         Disable execution of unsafe Lisp by Enriched Text mode
10895         * src/xdisp.c (handle_display_spec): If the display property is
10896         wrapped in 'disable-eval' form, disable Lisp evaluation while
10897         processing this property.
10898         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
10899         If that argument is false, don't evaluate Lisp while processing
10900         display properties.
10902         * lisp/textmodes/enriched.el
10903         (enriched-allow-eval-in-display-props): New defcustom.
10904         (enriched-decode-display-prop): If
10905         enriched-allow-eval-in-display-props is nil, wrap the display
10906         property with 'disable-eval' to disable Lisp evaluation when the
10907         display property is processed for display.  (Bug#28350)
10908         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
10909         enriched text.
10911         * doc/lispref/display.texi (Display Property): Document the
10912         'disable-eval' wrapping of 'display' properties.
10913         * doc/emacs/text.texi (Enriched Properties): Document
10914         'enriched-allow-eval-in-display-props'.
10916         * etc/NEWS: Describe the security issues with Enriched Text mode
10917         and their solution.
10919 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10921         Avoid MinGW64 compilation warning in w32.c
10923         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
10925 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10927         Fix MS-Windows build broken by recent changes in lcms.c
10929         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
10930         and cmsxyY2XYZ function pointers.
10931         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
10932         cmsxyY2XYZ from liblcms2.
10933         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
10934         corresponding function pointers.
10935         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
10936         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
10938 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10940         Avoid GCC 7 compilation warning in data.c
10942         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
10943         warnings.  Reported by Fabrice Popineau
10944         <fabrice.popineau@centralesupelec.fr>.
10946 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10948         Add lcms-temp->white-point and initial tests
10950         * src/lcms.c (lcms-temp->white-point): New function.
10951         * test/src/lcms-tests.el: New file.
10953 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10955         Use cl-print in timer list
10957         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
10958         for handling functions.
10959         (timer-list-mode): Capitalize major mode name.  Set bidi direction
10960         as in tabulated-list-mode.
10962 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10964         Make landscape layout with geometry package rather than a PostScript special.
10966         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
10967         default class option.
10968         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
10969         request to `cal-tex-insert-preamble' function call within the
10970         class option string.
10971         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
10972         to `cal-tex-insert-preamble' function, as it is default.
10973         (cal-tex-insert-preamble): Suppress landscape and size
10974         argument, and replace them by a class-options string
10975         argument. Do not insert any longer "\special{landscape}" in
10976         case of landscape layout, as the job is made by the geometry
10977         package.
10979 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
10981         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
10983 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
10985         One more attempt to avoid GCC 7 warnings in dispnew.c
10987         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
10988         eassert, to avoid compilation warnings about NULL pointer
10989         dereferences.
10991 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
10993         Fix color-distance docstring
10995         Also feed the translated color to the metric argument.
10996         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
10997         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
10998         instead of the function's color arguments.
11000 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
11002         Improve Tramp behavior according to bug#27986
11004         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
11005         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
11006         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11007         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
11008         directory name when existing.  Use `file-name-as-directory'
11009         where appropriate.
11011 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11013         More JSON optimization
11015         Last I checked, inlining json-skip-whitespace didn't make much
11016         difference.  However, changing defsubsts to define-inline results
11017         in roughly 15% reduction in read time on a 200K file.
11018         * lisp/json.el (json-advance, json-peek, json-pop):
11019         (json-skip-whitespace): Inline with define-inline.
11020         (json-read-keyword): Don't use whitespace syntax.
11021         (json-add-to-object): Simpler condition.
11023 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11025         Avoid crashes due to invalid error forms from sentinels/filters
11027         * src/process.c (exec_sentinel_error_handler): Make sure the error
11028         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
11030 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11032         Avoid compilation warnings with GCC 7 on MS-Windows
11034         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
11035         (w32_read_socket): Initialize variables to shut up bogus
11036         compilation warnings from GCC 7.
11037         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
11038         to avoid compiler warnings about printing signed values using %x
11039         format spec.
11040         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
11041         compiler warning about possible NULL pointer dereference.
11042         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
11044 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11046         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
11048         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
11049         case only to avoid unused macros warning otherwise.
11051 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11053         In w32heap.c bump up DUMPED_HEAP_SIZE
11055         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
11056         to 13*1024*1024 for 32-bit non-wide-integer builds.
11058 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11060         Bind n,p in timer-list
11062         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
11063         to next- and previous-line, respectively.
11065 2017-09-14  Glenn Morris  <rgm@gnu.org>
11067         * lisp/net/tls.el (tls-program): Fix :version.
11069 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11071         * configure.ac (--with-lcms2, --without-lcms2): New options.
11073 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11075         Avoid 64-bit compilation warnings in unexw32.c
11077         * src/unexw32.c (pDWP): New macro.
11078         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
11079         pDWP for printing values that can be either 32-bit or 64-bit wide.
11081 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11083         Fix warnings about formats in printf-like functions on MS-Windows
11085         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
11086         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
11087         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
11088         for the details.
11089         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
11090         definition specific to MinGW64.
11091         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
11092         __mingw_printf__ in ANSI-compatible mode.
11094 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11096         Support lcms2 in MS-Windows builds
11098         * lisp/term/w32-win.el (dynamic-library-alist): Include
11099         association for the lcms2 library.
11101         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
11102         DEF_DLL_FN to define pointers to dynamically loaded lcms2
11103         functions.
11104         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
11105         (cmsCIECAM02Done): New macros.
11106         (init_lcms_functions, Flcms2_available_p): New functions.
11107         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
11108         init_lcms_functions.
11109         (syms_of_lcms2): Defsubr lcms2-available-p.
11110         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
11112         * configure.ac: Include lcms2 in the final report and in
11113         emacs_config_features.
11115         * nt/INSTALL:
11116         * nt/INSTALL.W64: Update with the information about lcms2 library.
11118 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11120         Port renameat_noreplace to openSUSE 12.3
11122         Problem reported by M. Nomiya in:
11123         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
11124         * src/sysdep.c (renameat_noreplace):
11125         Call renameat2 only if CYGWIN.
11127 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11129         Prefer HTTPS to FTP and HTTP in documentation
11131         Most of this change is to boilerplate commentary such as license URLs.
11132         This change was prompted by ftp://ftp.gnu.org's going-away party,
11133         planned for November.  Change these FTP URLs to https://ftp.gnu.org
11134         instead.  Make similar changes for URLs to other organizations moving
11135         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
11136         fsf.org when this works, as this will further help defend against
11137         man-in-the-middle attacks (for this part I omitted the MS-DOS and
11138         MS-Windows sources and the test tarballs to keep the workload down).
11139         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
11140         for now.
11142 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11144         Prefer HTTPS to HTTP for gnu.org
11146         This patch just changes code files; a followup companion patch
11147         (much larger) will affect the commentary.  This part is
11148         separated out to make it easier to review.
11149         * .dir-locals.el (change-log-mode):
11150         * lisp/org/org-info.el (org-info-other-documents)
11151         (org-info-map-html-url):
11152         * lisp/org/ox-html.el (org-html-creator-string):
11153         * lisp/startup.el (fancy-startup-text, fancy-about-text)
11154         (fancy-splash-head):
11155         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
11156         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
11157         Use HTTPS instead of HTTP.
11159 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
11161         Add tests for color.el
11163         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
11164         docstrings that RGB triplets should use four digits per component.
11165         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
11166         warning.
11168         * test/lisp/color-tests.el: New file.
11170 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11172         Make gnutls-verify-error work again with url-retrieve-synchronously
11174         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
11175         we're doing async connections (bug#26835).
11177         * lisp/url/url-parse.el (url): Add an asynchronous slot.
11179         * lisp/url/url.el (url-asynchronous): New variable.
11180         (url-retrieve-internal): Store the value.
11181         (url-retrieve-synchronously): Bind the variable.
11183 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11185         Improve backward compatibility of tramp-tests
11187         * test/lisp/net/tramp-tests.el (seq): Don't require.
11188         (tramp--test-emacs26-p): New defun.
11189         (tramp-test10-write-region, tramp-test11-copy-file)
11190         (tramp-test12-rename-file, tramp-test15-copy-directory)
11191         (tramp-test21-file-links): Use it.
11192         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
11194 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11196         * lisp/net/trampver.el (customize-package-emacs-version-alist):
11198         Add Tramp version integrated in Emacs 25.3.
11200 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11202         Add clarification to if-let* docstring
11204         Also make its behavior consistent with and-let* in that empty bindings
11205         results in success, not failure.
11206         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
11208 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11210         Make fully qualified domain names more fully qualified
11212         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
11213         system-name without any periods as a fully qualified domain name.
11215 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11217         Remove unused file lib/getopt_.h
11219         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
11220         on 2011-01-08, but I forgot to remove the old file.
11222 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11224         Remove "baroque" use of prefix argument from gensym
11226         'cl-gensym' was simply moved here, but let us take an opportunity to
11227         shed some historical baggage.
11228         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
11229         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
11230         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
11231         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
11233 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11235         Provide an lcms2 feature
11237         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
11239 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11241         Add lcms2 interface
11243         configure.ac: Add boilerplate for configuring and detecting liblcms2.
11244         etc/NEWS: Mention new configure option and color-distance change.
11245         src/Makefile.in: Add references to lcms.c and liblcms.
11246         src/emacs.c: Define lcms2 symbols.
11247         src/lcms.c: New file.
11248         src/lisp.h: Add declaration for lcms2.
11249         src/xfaces.c: Add optional METRIC argument.
11251 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11253         Add other D series white points and some simple conversions
11255         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
11256         constants.
11257         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
11258         (color-lch-to-lab): New functions.
11260 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11262         Permit non-integral color gradients
11264         * lisp/color.el (color-gradient): Float the step-number.
11266 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11268         Protect against malformed MIME messages that cause inf-loop (bugfix)
11270         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
11271         Protect against malformed MIME messages that cause inf-loop.
11273 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11275         Merge from Gnulib
11277         This incorporates:
11278         2017-09-13 all: prefer https: URLs
11279         This just changes http: to https: in comments,
11280         in files copied from Gnulib.
11282 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
11284         Call vc-resynch-buffer in vc-git-resolve-when-done
11286         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
11287         Call vc-resynch-buffer on the current file (bug#28121).
11288         Move its autoload to before this function.
11290 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
11292         Allow write-contents-functions to short-circuit buffer save
11294         Bug#28412
11296         * lisp/files.el (basic-save-buffer): Re-arrange function so that
11297           write-contents-functions are run earlier. If they return non-nil,
11298           consider the buffer saved without requiring the buffer to be
11299           visiting a file.
11300           (save-some-buffers): This function should consider any buffer with a
11301           buffer-local value for write-contents-functions eligible for
11302           saving.
11303         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
11304           test.
11305         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
11306         * etc/NEWS: And in NEWS.
11308 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11310         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
11312 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11314         Less chatter for ’make info/dir’
11316         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
11317         that an ordinary make says just "GEN info/dir" rather than
11318         also having a seemingly-unrelated mv line.
11320 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11322         Tweak Gnus doc re gnus-copy-file
11324         * doc/misc/gnus.texi (Saving Articles):
11325         Document behavior with directory name targets (Bug#27986).
11326         Problem reported by Katsumi Yamaoka in:
11327         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
11329 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11331         Update uses of if-let and when-let
11333         * lisp/dom.el (dom-previous-sibling):
11334         * lisp/emacs-lisp/package.el (package--with-work-buffer):
11335         (package--sort-deps-in-alist, package--sort-by-dependence):
11336         (package-install-from-archive, package-install):
11337         (package-menu-execute, package-menu--populate-new-package-list):
11338         * lisp/filenotify.el (file-notify--rm-descriptor):
11339         (file-notify--event-watched-file, file-notify--event-file-name):
11340         (file-notify--event-file1-name, file-notify-rm-watch):
11341         (file-notify-valid-p):
11342         * lisp/gnus/message.el (message-toggle-image-thumbnails):
11343         * lisp/gnus/nnimap.el (nnimap-request-move-article):
11344         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
11345         * lisp/mpc.el (mpc-format):
11346         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
11347         (eww-save-history):
11348         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
11349         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
11350         * lisp/svg.el (svg-remove):
11351         * lisp/textmodes/css-mode.el (css--named-color):
11352         (css--colon-inside-funcall):
11353         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
11354         (html-current-buffer-ids): Use if-let* and when-let* instead.
11356 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11358         Implement and-let*
11360         This also includes changes to if-let and when-let.  The single tuple
11361         special case is ambiguous, and binding a symbol to nil is not as
11362         useful as binding it to its value outside the lexical scope of the
11363         binding.  (Bug#28254)
11364         * etc/NEWS: Mention.
11365         * lisp/emacs-lisp/subr-x.el (internal--listify):
11366         (internal--build-binding-value-form): Extend to account for
11367         solitary symbols and (EXPR) items in binding varlist.
11368         (if-let*, when-let*): Nix single tuple case and incumbent
11369         bind-symbol-to-nil behavior.
11370         (and-let*): New macro.
11371         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
11372         they implicitly gain the new features without breaking existing code.
11373         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
11374         single-tuple special case, lack of binding solitary symbols to nil,
11375         and the introduction of uninterned symbols for (EXPR) bindings.  Add
11376         SRFI-2 test suite adapted to Elisp.
11378 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
11380         Fix minor typos in the Emacs manual
11382         * doc/emacs/text.texi (Org Organizer):
11383         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
11385 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11387         Merge Emacs 25.3 fixes
11389         The security patches released for Emacs 25.3 were less drastic
11390         than what we had immediately put into master.  Adjust master to
11391         match 25.3 (Bug#28350).
11392         * lisp/textmodes/enriched.el (enriched-translations):
11393         Re-enable FUNCTION and display translations that are safe.
11394         (enriched-handle-display-prop): Bring back.
11395         (enriched-decode-display-prop): Bring back, but disable
11396         the unsafe part.
11398 2017-09-12  Alan Mackenzie  <acm@muc.de>
11400         Don't match C++ template delims starting within a token.  FIxes bug #28418.
11402         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
11403         attempted match from the start of a token (in particular, "<<"), move to the
11404         next token rather than the nex character before searching for the next "<".
11406 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11408         Move gensym to core Elisp
11410         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
11411         after make-symbol.
11412         * etc/NEWS: Mention.
11413         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
11414         gensym-counter.
11415         (cl-gensym): Alias to gensym.
11416         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
11417         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
11418         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
11419         (ert--expand-should-1, ert--expand-should):
11420         (ert--should-error-handle-error):
11421         * lisp/emacs-lisp/generator.el (cps--gensym):
11422         * lisp/emacs-lisp/gv.el (setf):
11423         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
11424         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
11425         (pcase--funcall, pcase--u1): Use gensym.
11426         * lisp/subr.el (gensym-counter): New variable.
11427         (gensym): New function, assimilated from cl-lib.
11429 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11431         Fix cl-gentemp
11433         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
11434         (cl-gentemp): Use it.  Change prefix to "T".
11436 2017-09-12  Sam Steingold  <sds@gnu.org>
11438         gnus-score-file-name: Do not append empty suffix.
11440 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
11442         Extend tramp-tests according to bug#27986
11444         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11445         (tramp-test12-rename-file, tramp-test15-copy-directory)
11446         (tramp-test21-file-links): Extend tests.
11447         (tramp-test13-make-directory, tramp-test14-delete-directory):
11448         Specifiy error symbol in `should-error'.
11450 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11452         Add cl-print method for hash tables
11454         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
11456 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11458         Add docstrings to cl-print entry points
11460         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
11461         (cl-prin1, cl-prin1-to-string): Add docstrings.
11463 2017-09-12  Glenn Morris  <rgm@gnu.org>
11465         Improve reproducibility of generated leim-list.el
11467         * lisp/international/quail.el (quail-update-leim-list-file):
11468         Sort the quail directory listing, for more stable output.
11470 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
11472         Include sxhash of object with printed bytecode
11474         This printing, while succint, is rather opaque.  At least give an
11475         immediate clue of whether different byte code printouts are for the
11476         same or different byte code objects.
11477         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
11478         printed token "#<bytecode>".
11480 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11482         Update documentation of 'max-lisp-eval-depth'
11484         * doc/lispref/eval.texi (Eval): Update the documented default
11485         value of 'max-lisp-eval-depth'.
11487 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11489         Another place to produce debugging output in etags
11491         * lib-src/etags.c (Ruby_functions): One more place to print
11492         debugging output under --debug.
11494 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11496         Improve documentation of etags-related features
11498         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
11499         'xref-prompt-for-identifier'.  (Bug#28403)
11500         (Etags Regexps): Document \D back references in etags regexps.
11502 2017-09-11  Alan Third  <alan@idiocy.org>
11504         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
11506         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
11507         Change macOS compatibility from 10.9 to 10.10.
11509 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
11511         Further optimization in Tramp's file name decomposition
11513         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
11514         components.  Call `custom-set-variables' after loading.
11515         (tramp-build-prefix-format, tramp-build-prefix-regexp)
11516         (tramp-build-method-regexp)
11517         (tramp-build-postfix-method-format)
11518         (tramp-build-postfix-method-regexp)
11519         (tramp-build-prefix-ipv6-format)
11520         (tramp-build-prefix-ipv6-regexp)
11521         (tramp-build-postfix-ipv6-format)
11522         (tramp-build-postfix-ipv6-regexp)
11523         (tramp-build-postfix-host-format)
11524         (tramp-build-postfix-host-regexp)
11525         (tramp-build-file-name-regexp)
11526         (tramp-build-completion-file-name-regexp): New defuns.
11527         (tramp-prefix-format, tramp-prefix-regexp)
11528         (tramp-method-regexp, tramp-postfix-method-format)
11529         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
11530         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
11531         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
11532         (tramp-postfix-host-regexp)
11533         (tramp-remote-file-name-spec-regexp)
11534         (tramp-file-name-structure, tramp-file-name-regexp)
11535         (tramp-completion-file-name-regexp): Convert defuns into defvars.
11536         (tramp-prefix-regexp-alist)
11537         (tramp-postfix-method-regexp-alist)
11538         (tramp-prefix-ipv6-regexp-alist)
11539         (tramp-postfix-ipv6-regexp-alist)
11540         (tramp-postfix-host-regexp-alist)
11541         (tramp-remote-file-name-spec-regexp-alist): Remove.
11542         (tramp-build-remote-file-name-spec-regexp)
11543         (tramp-build-file-name-structure): Simplify.
11544         (tramp-completion-file-name-regexp-alist): New defconst.
11545         (tramp-tramp-file-p, tramp-dissect-file-name)
11546         (tramp-make-tramp-file-name)
11547         (tramp-completion-make-tramp-file-name)
11548         (tramp-rfn-eshadow-update-overlay-regexp)
11549         (tramp-register-file-name-handlers)
11550         (tramp-completion-handle-file-name-all-completions)
11551         (tramp-completion-dissect-file-name, tramp-clear-passwd):
11552         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
11553         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
11554         (tramp-compute-multi-hops): Use variables but functions for
11555         file name components.
11557         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
11558         Use variables but functions for file name components.
11560 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11562         Port tramp-tests to new copy-directory behavior
11564         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
11565         Use directory name as arg for copy-directory when we want
11566         the special behavior.
11568 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11570         Adjust thumbs to new rename-file behavior
11572         * etc/NEWS: Mention this.
11573         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
11574         as special only if it is a directory name.  When there is
11575         a marked list, turn the destination into a directory name
11576         if it is not already.
11578 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11580         Adjust ob-tangle to new copy-file behavior
11582         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
11583         Port to new copy-file behavior.
11585 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11587         Make gnus-copy-file act like copy-file etc.
11589         * etc/NEWS: Mention this.
11590         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
11591         as special only if it is a directory name.
11593 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11595         Make write-file act like copy-file etc.
11597         Change write-file to be consistent with the new behavior
11598         of copy-file, etc.
11599         * etc/NEWS: Mention this.
11600         * lisp/files.el (write-file): Treat the destination as special
11601         only if it is a directory name.
11603 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11605         Make copy-directory act like copy-file etc.
11607         Do the special dance with the destination only if it is a
11608         directory name, for consistency with copy-file etc. (Bug#27986).
11609         * doc/emacs/files.texi (Copying and Naming):
11610         * doc/lispref/files.texi (Create/Delete Dirs):
11611         * etc/NEWS: Document this.
11612         * lisp/files.el (copy-directory): Treat NEWNAME as special
11613         only if it is a directory name.
11615 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11617         Fix some make-directory bugs
11619         * lisp/files.el (files--ensure-directory): New function.
11620         (make-directory): Use it to avoid bugs when (make-directory FOO t)
11621         is invoked on a non-directory, or on a directory hierarchy that
11622         is being built by some other process while Emacs is running.
11623         * test/lisp/files-tests.el (files-tests--make-directory): New test.
11625 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11627         Fix race with rename-file etc. with dir NEWNAME
11629         This changes the behavior of rename-file etc. slightly.
11630         The old behavior mostly disagreed with the documentation, and had
11631         a race condition bug that could allow attackers to modify victims'
11632         write-protected directories (Bug#27986).
11633         * doc/lispref/files.texi (Changing Files): Document that in
11634         rename-file etc., NEWFILE is special if it is a directory name.
11635         * etc/NEWS: Document the change in behavior.
11636         * src/fileio.c (directory_like): Remove.  All uses removed.
11637         (expand_cp_target): Test only whether NEWNAME is a directory name,
11638         not whether it is currently a directory.  This avoids a race.
11639         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
11640         Document behavior if NEWNAME is a directory name.
11641         (Frename_file): Simplify now that the destdir behavior occurs
11642         only when NEWNAME is a directory name.
11643         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11644         (tramp-test12-rename-file, tramp--test-check-files):
11645         Adjust tests to match new behavior.
11647 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11649         Extend --debug printouts in etags
11651         * lib-src/etags.c (regex_tag_multiline, readline): Under
11652         "--debug", print tags found via regexps.
11654 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11656         Add --debug option to etags
11658         * lib-src/etags.c (make_tag): Print found tags under --debug.
11659         (longopts): Add --debug.
11661 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11663         Spelling fixes
11665         * lisp/progmodes/cc-langs.el:
11666         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
11667         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
11669 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11671         Merge from gnulib
11673         This incorporates:
11674         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
11675         2017-08-24 warnings: fix compilation with old autoconf
11676         2017-08-23 glob: merge from glibc with Zanella glob changes
11677         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
11678         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
11679         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
11680         * m4/warnings.m4:
11681         Copy from Gnulib.
11682         * lib/gnulib.mk.in: Regenerate.
11684 2017-09-10  Ken Brown  <kbrown@cornell.edu>
11686         Implement renameat_noreplace on recent Cygwin
11688         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
11689         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
11690         (Bug#27986)
11692 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11694         Avoid warnings about file names in autoloads on MS-Windows
11696         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
11697         avoid warnings from find-file-noselect when making autoloads.  For
11698         the details, see
11699         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
11701 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
11703         Avoid looking at localized strings
11705         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
11706         localized strings.
11707         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
11708         parsing l10n strings doesn't error but is essentially a no-op.
11710 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11712         * etc/NEWS.25: Document 25.3 changes.
11714 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
11716         Remove unsafe enriched mode translations
11718         * lisp/gnus/mm-view.el (mm-inline-text):
11719         Do not worry about enriched or richtext type.
11720         * lisp/textmodes/enriched.el (enriched-translations):
11721         Remove translations for FUNCTION, display (Bug#28350).
11722         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
11724 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11726         Be more consistent about "directory name" in manual
11728         This clarifies the documentation, partly in response to the
11729         discussion in Bug#27986.
11731 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11733         Remove more compilation warnings in MinGW64 build
11735         * src/w32.c (faccessat, map_w32_filename):
11736         * src/w32fns.c (w32_wnd_proc):
11737         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
11738         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
11739         warnings with GCC 7 and later.
11741 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11743         Improve --enable-gcc-warnings for MinGW64
11745         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
11746         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
11747         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
11748         * lib-src/etags.c (process_file_name, TeX_commands):
11749         * src/buffer.c (fix_overlays_before):
11750         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
11751         (cons_to_signed):
11752         * src/editfns.c (Ftranslate_region_internal):
11753         Prefer UNINIT to some stray value, as this simplifies
11754         code-reading later.
11755         * src/eval.c (CACHEABLE): New macro.
11756         (internal_lisp_condition_case): Use it.
11757         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
11759 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11761         Fix font-lock in Compilation mode
11763         * lisp/progmodes/compile.el (compilation-face): Restore function
11764         lost during recent changes.  (Bug#28349)
11766 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
11768         Add function to read all entries in a group
11770         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
11771         entries in all groups were read and returned by xdg-desktop-read-file.
11772         * lisp/xdg.el (xdg-desktop-read-group): New function.
11773         (xdg-desktop-read-file): Use it.
11774         * test/data/xdg/malformed.desktop: New file.
11775         * test/data/xdg/test.desktop: Add another section.
11776         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
11777         in another group.  Test reading a prescribed group.  Test detecting a
11778         malformed key=value.
11780 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
11782         Reduce Tramp's memory usage
11784         Construct Tramp syntax strings and regular expressions once instead
11785         of every time they are used, and store them in alists keyed by Tramp
11786         syntax.
11787         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
11788         (tramp-build-file-name-structure): New functions.
11789         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
11790         (tramp-method-regexp-alist)
11791         (tramp-postfix-method-format-alist)
11792         (tramp-postfix-method-regexp-alist)
11793         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
11794         (tramp-postfix-ipv6-format-alist)
11795         (tramp-postfix-ipv6-regexp-alist)
11796         (tramp-postfix-host-format-alist)
11797         (tramp-postfix-host-regexp-alist)
11798         (tramp-remote-file-name-spec-regexp-alist)
11799         (tramp-file-name-structure-alist): New constants.
11800         (tramp-lookup-syntax): New function.
11801         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
11802         (tramp-postfix-method-format, tramp-postfix-method-regexp)
11803         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
11804         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
11805         (tramp-postfix-host-format, tramp-postfix-host-regexp)
11806         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
11807         Use it.
11809 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11811         Fix compilation warnings in MinGW64 build using GCC 7
11813         Reported by Richard Copley <rcopley@gmail.com>.
11814         * src/w32heap.c (init_heap): Declare enable_lfh only for
11815         mingw.org's MinGW build.
11817         * src/w32console.c (w32con_write_glyphs):
11818         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
11819         mismatches of data type vs format spec.
11821         * src/w32fns.c (compute_tip_xy):
11822         * src/w32proc.c (stop_timer_thread):
11823         * src/w32notify.c (remove_watch):
11824         * src/eval.c (internal_lisp_condition_case):
11825         * src/editfns.c (Ftranslate_region_internal):
11826         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
11827         (cons_to_signed):
11828         * src/buffer.c (fix_overlays_before): Initialize variables to
11829         avoid compiler warnings.
11831         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
11832         variables to avoid compilation warnings.
11834 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11836         Avoid infloop when scrolling under scroll-preserve-screen-position
11838         * src/window.c (window_scroll_pixel_based): If screen position is
11839         to be preserved, make sure its recorded Y coordinate is outside
11840         the scroll margin.  (Bug#28342)
11842 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
11844         Clarification in tramp-texi
11846         * doc/misc/tramp.texi (Connection caching): Two connections are
11847         regarded as different now when they differ in the port number only.
11849 2017-09-09  Miles Bader  <miles@gnu.org>
11851         * admin/quick-install-emacs: Tweak configure.ac parsing
11853 2017-09-09  Miles Bader  <miles@gnu.org>
11855         Use text-property buttons in rcirc-markup-urls
11857         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
11858         instead of `make-button'; the former is much more efficient in large
11859         buffers, and for the purposes of rcirc, changes no functionality.
11861 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11863         Fix line-pixel-height for lines of variable height
11865         * src/xdisp.c (Fline_pixel_height): Start moving from the
11866         beginning of the screen line, to capture the full metrics of the
11867         line.  (Bug#28391)
11869 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
11871         New variable 'dired-confirm-killing-deleted-buffers'
11873         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
11874         New variable.
11875         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
11876         visiting deleted files without confirming if
11877         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
11878         * etc/NEWS: Document the change.
11880 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
11882         Support SVN files with svn:externals property
11884         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
11885         marked with the svn:externals property.
11887 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
11889         List locally removed files in vc-dir with SVN back-end
11891         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
11892         with ?! as needs-update.
11894 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
11896         Fix Rmail editing with reapplying encoding to message body
11898         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
11899         content-type in edited headers, look for one in original
11900         headers and add it to edited headers.  (Bug #26918)
11901         Use a marker to track start of new body, so that
11902         content-transfer-encoding gets applied only to body.  (Bug #27353).
11903         Ensure blank line at end of message after encoding, not
11904         before.
11906 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11908         Document last change in dired.el
11910         * etc/NEWS (Dired): Document the last change in dired.el.
11911         (Bug#27435)
11913 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
11915         Make mouse clicks in Dired more customizable
11917         * lisp/dired.el (dired-mouse-find-file): Allow callers to
11918         specify functions to visit file/directory.
11919         (dired-mouse-find-file-other-window)
11920         (dired-mouse-find-file-other-frame): New functions to visit
11921         files in another window/frame.  (Bug#27435)
11923 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11925         Avoid compiler warnings on MS-Windows with GCC 6 and 7
11927         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
11928         bit-shifting, to avoid compiler warnings.
11929         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
11930         a warning.  For details of the warning, see
11931         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
11932         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
11933         in that build.
11934         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
11935         function is not used in that build.
11937         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
11939 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11941         Fix 'directory-file-name' on DOS_NT systems as well
11943         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
11944         to be consistent with last change.
11946         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
11947         Disable on MS-Windows.
11948         (fileio-tests--directory-file-name-dos-nt)
11949         (fileio-tests--file-name-as-directory-dos-nt): New tests.
11951 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
11953         Fix various verilog-mode.el issues.
11955         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
11956         "*/*", msg2284. Reported by Jonathan Ferguson.
11957         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
11958         by Victor Lau.
11959         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
11960         verilog-substitute-file-name-path): Support -F in verilog getopt files,
11961         bug1171. Reported by George Cuan.
11962         (verilog-do-indent): Fix misindenting symbols starting with t,
11963         bug1169. Reported by Hoai Tran.
11964         (verilog-read-auto-template-middle): Fix slow template matching on
11965         AUTOINST. Reported by Jeffrey Huynh.
11966         (verilog-pretty-expr): The extra whitespace addition before "=" operators
11967         is now done only if the whole assignment block contains the 2-character
11968         "<=" operator.  Remove the unused argument _myre.  Use `unless',
11969         `save-excursion' and `when' functions where possible.  Internal variables
11970         refactored for clarity.  Follow elisp convention for closing parentheses.
11971         By Kaushal Modi.
11972         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
11973         refactored for clarity.  Earlier EDPOS argument was expected to be a
11974         marker; it is now renamed to END and is now expected to be a position.
11975         Use `when' instead of `if'.  By Kaushal Modi.
11976         (electric-verilog-terminate-line): Remove the unused second argument from
11977         `verilog-pretty-expr' call.  By Kaushal Modi.
11978         (verilog-calc-1): Fix indentation of a virtual class definition after a
11979         typedef class, bug1080.  By Kaushal Modi.
11981 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
11983         Don't use summary window to visit group buffer (bugfix)
11985         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
11986         the window to open the group buffer doesn't visit the summary buffer.
11987         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
11988         by trying to select nonexistent summary window.
11990 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11992         Fix bug: (directory-file-name "///") returned "//"
11994         * src/fileio.c (directory_file_name): For "///" and longer,
11995         return "/", not "//", as per POSIX.
11996         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
11997         (fileio-tests--file-name-as-directory): New tests.
11999 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12001         Remove obsolete vc-mistrust-permissions doc
12003         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
12004         for vc-mistrust-permissions, which no longer exists.
12006 2017-09-07  Alan Third  <alan@idiocy.org>
12008         Set frame size to actual requested size (bug#18215)
12010         * src/nsterm.m (x_set_window_size): Don't use
12011         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
12013 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12015         autogen.sh: omit bogus chatter if no .git
12017         Problem reported by Angelo Graziosi in:
12018         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
12019         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
12021 2017-09-07  Glenn Morris  <rgm@gnu.org>
12023         Skip emacsclient tests if --enable-profiling was used
12025         * test/lib-src/emacsclient-tests.el
12026         (emacsclient-test-call-emacsclient): Make it a macro.
12027         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
12028         (emacsclient-test-alternate-editor-allows-arguments)
12029         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
12031 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
12033         Fix a minor markup problem in ELisp manual
12035         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
12036         @example and @group.  For the details, see
12037         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
12039 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
12041         Add XDG desktop file parsing and tests
12043         * lisp/xdg.el: Add support for Desktop Entry Specification.
12044         (xdg--user-dirs-parse-line): Check if file is readable.
12045         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
12046         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
12047         New functions.
12048         * test/lisp/xdg-tests.el:
12049         * test/data/xdg/test.desktop:
12050         * test/data/xdg/wrong.desktop: New files.
12052 2017-09-06  Glenn Morris  <rgm@gnu.org>
12054         Allow for adjusting line length of test backtraces
12056         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
12057         (%.log): Respect backtrace line length.
12059 2017-09-06  Glenn Morris  <rgm@gnu.org>
12061         Allow customizing line length of ert backtraces in batch mode
12063         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
12064         Make it a user option.
12065         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
12067 2017-09-06  Glenn Morris  <rgm@gnu.org>
12069         Minor emacsclient-tests simplification
12071         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
12072         Simplify.  Also work when running installed.
12074 2017-09-06  Alan Third  <alan@idiocy.org>
12076         Revert "Force screen update after drawing cursor glyph (bug#23774)"
12078         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
12080         See bug#28358
12082 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12084         Refactor some loops in mailcap.el
12086         * lisp/net/mailcap.el (mailcap-mime-types):
12087         (mailcap-file-default-commands): Convert nested maps to loops.
12089 2017-09-05  Glenn Morris  <rgm@gnu.org>
12091         emacsclient-tests: remove some debug statements
12093         * test/lib-src/emacsclient-tests.el
12094         (emacsclient-test-call-emacsclient): Remove debug statements.
12096 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
12098         Handle non-zero exit status from psql more gracefully
12100         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
12101         exit statuses from `psql -ltX' more gracefully by returning nil.
12103         * test/lisp/progmodes/sql-tests.el
12104         (sql-tests-postgres-list-databases-error): New test.
12106 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
12108         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
12110         * src/w32proc.c (sys_kill): Preserve the up/down state of the
12111         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
12113 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
12115         * src/image.c (Fimagemagick_types): Doc fix.
12117 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12119         Move soundex.el test to a proper test
12121         * test/lisp/soundex-tests.el: New file.
12122         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
12124 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12126         Add tests for mailcap.el
12128         * test/data/mailcap/mime.types: New file.
12129         * test/lisp/net/mailcap-tests.el: New file.
12131 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
12133         Doc precisment about remote link targets
12135         * doc/lispref/files.texi (Truenames): Explain handling of
12136         targets of `file-truename' and `make-symbolic-link', which
12137         look like a remote file name.
12139         * etc/NEWS: Precise examples for symlinks which look like
12140         remote file names.  MUSTBENEW of `write-region' is not
12141         propagated to file name handlers.
12143 2017-09-05  John Wiegley  <johnw@newartisans.com>
12145         Remove an opinionated section on "What Eshell is not"
12147         I don't find this information to accurately reflect possible use cases
12148         for Eshell; plus, it doesn't offer much in the way of information,
12149         just opinion.
12151 2017-09-05  Ken Brown  <kbrown@cornell.edu>
12153         Fix configure test for Xpm
12155         Problem reported by Ashish Shukla in
12156         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
12157         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
12158         noX/xpm.h in configure test.
12160 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
12162         Revert recent float→double Motif change
12164         Problem reported by Martin Rudalics in:
12165         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
12166         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
12167         (x_set_toolkit_scroll_bar_thumb)
12168         (x_set_toolkit_horizontal_scroll_bar_thumb):
12169         Go back to using ‘float’ temporaries rather than ‘double’.
12170         Although quite possibly this masks an underlying bug,
12171         we lack time to look into that now.
12173 2017-09-04  Glenn Morris  <rgm@gnu.org>
12175         emacsclient-tests: add some debug statements
12177         * test/lib-src/emacsclient-tests.el
12178         (emacsclient-test-call-emacsclient): Add debug statements.
12180 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
12182         Work on Tramp's (symbolic) links
12184         * doc/misc/tramp.texi (Traces and Profiles): Mention the
12185         backtrace when tramp-verbose is greater than or equal to 10.
12187         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
12188         Use `tramp-handle-add-name-to-file'.
12190         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
12191         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
12193         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
12195         * lisp/net/tramp-smb.el (tramp-smb-errors):
12196         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
12197         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
12198         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
12199         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
12200         if one of the attributes is non-nil.
12201         (tramp-smb-handle-file-local-copy): Use `file-truename'.
12202         (tramp-smb-handle-file-truename): Move to tramp.el.
12203         (tramp-smb-handle-insert-directory): Show symlinks.
12204         (tramp-smb-handle-make-symbolic-link): Improve.
12205         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
12207         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
12208         (tramp-handle-file-truename): New defuns.
12210         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
12211         (tramp--test-check-files): Make check for "smb".
12213 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12215         Embed JSON readtable into json-read
12217         Also unroll dispatch into a cond.
12218         * lisp/json.el (json-readtable): Remove.
12219         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
12220         (json-read): Use the macro.
12222 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12224         Hexify strings in EWW search queries
12226         Previously, inputting "cats & dogs" would lose dogs because the
12227         ampersand signifies a query parameter.  Instead, hexify each word while
12228         preserving quotes with split-string.
12229         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
12230         with + separators, instead of replacing whitespace with +.
12232 2017-09-03  Glenn Morris  <rgm@gnu.org>
12234         emacsclient-tests: call-process may return non-integer
12236         * test/lib-src/emacsclient-tests.el
12237         (emacsclient-test-alternate-editor-allows-arguments)
12238         (emacsclient-test-alternate-editor-allows-quotes):
12239         Handle non-integer return from call-process.
12241 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
12243         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
12245 2017-09-03  Alan Third  <alan@idiocy.org>
12247         Force screen update after drawing cursor glyph (bug#23774)
12249         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
12250         drawing the glyph over the cursor.
12252 2017-09-03  Alan Mackenzie  <acm@muc.de>
12254         Correct the fontification of quote marks after buffer changes in CC Mode.
12256         * lisp/progmodes/cc-defs.el
12257         (c-search-forward-char-property-with-value-on-char): New macro.
12259         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
12260         (c-parse-quotes-after-change): Rewrite the functions, simplifying
12261         considerably, and removing unnecessary optimizations.
12262         Invalidate two caches after manipulating text properties.
12264 2017-09-03  Alan Mackenzie  <acm@muc.de>
12266         Fix fontification of "operator~" in C++ Mode.
12268         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
12269         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
12271         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
12272         two other symbols) as a cast without good evidence.  Prefer an overloaded
12273         operator in ambiguous cases.
12275 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
12277         In delete_frame do not delete terminal for any toolkit build
12279         * src/frame.c (delete_frame): Neither delete terminal for
12280         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
12281         Bug#27816).
12283 2017-09-02  Philipp Stephani  <phst@google.com>
12285         Improve error messages for improper plists (Bug#27726)
12287         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
12288         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
12289         improper plists instead of ‘listp.’
12291         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
12292         (lax-plist-get/odd-number-of-elements)
12293         (plist-put/odd-number-of-elements)
12294         (lax-plist-put/odd-number-of-elements)
12295         (plist-member/improper-list): Add unit tests.
12297 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12299         Fix decrypting in plstore.el on MS-Windows
12301         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
12302         raw-text, instead of using insert-file-contents-literally.
12303         (Bug#28114)
12305 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12307         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
12309 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12311         Rewrite Antinews for Emacs 26
12313         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
12314         * doc/lispref/elisp.texi (Top): Update the top-level menu's
12315         Antinews entry.
12316         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
12317         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
12318         entry.
12320         * etc/NEWS: Rearrange some entries in a more reasonable order.
12322 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12324         Fix a mis-binding in a test
12326         * test/lisp/progmodes/python-tests.el
12327         (python-shell-calculate-process-environment-3): Fix binding of
12328         process-environment.  A level of parens was missing.
12330         This was found after Glenn Morris noticed a similar problem with the
12331         patch for Bug#28319.
12333 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12335         Fix a mis-binding and a bad defun name in a test (Bug#28319)
12337         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
12338         emacsclient-test-call-emacsclient.
12339         (emacsclient-test-alternate-editor-allows-arguments)
12340         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
12341         process-environment.
12343         Thanks to Glenn Morris for noticing these errors.
12345 2017-09-02  Glenn Morris  <rgm@gnu.org>
12347         * test/Makefile.in (check-no-automated-subdir): Silence by default.
12349         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
12351 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
12353         Turn off checkdoc complaint about default argument order
12355         * etc/NEWS: Mention change.
12356         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
12357         Disable by default, note version.
12359 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
12361         Stop emacsclient tests hanging (Bug#28319)
12363         * test/lib-src/emacsclient-tests.el
12364         (emacsclient-test-alternate-editor-allows-arguments): Use a
12365         non-existent file to communicate with server, so that any existing
12366         default server will not be hijacked (in fact, the test does
12367         not need a server).
12368         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
12370 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
12372         * lisp/obsolete/html2text.el: Don't require CL
12374         (html2text-clean-anchor): Mark unused arg.
12376 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
12378         Don't remove undisplayers from inlined MIME parts (bugfix)
12380         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
12381         Don't remove undisplayers from inlined MIME parts (bugfix);
12382         Simplify criterion that finds attachments.
12384 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
12386         Make ucs-names a hash table (Bug#28302)
12388         * etc/NEWS: Mention the type change.
12389         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
12390         Hardcode BEL's name into the function instead of needlessly mapping
12391         over the hash table in the spirit of rassoc.
12392         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
12393         function docstrings.  Initialize a hash table for ucs-names--the
12394         number of entries is 42845 here.  Switch to hash-table
12395         getters/setters.
12396         (mule--ucs-names-annotation): Use hash-table getter.
12397         (char-from-name): Upcase the string if ignore-case is truthy.
12398         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
12400 2017-08-31  Alan Third  <alan@idiocy.org>
12402         Remove unneeded version checks (bug#28222)
12404         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
12405         check.
12406         * src/macfont.m (macfont_draw): Remove version check, and test for
12407         existence of CGContextSetFontSmoothingStyle.
12409 2017-08-31  Alan Mackenzie  <acm@muc.de>
12411         Fix a glitch in CC Mode's syntactic whitespace cache.
12413         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
12414         comment close at the end of a macro.
12416 2017-08-31  Alan Mackenzie  <acm@muc.de>
12418         Correct the fontification of C++ Mode enclosed declarations.
12420         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
12421         spurious check that the character before the start of an enclosed declaration
12422         must be ; or }.  It might also be {.
12424 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12426         In xterm.c fix some recently introduced compiler warnings
12428         * src/xterm.c (xaw_jump_callback)
12429         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
12430         -Wdouble-promotion warnings.
12432 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12434         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
12436         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
12437         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
12438         react to state changes received via ConfigureNotify.
12440 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
12442         Respect directory a user enters (bug#28299)
12444         * lisp/gnus/mm-decode.el (mm-save-part):
12445         Respect directory a user enters (bug#28299).
12447 2017-08-31  Samuel Freilich  <sfreilich@google.com>
12449         Do not split line before width of fill-prefix
12451         When auto-filling a paragraph, don't split a line before the width of the
12452         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
12453         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
12454         the line than the width of the fill-prefix.  This is a more general solution
12455         than the previous logic, which only skipped over the exact fill-prefix.  The
12456         fill-prefix doesn't necessarily match the prefix of the first line of a
12457         paragraph in adaptive-fill-mode.
12459 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12461         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
12463         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
12464         Consider any documentation that ended up in code as a docstring (e.g.,
12465         autogenerated (fn ARG1 ARG2) type things), not just what the user
12466         passed.
12468 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12470         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
12472         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
12473         to drop the docstring.  Add a simple docstring to the compiler-macro.
12475 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12477         Quote file-truename symlink to "../foo:bar:"
12479         Problem reported by Michael Albinus (Bug#28264#19).
12480         * lisp/files.el (files--splice-dirname-file): Fix bug where
12481         a relative symlink to "../foo:bar:" did not quote the result.
12483 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
12485         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
12487         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
12488         corresponding command-line argument, into quote- or space-separated
12489         tokens.  If a token starts with a quote, then it naturally is expected
12490         to end with a quote; escaping is not supported. This is enough to cope
12491         with the typical case of requiring the initial path to be quoted,
12492         common on Windows where it may contain spaces.
12493         * etc/NEWS: Document.
12494         * doc/emacs/misc.texi: Likewise.
12495         * doc/man/emacsclient.1: Tweak to remove the implication that only an
12496         editor can be specified (the manual already mentions a “command”).
12497         Fix a small error where “EDITOR” is referred to rather than
12498         “ALTERNATE_EDITOR”.
12499         * test/lib-src/emacsclient-tests.el: Add tests.
12501 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12503         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
12505 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
12507         Correct "hide others" shortcut on macOS (bug#28215)
12509         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
12511 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
12513         Sync NEWS with the documentation
12515         * etc/NEWS: Mark entries according to documentation.
12517         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
12519 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
12521         Improve symlinks for Tramp
12523         * lisp/files.el (files--splice-dirname-file): Quote whole file.
12525         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
12526         Do not expand TARGET, it could be remote.
12527         (tramp-sh-handle-file-truename): Check for cyclic symlink also
12528         in case of readlink.  Quote result if it looks remote.
12529         (tramp-sh-handle-file-local-copy): Use `file-truename'.
12531         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
12532         (tramp-test09-insert-file-contents): Test also file missing.
12533         (tramp-test21-file-links): Extend test.
12535 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
12537         Preserve display's foreground color when clearing internal borders (Bug#28278)
12539         * src/xterm.c (x_after_update_window_line): Preserve display's
12540         foreground color when clearing internal borders (Bug#28278).
12542 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
12544         Use cl-print for all values printed by `describe-variable'
12546         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
12547         global values too.
12549 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
12551         Minor simplification for byte-compile-constant-push
12553         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
12554         of the code from here...
12555         (byte-compile-constant-push): ... to here.  No need to bind
12556         byte-compile--for-effect anymore.
12558 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12560         Prefer file-name-quote to concat "/:"
12562         Suggested by Michael Albinus (Bug#28264#13).
12563         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
12564         rather than attempting to do it by hand.
12566 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12568         * configure.ac: fix typo in previous change
12570 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12572         Be more conservative in link time optimization doc
12574         While testing --enable-link-time-optimization with GCC 7.1.1
12575         I ran into a serious GCC code-generation bug which makes me
12576         think that --enable-link-time-optimization should be
12577         discouraged for typical installs (Bug#28213).  See:
12578         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
12580 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12582         Make garbage collection more conservative
12584         Check for a pointer anywhere within the object, as opposed to just
12585         the start of the object.  This is needed for gcc -Os -flto on
12586         x86-64 (Bug#28213).  This change means that the garbage collector
12587         is more conservative, and will incorrectly keep objects that it
12588         does not need to, but that is better than incorrectly discarding
12589         objects that should be kept.
12590         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
12591         this is easier to debug.
12592         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
12593         Now a function with two args, not a macro with three.
12594         All callers changed.
12595         (live_string_holding, live_cons_holding, live_symbol_holding)
12596         (live_misc_holding, live_vector_holding, live_buffer_holding):
12597         New functions, which check for any object containing the addressed
12598         byte, not just for an object at the given address.
12599         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
12600         (live_vector_p, live_buffer_p):
12601         Redefine in terms of the new functions.
12602         (live_float_p): Refactor slightly to match the new functions.
12603         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
12604         Don’t bother checking mark bits, as mark_object already does that,
12605         and omitting the checks here simplifies the code.  Although
12606         mark_maybe_object can continue to insist that tagged pointers
12607         still address the start of the object, mark_maybe_pointer now is
12608         more conservative and checks for pointers anywhere into an object.
12610 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12612         Improve stack-top heuristic
12614         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
12615         of the stack when scanning for heap roots, causing Emacs to crash
12616         later (Bug#28213).  The problem is that Emacs's hack for getting an
12617         address near the stack top does not work when link-time optimization
12618         moves stack variables around.
12619         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
12620         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
12621         (write_globals, scan_c_stream): Support noinline.
12622         * src/alloc.c (NEAR_STACK_TOP): New macro.
12623         (SET_STACK_TOP_ADDRESS): Use it.
12624         (flush_stack_call_func, Fgarbage_collect): Now noinline.
12626 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12628         Align stack bottom properly.
12630         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
12631         * src/emacs.c (main): Align stack-bottom variable as a pointer,
12632         since mark_memory requires this.
12634 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12636         Avoid spinning waiting for git-gui.exe on Windows
12638         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
12639         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
12640         process exited.  (Bug#28268)
12642 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12644         Document '--module-assertions'
12646         * doc/emacs/cmdargs.texi (Initial Options): Document the
12647         '--module-assertions' command-line option.
12648         * doc/lispref/loading.texi (Dynamic Modules): Add a
12649         cross-reference to the description of '--module-assertions'.
12651         * etc/NEWS: Update the NEWS entry for --module-assertions.
12653 2017-08-29  Alan Third  <alan@idiocy.org>
12655         Add news entry about new macOS features
12657         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
12658         ns-use-thin-smoothing.
12660 2017-08-29  Alan Third  <alan@idiocy.org>
12662         Fix cross macOS version building (bug#28222)
12664         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
12665         declaration.
12666         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
12668 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
12670         Enable thin font smoothing in macOS (bug#28222)
12672         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
12673         * src/macfont.m (macfont_draw): Use font smoothing.
12675 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12677         Minor improvement in documentation of display-line-numbers
12679         * doc/emacs/display.texi (Display Custom): Document the
12680         display-line-numbers-mode and related options.
12682 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12684         Avoid aborting in 'waitpid' on MS-Windows
12686         * src/w32proc.c (waitpid): Don't allow quitting if called with
12687         WNOHANG in OPTIONS.  (Bug#28268)
12689 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12691         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
12693         (sh-syntax-propertize-function): Fix off-by-one error.
12694         Fixes bug#23526.
12696 2017-08-29  Rasmus  <rasmus@gmx.us>
12698         Update Org to v9.0.10
12700         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
12701         release.
12703 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12705         Silence false alarms for symlinks to sources
12707         Problem reported by Glenn Morris (Bug#28264).
12708         * lisp/files.el (files--splice-dirname-file): New function.
12709         (file-truename, file-chase-links): Use it.
12711 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12713         Simplify remove_slash_colon
12715         * src/process.c (remove_slash_colon): Simplify
12716         and avoid a special case for "/:" by itself.
12718 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
12720         Remove font family from minibuffer-prompt face
12722         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
12723         minibuffer-prompt face.
12725 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
12727         Further fixes in tramp-smb.el
12729         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
12730         (tramp-smb-file-name-handler-alist): Use it.
12731         (tramp-smb-handle-make-symbolic-link): Unquote target.
12733         * test/lisp/net/tramp-tests.el
12734         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
12735         (tramp-test18-file-attributes, tramp-test21-file-links)
12736         (tramp--test-check-files): Use it.
12738 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12740         Don’t assume -g3 in .gdbinit
12742         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
12743         Use reasonable defaults if not in the symbol table.
12745 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
12747         Use string-match to check for dotfiles in ido
12749         * lisp/ido.el (ido-make-file-list): Use string-match to check
12750         for dotfiles instead of substring, as when using tramp
12751         simplified syntax ido-temp-list may contain empty strings.
12753 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
12755         Font-lock FDO desktop files correctly
12757         Single and double quotes do not have a special meaning in
12758         desktop files.
12759         https://standards.freedesktop.org/desktop-entry-spec/latest/
12760         * etc/NEWS: Mention new mode.
12761         * lisp/files.el (auto-mode-alist): Split out an entry for handling
12762         the .desktop extension with conf-desktop-mode.
12763         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
12764         variable with rules for booleans and format specifiers.
12765         (conf-unix-mode): Remove desktop file entry example from docstring.
12766         (conf-desktop-mode): New derived major mode.
12768 2017-08-27  Tom Tromey  <tom@tromey.com>
12770         Fix auto-fill bug in js-mode
12772         * lisp/progmodes/js.el (js-do-auto-fill): New function.
12773         (js-mode): Set normal-auto-fill-function.
12774         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
12775         test.
12777 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
12779         Disable completion while entering python multiline statements
12781         The "legacy" completion mechanism sends newlines to the running python
12782         process to get the list of completions, which confuses things if the
12783         user is in the middle of entering a multiline statement (Bug#28051).
12784         It's better to disable completion in this case.
12785         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
12786         (python-shell-prompt-set-calculated-regexps): Set it.
12787         (python-shell-completion-at-point): Return 'ignore' as the completion
12788         function when the current prompt is a block prompt.
12790 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
12792         Tramp cleanup
12794         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
12795         (tramp-sh-handle-make-symbolic-link): More robust check for
12796         TARGET remoteness.
12798         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
12799         Disable copying by tar temporarily, it doesn't work reliably.
12800         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
12801         (tramp-smb-handle-make-symbolic-link): Fix implementation.
12803         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
12805         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
12806         Extend test.
12808 2017-08-27  Glenn Morris  <rgm@gnu.org>
12810         Fix previous xterm.h change for non-gtk builds
12812         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
12814 2017-08-27  Philipp Stephani  <phst@google.com>
12816         Fix GdkSettings-related deprecation warnings
12818         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
12819         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
12820         instead of deprecated gtk_settngs_set_string_property otherwise.
12822 2017-08-27  Philipp Stephani  <phst@google.com>
12824         Always use gtk_window_move in new versions
12826         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
12827         GTK+.
12828         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
12830         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
12831         is ignored.
12833         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
12835 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
12837         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
12839         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
12840         narrowing, and widen the buffer before searching for the name of the
12841         file corresponding to the diff.
12843         With thanks to Noam Postavsky.
12845 2017-08-27  Philipp Stephani  <phst@google.com>
12847         Remove use of a deprecated GTK+ function in new versions
12849         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
12850         if available
12852 2017-08-27  Philipp Stephani  <phst@google.com>
12854         Stop using deprecated GdkScreen monitor functions in newer GDK
12856         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
12857         objects instead of the deprecated GdkScreen functions in GDK 3.22+
12859 2017-08-27  Philipp Stephani  <phst@google.com>
12861         Use GdkSeat in new GDK versions
12863         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
12864         GdkDeviceManager in GDK 3.20+
12866 2017-08-27  Philipp Stephani  <phst@google.com>
12868         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
12870 2017-08-27  Philipp Stephani  <phst@google.com>
12872         Remove call of deprecated GDK function
12874         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
12875         GDK 3.22 or later.
12877 2017-08-27  Alan Mackenzie  <acm@muc.de>
12879         Amend the CC Mode macro cache to cope with changes at the macro start
12881         Fixes bug #28233.
12883         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
12884         error.
12886 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12888         Fix over-protection of byte-compiled files
12890         Problem reported by Sven Joachim (Bug#28244).
12891         Also, fix similar problem for autoload files.
12892         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
12893         Set temp file modes to the buffer-file-name file modes (or 666
12894         if not available) as adjusted by umask.
12895         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
12896         Set temp file modes to 666 as adjusted by umask.
12898 2017-08-27  Tom Tromey  <tom@tromey.com>
12900         Refine conf-toml-mode font-lock
12902         Bug#28218
12903         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
12904         conf-toml-recognize-section.  Use \s- in variable regexp.
12905         (conf-toml-recognize-section): New function.
12907 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12909         Do not munge contents of local symbolic links
12911         This lets Emacs deal with arbitrary local symlinks without
12912         mishandling their contents (Bug#28156).  For example,
12913         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
12914         now consistently creates a symbolic link from '/tmp/x' to '~'.
12915         Formerly, it did that only if the working directory was on the
12916         same filesystem as /tmp; otherwise, it expanded the '~' to
12917         the user's home directory.
12918         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
12919         instead of rolling our own code.
12920         * lisp/files.el (files--name-absolute-system-p): New function.
12921         (file-truename, file-chase-links): Use it to avoid mishandling
12922         symlink contents that begin with ~.
12923         (copy-directory, move-file-to-trash):
12924         Use concat rather than expand-file-name, to avoid mishandling
12925         symlink contents that begin with ~.
12926         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
12927         target unless interactive.  Strip leading "/:" if interactive.
12928         (emacs_readlinkat): Do not prepend "/:" to the link target if
12929         it starts with "/" and contains ":" before NUL.
12930         * test/src/fileio-tests.el (try-link): Rename from try-char,
12931         and accept a string instead of a char.  All uses changed.
12932         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
12933         to test the new behavior.
12935 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
12937         Remove invalid regexp for shell builtins for wksh
12939         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
12940         be literal strings, so remove a regexp for wksh. In any case, it’s a
12941         defunct proprietary shell.
12943 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12945         Improve doc for file-name-absolute-p.
12947 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
12949         Fix Tramp part of Bug#28156
12951         * lisp/files.el (file-name-non-special): Use `file-name-quote'
12952         instead prefixing "/:", the file could already be quoted.
12954         * lisp/net/tramp.el (tramp-error): Handle null arguments.
12955         (tramp-handle-make-symbolic-link):
12956         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
12957         (tramp-sh-handle-add-name-to-file):
12958         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
12959         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
12960         stronger semantics in Emacs.  (Bug#28156)
12962         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
12963         Extend test.
12965 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12967         Fix bugs merged with bug#25428
12969         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
12970         (Bug#13926)  (Bug#25434)  (Bug#25435)
12972 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12974         Improve documentation of Info virtual files and nodes
12976         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
12977         (Bug#28237)
12979 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12981         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
12983 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
12985         Support multi-lingual detection of SEE ALSO man sections
12987         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
12988         section detection in several langages: French, German, Spanish,
12989         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
12991 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12993         Improve expand-file-name doc
12995         * doc/lispref/files.texi (Relative File Names, Directory Names)
12996         (File Name Expansion):
12997         * doc/lispref/minibuf.texi (Reading File Names):
12998         Document expand-file-name behavior with ~ more clearly
12999         and accurately.
13000         * doc/misc/org.texi (Batch execution): Simplify example
13001         script so that it does not need expand-file-name and thus
13002         will not mishandle file names with leading ~.
13004 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
13006         Support all perl variable declarators and prefixes (Bug#27613)
13008         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
13009         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
13010         'local', 'state', 'supersede', 'let', and 'temp'.
13012 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13014         Fix file-attributes race on GNU hosts
13016         * doc/lispref/files.texi (File Attributes):
13017         Document file-attributes atomicity.
13018         * etc/NEWS: Document the fix.
13019         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
13020         for diagnostics.  All callers changed.  On platforms like
13021         GNU/Linux that support O_PATH, fix a race condition in
13022         file-attributes and similar functions, so that these functions do
13023         not return nonsense if a directory entry is replaced while getting
13024         its attributes.  On non-GNU platforms, do a better (though not
13025         perfect) job of detecting the race, and return nil if detected.
13027 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13029         Simplify expand_and_dir_to_file
13031         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
13032         argument, since in practice it always has the default value.  All
13033         callers changed.  Prefer C99 style decls in nearby code.
13035 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
13037         Fix file-name completion on network shares
13039         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
13040         (Bug#28207)
13042 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13044         Fix a FIXME with an exegetical comment
13046         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
13047         regexp for wksh builtins.
13049 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13051         Minor docstring language fix
13053         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
13055 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13057         Remove old commented code from sh-script.el
13059         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
13060         and variable, commented since 2001.
13062 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13064         * lisp/emacs-lisp/package.el: Don't let failure stop us
13066         (package-activate-1): Don't throw an error for missing deps.
13067         (package-unpack): Don't bother compiling if activation failed.
13068         (package-initialize): Report failures but keep activating other packages.
13070 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13072         Prefer ‘double’ for FP temps in xterm.c
13074         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
13075         (x_set_toolkit_scroll_bar_thumb)
13076         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
13077         ‘float’ for individual local floating-point temporaries.
13079 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13081         Avoid using string-to-multibyte in ispell.el
13083         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
13084         decode-coding-string instead. Note that decode-coding-string returns a
13085         string that satisfies multibyte-string-p even if its input is pure
13086         ASCII and the third argument is t, so the result of
13087         ispell-get-decoded-string is always a multibyte string.
13089 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13091         Store the regexp just when there are matches
13093         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
13094         disabled and there are no matches do not store REGEXP
13095         in hi-lock-interactive-patterns.
13097 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13099         Keep face available if there are no matches
13101         If font-lock-mode is disabled in the current buffer, and
13102         there are no matches for REGEXP, then keep FACE available
13103         for a next search.
13104         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
13105         hi-lock--unused-faces if font-lock-mode is disabled and
13106         there are no matches.
13107         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
13109 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
13111         Minor improvements for tramp-interrupt-process, documentation
13113         * doc/lispref/processes.texi (Signals to Processes):
13114         * etc/NEWS: Document interrupt-process-functions.
13116         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
13117         `process-live-p'.
13119         * src/process.c (Vinterrupt_process_functions): Fix docstring.
13121         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13122         Extend test.
13124 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13126         Fix a comment whitespace typo.
13128         src/fileio.c: A double space was added after "..", used in a code
13129         example. Make it a single space.
13131 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13133         Remove old commented code and obsolete comments
13135         * lisp/files.el (locate-dominating-files): Remove old commented
13136         implementation from 9 years ago.  Since the current version
13137         appears (at least to me) not just more efficient but clearer than the
13138         version removed, also delete a comment in the new version referring to
13139         the old version. Remove old commented heuristic code,
13140         and explanatory comments.
13142 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13144         Remove old duplicate commented code
13146         * lisp/files.el (file-relative-name): Remove old commented version,
13147         replaced 14 years ago in commit 753ad9889.
13149 2017-08-24  Tom Tromey  <tom@tromey.com>
13151         Add conf-toml-mode
13153         * etc/NEWS: Mention conf-toml-mode.
13154         * lisp/files.el (auto-mode-alist): Add entry for .toml.
13155         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
13156         (conf-toml-font-lock-keywords): New defvars.
13157         (conf-toml-mode): New mode.
13159 2017-08-23  Alan Third  <alan@idiocy.org>
13161         Use lisp type in log message (bug#28176)
13163         * src/nsimage.m (ns_load_image): Use make_number on index.
13165 2017-08-23  Alan Third  <alan@idiocy.org>
13167         Fix PNGs on macOS (bug#28176)
13169         * src/nsimage.m (ns_load_image): Remove index check.
13170         (EmacsImage::getAnimatedBitmapImageRep): New function.
13171         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
13172         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
13173         is valid.
13175 2017-08-23  Alan Third  <alan@idiocy.org>
13177         Add ability to change macOS WM theme (bug#27973)
13179         * src/frame.c (make_frame, frame_parms, syms_of_frame)
13180         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
13181         options.
13182         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
13183         represent NSAppearance options.
13184         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
13185         ns_transparent_titlebar frame parameters.
13186         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
13187         ns_set_appearance and ns_set_transparent_titlebar handlers.
13188         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
13189         frame parameters.
13190         (Qdark): Add new symbol for use with ns-appearance.
13191         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
13192         [NS_IMPL_COCOA]: Add prototypes.
13193         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
13194         [NS_IMPL_COCOA]: New functions.
13195         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
13196         ns-transparent-titlebar frame parameters.
13197         * doc/lispref/frames.texi (Window Management Parameters): Document
13198         ns-apperance and ns-transparent-titlebar.
13200 2017-08-22  Alan Mackenzie  <acm@muc.de>
13202         When looking for the end of a declarator, prevent macros fouling up the search
13204         The practical implication of this bug was a random jit-lock chunk remaining
13205         entirely unfontified.
13207         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
13208         restrict two forward searches to the end of that macro.
13210 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
13212         Test `file-expand-wildcards' for Tramp
13214         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
13215         Remove, not needed anymore.
13217         * test/lisp/net/tramp-tests.el (top): Require seq.el.
13218         (tramp-test16-directory-files): Simplify.
13219         (tramp-test16-file-expand-wildcards): New test.
13220         (tramp-test28-interrupt-process): Skip for older Emacsen.
13222 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
13224         Add tests for cl-macs.el (Bug#27559)
13226         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
13227         duplicate.
13228         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
13229         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
13231 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
13233         Optimize skkdic conversion (Bug#28043)
13235         The primary speedup comes from the optimizing lookup-nested-alist and
13236         set-nested-alist for the case where the key is a string.  This brings
13237         the time down to less than half the original.
13239         * lisp/international/mule-util.el (lookup-nested-alist)
13240         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
13241         string.
13243         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
13244         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
13245         of calculating ratio of work done inline.
13247         (skkdic-reduced-candidates): Call `char-category-set' on the first
13248         character of the string directly, instead of using a regexp for the
13249         character category.
13250         (skkdic--japanese-category-set): New constant.
13251         (skkdic-collect-okuri-nasi): Just set
13252         `skkdic-okuri-nasi-entries-count' at once at the end rather than
13253         updating it throughout the loop.
13255         (skkdic-convert-postfix skkdic-convert-prefix)
13256         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
13257         (skkdic-extract-conversion-data): Use `match-string-no-properties'
13258         instead of `match-string'.
13260 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
13262         Treat tests in lib-src like tests in src
13264         * test/Makefile.in (test_template): Depend on a .c source file for a
13265         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
13266         in the right direction.)
13268 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13270         Port /bin/sh scripts to Solaris 10
13272         Its /bin/sh builtin ‘test’ command does not support -e.
13273         * autogen.sh, build-aux/git-hooks/pre-commit:
13274         * build-aux/gitlog-to-emacslog, make-dist:
13275         Use test -r, not test -e.
13277 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13279         Avoid losing the buffer restriction in flyspell-mode
13281         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
13282         as we have the buffer widened, to make sure the restriction is
13283         preserved.  (Bug#28161)
13285 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
13287         Fix the 'versionclean' target in src/Makefile
13289         * src/Makefile.in (versionclean): Don't accidentally remove
13290         emacs-module.h.  (Bug#28169)
13292 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
13294         Implement `interrupt-process-functions'
13296         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
13297         `tramp-advice-interrupt-process'.  Adapt according to changed API.
13298         (top): Add it to `interrupt-process-functions'.
13300         * src/process.c (Finternal_default_interrupt_process): New defun.
13301         (Finterrupt_process): Change implementation, based on
13302         Vinterrupt_process_functions.
13303         (Vinterrupt_process_functions): New defvar.
13305         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
13306         test removal of advice.
13308 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13310         Avoid floating-point exceptions while drawing underwave
13312         * src/w32term.c (x_get_scale_factor):
13313         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
13314         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
13315         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
13317 2017-08-21  Sam Steingold  <sds@gnu.org>
13319         mark flymake-mode as safe local variable when the value is nil
13321 2017-08-21  Sam Steingold  <sds@gnu.org>
13323         allow nil init in flymake-allowed-file-name-masks to disable flymake
13325         (flymake-allowed-file-name-masks): Update doc and :type.
13326         (flymake-get-file-name-mode-and-masks): Handle nil init.
13328 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13330         Remove the workaround for bug#20719
13332         * lisp/cedet/semantic/symref/grep.el
13333         (semantic-symref-grep-use-template): Remove the workaround for
13334         bug#20719, it's been fixed for a while now.
13336 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13338         Fix byte-compilation warnings in semantic/symref/grep
13340         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
13341         (grepflags): Rename to semantic-symref-grep-flags.
13342         (semantic-symref-grep-expand-keywords): Update accordingly.
13343         (semantic-symref-grep-use-template): Remove the last two
13344         arguments to make sure they don't shadow the (not renamed)
13345         global variables.
13346         (semantic-symref-perform-search)
13347         (semantic-symref-parse-tool-output-one-line): Use slot names
13348         instead of keywords, like the byte-compiler wants us to.
13350 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13352         Simplify eldoc-message
13354         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
13355         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
13357 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13359         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
13361         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
13362         carriage returns into the temporary file when running in unbuffered
13363         mode, the w32 build of python 2.7 chokes on them.
13365 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13367         Add missing require
13369         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
13371 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
13373         Implement `interrupt-process' for remote processes (Bug#28066)
13375         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
13376         Support sending signals remotely.
13377         (tramp-open-connection-setup-interactive-shell):
13378         Trace "remote-tty" connection property.
13380         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
13381         (top): Add advice to `interrupt-process'.  (Bug#28066)
13383         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13384         New test.
13385         (tramp-test29-shell-command)
13386         (tramp-test30-environment-variables)
13387         (tramp-test30-environment-variables-and-port-numbers)
13388         (tramp-test31-explicit-shell-file-name)
13389         (tramp-test32-vc-registered)
13390         (tramp-test33-make-auto-save-file-name)
13391         (tramp-test34-make-nearby-temp-file)
13392         (tramp-test35-special-characters)
13393         (tramp-test35-special-characters-with-stat)
13394         (tramp-test35-special-characters-with-perl)
13395         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
13396         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
13397         (tramp-test36-utf8-with-ls)
13398         (tramp-test37-asynchronous-requests)
13399         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
13400         (tramp-test40-unload): Rename.
13401         (tramp-test40-unload): Test also removal of advice.
13403 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13405         Document Enchant support
13407         * doc/emacs/fixit.texi: Mention Enchant.
13408         * doc/misc/efaq.texi: Likewise.
13409         * etc/NEWS: Add an item on Enchant support.
13411 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13413         Remove old comments and a redundant FIXME
13415         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
13416         commented code, a redundant FIXME, and outdated usage instructions.
13418 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13420         Add Enchant support to ispell.el (Bug#17742)
13422         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
13423         (ispell-really-enchant): Add variable.
13424         (ispell-check-version): If using Enchant, check it’s new enough (at
13425         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
13426         without.)
13427         (ispell-enchant-dictionary-alist): Add variable.
13428         (ispell-find-enchant-dictionaries): Add function, based on
13429         ispell-find-aspell-dictionaries.
13430         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
13431         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
13432         old ispell name to locale mapping code for Enchant too.
13433         (ispell-send-replacement): Make it work with Enchant.
13435 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13437         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
13439 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13441         Stop printing '4' in .elc files after 'define-symbol-prop' calls
13443         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
13444         Return nil in case we have compiled the form, to prevent a redundant
13445         constant from getting added to the compiled output.
13447 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13449         Change recent symlink tests to just test ASCII
13451         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
13452         Be less ambitious about testing non-ASCII chars and encoding
13453         errors, as there are too many portability issues.
13455 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13457         Don’t adjust CRLF in file names
13459         * doc/misc/gnus.texi (Non-ASCII Group Names):
13460         * etc/NEWS:
13461         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
13462         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
13463         that CRLF in file names is left alone.
13464         * lisp/international/mule-cmds.el (set-default-coding-systems):
13465         Do not alter CRLF in file name coding systems.
13466         (prefer-coding-system): Ignore differences in CRLF processing when
13467         checking whether we used the user-specified file name coding system.
13468         * test/src/fileio-tests.el: New file.
13470 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13472         Make list-processes support display-line-numbers
13474         * lisp/simple.el (process-menu-mode): Move the call to
13475         tabulated-list-init-header from here...
13476         (list-processes--refresh): ...to here.  (Bug#27895)
13478 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13480         Improve support of display-line-numbers in package.el
13482         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
13483         the header.  (Bug#27895)
13484         * lisp/emacs-lisp/tabulated-list.el
13485         (tabulated-list-line-number-width): Fix the case when
13486         display-line-numbers is nil.
13488 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13490         Improve support of display-line-numbers in tabulated-list-mode
13492         * lisp/emacs-lisp/tabulated-list.el
13493         (tabulated-list-line-number-width): New function.
13494         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
13495         (Bug#27895)
13497 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13499         Fix one more issue reported by Alex (Bug#27999)
13501         * doc/lispref/windows.texi (Preserving Window Sizes)
13502         (Window Parameters): Use the term `window-preserved-size'
13503         instead of `preserved-size' (Bug#27999).
13505 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13507         Rename `no-delete-other-window' to `no-delete-other-windows'
13509 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13511         Fix two side window problems noted by Alex (Bug#27999)
13513         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
13514         typo.
13515         (delete-other-windows): Rename the `no-delete-other-window'
13516         parameter to `no-delete-other-windows' (see the discussion in
13517         Bug#27999 for the rationale of this change).
13518         * doc/lispref/windows.texi (Deleting Windows)
13519         (Frame Layouts with Side Windows, Window Parameters): Rename
13520         `no-delete-other-window' to `no-delete-other-windows'.
13522 2017-08-19  Alex Schroeder  <alex@gnu.org>
13524         Use define-minor-mode for rcirc-omit-mode
13526 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13528         Clarify behavior of symlinks and directories
13530         * doc/lispref/files.texi (Saving Buffers): Document how functions
13531         like rename-file work with symlinks and directories.  This patch
13532         attempts to document the current behavior better, in preparation
13533         for possibly changing it.  See Bug#27986.
13535 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13537         Fix recently-introduced file descriptor leak
13539         * src/fileio.c (Fmake_temp_file_internal):
13540         Don’t leak a file descriptor if write_region signals an error.
13542 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13544         Improve make-temp-file performance on local files
13546         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
13547         the work of inserting the text.
13548         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
13549         All callers changed.
13551 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
13553         Don't lose arguments to eshell aliases (Bug#27954)
13555         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
13557 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13559         * lisp/files.el (make-temp-file): Fix directory use case.
13561 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13563         Fix and document make-temp-file optional text parameter
13565         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
13566         (files--make-magic-temp-file): Support optional TEXT parameter.
13567         * etc/NEWS: Document it.
13568         * doc/lispref/files.texi: Document it.
13569         * test/lisp/auth-source-tests.el: Minor reformat.
13571 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13573         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
13575         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
13577 2017-08-19  João Távora  <joaotavora@gmail.com>
13579         Fix default value of electric-pair-pairs and electric-pair-text-pairs
13581         (Bug#24901)
13583         A previous change, titled "Add support for curly quotation marks to
13584         electric-pair-mode", attempted to add these characters to the default
13585         value of these variables.  But it did so in a quoted list, preventing
13586         evaluation of the relevant expressions and resulting in an invalid
13587         format.
13589         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
13590         Use backquote and comma.
13592 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
13594         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
13596         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
13597         explicitly in the interactive case.
13599 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
13601         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
13603 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13605         Add auth-source tests and codify its API better
13607         The auth-source behavior was unclear in some API use cases, so these
13608         extra tests codify and test it. For details see
13609         https://github.com/DamienCassou/auth-password-store/issues/29
13611         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
13612         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
13613           auth-source tests and simplify them with the new `make-temp-file'.
13615 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13617         Don't call the same hook twice due to obsolete aliases
13619         * lisp/international/robin.el (robin-activate):
13620         * lisp/international/quail.el (quail-activate):
13621         * lisp/international/mule-cmds.el (deactivate-input-method):
13622         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
13623         Don't call the same hook twice, when the obsolete and the
13624         advertised symbols are aliased.  (Bug#28118)
13626 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
13628         A new face for show-paren in expression mode
13630         * lisp/faces.el (show-paren-match-expression): Define the new face.
13631         * lisp/paren.el (show-paren-function): Apply the different face
13632         when in expression mode.  (Bug#28047)
13634 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13636         Non-ASCII support for man page section and header names
13638         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
13639         (Man-heading-regexp): Replace ASCII character classes by
13640         equivalent classes that allow non-ASCII characters.  Suggested by
13641         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
13643 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13645         Implement HiDPI support for underwave on MS-Windows
13647         * src/w32term.c (x_get_scale_factor): New function.
13648         (w32_draw_underwave): Use it.
13649         * src/xterm.c (x_draw_underwave): Offset the wave starting point
13650         to make it identical with original code.
13652 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
13654         Support HiDPI displays for wave style underlines
13656         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
13657         based on scale factor.
13658         (x_get_scale_factor): New function.
13660 2017-08-18  Bastien  <bzg@gnu.org>
13662         Delete library-of-babel.org
13664         * etc/org/library-of-babel.org: Delete file.
13666 2017-08-18  Glenn Morris  <rgm@gnu.org>
13668         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
13670 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
13672         Remove custom version parsing from epg-config.el (Bug#27963)
13674         * lisp/epg-config.el (epg-config--compare-version)
13675         (epg-config--parse-version): Remove.
13676         (epg-check-configuration): Use `version<=' instead.
13678 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
13680         Treat control characters in JSON strings as invalid
13682         * lisp/json.el (json-peek): Reduce to following-char.
13683         (json-pop, json-read): Zero (null char) means end of file.
13684         (json-read-escaped-char): Delimit URL properly.
13685         (json-read-string): Signal error for ASCII control characters.
13686         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
13687         :json-eof symbol.
13688         (test-json-read-string): New test for control characters in JSON
13689         strings.
13691 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13693         Support Posix semantics of 'rename' on MS-Windows
13695         * src/w32.c (sys_rename_replace): Support Posix semantics of
13696         'rename': return an error if OLD is a directory while NEW is not,
13697         or vice versa.
13699 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13701         * src/w32.c (sys_rename_replace): Support renaming a directory.
13703 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13705         Fix the MS-Windows build
13707         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
13708         'open'.
13710         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
13712 2017-08-17  João Távora  <joaotavora@gmail.com>
13714         Add flymake-backends defcustom
13716         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
13717         Rename from flymake-can-syntax-check-file.  Suitable for adding to
13718         flymake-backends.
13719         (flymake-proc-start-syntax-check): Rename from
13720         flymake-start-syntax-check.  Don't check again if buffer can be
13721         checked.
13722         (add-to-list flymake-backends): Hook only flymake-ui.el
13724         * lisp/progmodes/flymake-ui.el (flymake-backends): New
13725         defcustom.
13726         (flymake-on-timer-event, flymake-after-change-function)
13727         (flymake-after-save-hook, flymake-find-file-hook): Call new
13728         flymake--start-syntax-check-buffer and
13729         flymake--can-syntax-check-buffer.
13730         (flymake-mode): Call flymake--can-syntax-check-buffer and set
13731         flymake-backend.
13732         (flymake--backend): New buffer-local variable.
13734 2017-08-17  João Távora  <joaotavora@gmail.com>
13736         Split flymake.el into flymake-proc.el and flymake-ui.el
13738         flymake.el is now a stub that requires both files.
13740         * lisp/progmodes/flymake-proc.el: New file.
13742         * lisp/progmodes/flymake-ui.el: New file.
13744         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
13745           flymake-proc.el.  Require both files.
13747 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
13749         Set `default-directory' for watchdog in tramp-test.el
13751         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
13752         Set `default-directory' for watchdog.
13754 2017-08-17  Andreas Schwab  <schwab@suse.de>
13756         * lisp/term/konsole.el: New file.
13758 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
13760         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
13762         (woman2-RS): Use plain `push' instead of `woman-push'.
13763         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
13765 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13767         Merge from Gnulib; use ‘open’ for O_CLOEXEC
13769         This incorporates:
13770         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
13771         2017-08-15 extensions: enable NetBSD specific extensions
13772         2017-08-14 open: support O_CLOEXEC
13773         2017-08-13 reallocarray: new module
13774         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
13775         it now supports O_CLOEXEC and this simplifies Emacs.
13776         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
13777         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
13778         Copy from Gnulib.
13779         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
13780         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
13781         New files, copied from Gnulib.
13782         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
13783         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
13784         Remove, as Gnulib does this for us.
13785         * src/filelock.c (create_lock_file):
13786         * src/sysdep.c (emacs_open, emacs_pipe):
13787         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
13789 2017-08-16  Alan Third  <alan@idiocy.org>
13790             Charles A. Roelli  <charles@aurox.ch>
13792         Allow use of run-time OS version checks on macOS (bug#27810)
13794         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
13795         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
13796         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
13797         defines.
13798         (NSWindowStyleMaskFullScreen,
13799         NSWindowCollectionBehaviorFullScreenPrimary,
13800         NSApplicationPresentationFullScreen,
13801         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
13802         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
13803         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
13804         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
13805         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
13806         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
13807         Allow use of run-time checks and replace version check macros.
13808         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
13809         * src/macfont.m (macfont_draw): Use run-time OS version checks.
13810         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
13812 2017-08-16  Alan Third  <alan@idiocy.org>
13814         Add multiframe image support to NS port (bug#21714)
13816         * src/nsimage.m (ns_load_image): Handle multiple frames.
13817         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
13818         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
13819         function prototypes.
13821 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
13823         files-tests.el: Remove unused lexical variable
13825         * test/lisp/files-tests.el (file-test--do-local-variables-test);
13826         Remove unused var 'files-test-queried'.
13828 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
13830         * doc/emacs/files.texi (Copying and Naming): Mention
13832         restrictions to add-name-to-file and make-symbolic-link on
13833         remote systems.
13835 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
13837         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
13839 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
13841         Add tests for previous commit
13843         * test/lisp/progmodes/elisp-mode-tests.el
13844         (elisp-mode-tests--face-propertized-string): New function.
13845         (elisp--highlight-function-argument-indexed)
13846         (elisp--highlight-function-argument-keyed-1)
13847         (elisp--highlight-function-argument-keyed-2): New tests.
13849 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
13851         Fix eldoc highlighting for &key args (Bug#27272)
13853         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
13854         Only switch to keyword-based searching if INDEX point beyond `&key' in
13855         the argument list.  All arguments prior to the `&key' are position
13856         based.  Additionally, be more strict about what is a keyword when
13857         searching for the current keyword.
13859 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13861         Do not assume regular Git .git/hooks dir
13863         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
13864         Problem reported by Ted Zlatanov in:
13865         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
13866         * autogen.sh (git_sample_hook_src): New function.  Use it to work
13867         even if .git/hooks or its samples do not exist.
13869 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13871         New manual section "Copying and Naming"
13873         * doc/emacs/files.texi (Copying and Naming):
13874         New section, split off from Misc File Ops and containing the
13875         operations that copy, name or rename files.  This fixes some
13876         confusion caused by the incorrect phrase "The same rule applies
13877         to all the remaining commands in this section" in the old manual.
13878         This change does not affect the confusion about directories (see
13879         Bug#27986 for ongoing discussion).
13881 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
13883         Fix the MS-Windows build
13885         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
13886         ENOSYS.  (Bug#28097)  (Bug#27986)
13888 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
13890         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
13892         * .gitlab-ci.yml: add Git to the installed packages.
13894 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
13896         Support indentation of detached Less CSS rulesets
13898         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
13899         for indentation of detached rulesets passed to Less mixins.
13901         * test/manual/indent/less-css-mode.less: New file.
13903 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
13905         Fixes and tweaks for the new Less CSS mode
13907         * etc/NEWS: Add an entry for the new mode.
13909         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
13910         (less-css-lessc-command): Tweak docstring. Don't mark it as
13911         safe. Don't autoload.
13912         (less-css-compile-at-save, less-css-lessc-options)
13913         (less-css-output-directory): Tweak docstrings. Don't autoload.
13914         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
13915         (less-css-input-file-name): Tweak docstring. Don't autoload.
13916         (less-css-compile-maybe): Use `when' for one-armed `if'.
13917         (less-css--output-path): Tweak docstring.
13918         (less-css--maybe-shell-quote-command): Remove function.
13919         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
13920         compiler warning. Use `string-join' instead of `mapconcat'.
13921         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
13922         variables.
13923         (less-css-mode-syntax-table, less-css-mode-map): New variables.
13924         (less-css-mode): Change status line mode name from "LESS" to
13925         "Less". Tweak docstring. Move syntax table definitions to
13926         `less-css-mode-syntax-table'.
13927         (less-css-indent-line): Remove function.
13929 2017-08-15  Steve Purcell  <steve@sanityinc.com>
13931         New major mode: Less CSS mode
13933         * lisp/textmodes/less-css-mode.el: New file.
13935 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
13937         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
13939         * lisp/arc-mode.el (archive-int-to-mode):
13940         Swap order of 2048 and 1024 tests (Bug#28092).
13941         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
13942         Update test.
13944 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13946         Improve rename-file port to macOS
13948         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
13949         fail with errno == ENOTSUP on file systems where it is not
13950         supported, according to the Apple documentation.
13952 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
13954         Speed up ./configure with more caching (Bug#27960)
13956         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
13957         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
13958         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
13959         characters', and 'Windows API header' checks.  Remove pause after
13960         warning about GTK bug.
13962 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13964         Improve rename-file behavior on macOS
13966         Problem reported by Philipp Stephani (Bug#27986).
13967         * src/fileio.c (Frename_file):
13968         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
13969         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
13970         since this provides the necessary atomicity guarantees.
13972 2017-08-14  Glenn Morris  <rgm@gnu.org>
13974         Clean up temp files after some tests
13976         * test/lisp/emacs-lisp/bytecomp-tests.el
13977         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
13978         * test/lisp/progmodes/etags-tests.el
13979         (etags-buffer-local-tags-table-list): Delete temp file at end.
13981 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
13983         Implement renameat_noreplace for MS-Windows
13985         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
13986         emulation for MS-Windows.  (Bug#27986)
13988 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
13990         Fix 'rename' on MS-Windows
13992         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
13993         the primitive rename errors out with EEXIST.
13995 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
13997         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
13999 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
14001         Tiny JSON performance improvement
14003         Get rid of some needless uses of apply.  Measuring with
14004           (benchmark-run 10 (json-read-file "test.json"))
14005         showed 1.5-2.5% reduction of execution time.
14006         * lisp/json.el (json-peek): Nix let-binding.
14007         (json-read-string): Use concat for making a string from chars.
14008         (json-read-array): Use cond and more appropriate conversion instead
14009         of blindly applying.
14011 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14013         Be consistent in spelling 'ok-if-already-exists'.
14015 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
14017         Use 'header-line-highlight' face in proced and erc
14019         * lisp/erc/erc-list.el (erc-list-button):
14020         * lisp/proced.el (proced-format): Use the 'header-line-highlight
14021         face.  (Bug#28033)
14023 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
14025         Remove feeds with dead uris from newsticker--raw-url-list-defaults
14027         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
14028           Remove feeds with dead uris.
14030 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14032         Fix vertical cursor motion when cursor is on the fringe
14034         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
14035         setting temporary-goal-column when newline overflows into the
14036         fringe.  Support that use case in R2L paragraphs as well.
14038 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14040         Fix vertical cursor motion across too wide images
14042         * src/indent.c (Fvertical_motion): If lines are truncated and we
14043         end up beyond the right margin of the window, don't assume we are
14044         in the next screen line, unless VPOS actually says so.  (Bug#28071)
14046 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14048         Add test suites for arc-mode and tar-mode
14050         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
14051         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
14052         New tests.
14054 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14056         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
14058 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
14060         Fix uri of Emacs Wiki
14062         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
14063           uri of Emacs Wiki.  (Bug#27981)
14065 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14067         Fix make-temp-file bug with ""/"."/".." prefix
14069         The bug with "." and ".." has been present for a while; I
14070         introduced the bug with "" earlier today in my patch for Bug#28023.
14071         * lisp/files.el (make-temp-file): Do not use expand-file-name if
14072         PREFIX is empty or "." or "..", as it does the wrong thing.
14073         Compute absolute-prefix here ...
14074         (files--make-magic-temp-file): ... instead of here ...
14075         * src/fileio.c (Fmake_temp_file_internal): ... or here.
14077         * lisp/files.el (make-temp-file): If the prefix is empty, append
14078         "/" to the absolute prefix so that the new files are children
14079         rather than siblings of temporary-file-directory.  This fixes a
14080         bug introduced in the previous change.
14081         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
14082         New test, for the bug.
14084 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14086         Improve make-temp-file performance on local files
14088         For the motivation behind this patch, please see Bug#28023 and:
14089         http://emacshorrors.com/posts/make-temp-name.html
14090         Although, given the recent changes to Tramp, the related security
14091         problem in make-temp-file is already fixed, make-temp-file still has
14092         several unnecessary system calls.  In the typical case on GNU/Linux,
14093         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
14094         getpid, unlink, umask) by 2 (open, close).
14095         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
14096         that Emacs is using it directly.
14097         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
14098         no longer needed.
14099         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14100         * lisp/files.el (files--make-magic-temp-file): Rename from
14101         make-temp-file.
14102         (make-temp-file): Use make-temp-file-internal for
14103         non-magic file names.
14104         * src/fileio.c: Include tempname.h.
14105         (make_temp_name_tbl, make_temp_name_count)
14106         (make_temp_name_count_initialized_p, make_temp_name): Remove.
14107         (Fmake_temp_file_internal): New function.
14108         (Fmake_temp_name): Use it.
14109         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
14110         instead of make_temp_name.
14112 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14114         Document internal-use naming conventions
14116         * doc/lispref/functions.texi (Function Names):
14117         * doc/lispref/variables.texi (Tips for Defining):
14118         Document naming conventions for internal-use functions and vars.
14119         See Bug#28023#59.
14121 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14123         Simplify re and document 'autoconf.sh all'
14125         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
14126         ./autogen.sh defaults to "all".  All uses removed.
14127         * README: Mention autoconf.sh's effect on Git configuration.
14129 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14131         Default autogen.sh to 'all'
14133         This addresses a problem noted by RMS in:
14134         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
14135         * autogen.sh (do_git): Set to true if this script is invoked
14136         with no arguments and there is a .git subdirectory.
14138 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14140         Adjust jka-compr to recent Tramp changes.
14142         * lisp/jka-compr.el (jka-compr-write-region):
14143         Two new args LOCKNAME and MUSTBENEW.
14145 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14147         Improve doc strings of 2 functions in simple.el
14149         * lisp/simple.el (beginning-of-visual-line)
14150         (move-beginning-of-line): Doc fix.  Reported by
14151         Justin Burkett <justin@burkett.cc>.
14153 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14155         Fix completion on directory names on MS-DOS/MS-Windows
14157         * src/msdos.c (faccessat):
14158         * src/w32.c (faccessat): Support relative file names, and add D_OK
14159         to 'mode' if the argument is a directory.  This unbreaks file-name
14160         completion when the completion result is a directory.
14162 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
14164         Implement EXCL of write-region for Tramp
14166         * lisp/net/ange-ftp.el (ange-ftp-write-region):
14167         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
14168         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14169         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
14170         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14171         Implement MUSTBENEW.
14173         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
14174         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
14175         (tramp-sh-handle-add-name-to-file)
14176         (tramp-do-copy-or-rename-file)
14177         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
14178         Adapt error message for `file-already-exists'.
14180         * src/lisp.h:
14181         * src/eval.c (call8): New function.
14183         * src/fileio.c (write_region): Pass also lockname and
14184         mustbenew to the file name handler.
14186         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
14187         Add tests for MUSTBENEW.
14189 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14191         Adapt Proced display to display-line-numbers
14193         * lisp/proced.el (proced-header-line): Account for the width taken
14194         by display-line-numbers.  (Bug#27895)
14196 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14198         Adapt tabulated list when display-line-number is turned on
14200         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
14201         a hook to revert the display when display-line-numbers is turned
14202         on.  (Bug#27895)
14204 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14206         Use Gnulib 'tempname' on MS-Windows
14208         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
14209         now in nt/inc/ms-w32.h.
14210         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
14211         (mkostemp): Remove.
14213         * src/w32.c (mkostemp): Remove.
14214         (sys_mkdir): Accept a second (unused) argument.
14215         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
14216         specific call to mkdir.  (Bug#28023)
14218         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
14219         to accept 2 arguments.
14220         (open): Remove from "#ifdef emacs".
14221         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
14222         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
14223         (OMIT_GNULIB_MODULE_tempname): Remove.
14225 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
14227         Add new face 'header-line-highlight'
14229         * lisp/faces.el: Define the face.
14230         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
14231         * lisp/info.el (Info-fontify-node): Use the new face.
14232         * doc/emacs/display.texi (Standard Faces):
14233         * etc/NEWS: Document the new face.  (Bug#28033)
14235 2017-08-12  Arash Esbati  <arash@gnu.org>
14237         Make a case-sensitive match for strings
14239         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
14240         let-bind `case-fold-search' to nil in order to be case-sensitive
14241         when matching a string.  (Bug#27518)
14243 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
14245         Fix a minor todo-mode regression
14247         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
14248         save-excursion.  This fixes a regression introduced by the fix
14249         for bug#27609, whereby trying to raise the priority of the
14250         first item or lower the priority of the last item, which
14251         should be noops, moves point to the item's start.  Clarify
14252         comment.
14254         * test/lisp/calendar/todo-mode-tests.el
14255         (todo-test-raise-lower-priority): Add test cases for trying to
14256         raise first item and lower last item.
14257         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
14258         (todo-test-toggle-item-header02): Remove ":expected-result
14259         :failed" and tests of point after todo-next-item, since the
14260         effect when using Todo mode is not reproducible in the test
14261         environment.  Add commentary about this.
14263 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14265         Improve performance for rename-file etc.
14267         Although this does not fix Bug#27986, it is a step forward.
14268         I plan to propose a more-significant patch later.
14269         * lisp/files.el (directory-name-p): Move from here ...
14270         * src/fileio.c (Fdirectory_name_p): ... to here.
14271         (directory_like, cp_like_target): New static functions.
14272         (Fcopy_file, Frename_file, Fadd_name_to_file)
14273         (Fmake_symbolic_link):
14274         Use them, to avoid directory-testing syscalls on file names that
14275         must be directories if they exist.  Omit unnecessary
14276         initializations and CHECK_STRING calls.
14277         (Frename_file): Don't call file_name_case_insensitive_p
14278         twice on the same file.  Compare both file names expanded, instead
14279         of the old name expanded and the new one unexpanded.
14281 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
14283         Respect buffer-local value of tags-table-list (Bug#27772)
14285         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
14286         buffer around the `tags-table-including' calls so as to get buffer
14287         local variables from the right buffer later.
14288         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
14289         New test.
14290         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
14291         constant.
14292         (etags-bug-158, etags-bug-23164): Use it so that when running the test
14293         interactively, setting EMACS_TEST_DIRECTORY is not needed.
14295 2017-08-10  Tom Tromey  <tom@tromey.com>
14297         Fix auto-filling regression
14299         Bug#28003
14300         * lisp/newcomment.el (comment-indent-new-line): Check
14301         comment-auto-fill-only-comments.  Reverts earlier change.
14302         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
14303         do-auto-fill.
14305 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14307         Merge from gnulib
14309         This incorporates:
14310         2017-08-09 tempname: do not depend on secure_getenv
14311         2017-08-08 extensions: add _OPENBSD_SOURCE
14312         2017-08-06 manywarnings: Add support for C++
14313         2017-08-06 warnings, manywarnings: Add support for multiple languages
14314         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
14315         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14316         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
14317         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
14318         Copy from gnulib.
14320 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
14322         Fix crashing emacs-module tests on MS-Windows
14324         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
14325         variable.
14326         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
14327         away, without displaying the Abort dialog, which waits for the user.
14329         * test/src/emacs-module-tests.el (module--test-assertion): Run the
14330         inferior Emacs with the w32 abort dialog disabled.  Expect the
14331         status of the aborted Emacs sub-process to be 3 on MS-Windows and
14332         2 on MS-DOS.
14334 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14336         dired-delete-file:  Dont't ask for empty dirs
14338         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
14339         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
14341         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
14342         New auxiliar macro.
14343         (dired-test-bug27940): Add new test.
14345 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14347         Ask files for deletion in buffer order: top first, botton later
14349         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
14350         Call `nreverse' t invert the output of `dired-map-over-marks'.
14352 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
14354         Use help-mode xrefs in describe-font
14356         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
14357         (Bug#27890).
14359 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
14361         Don't try to jump to non-existent part (bug#28013)
14363         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
14364         the next part if there is the only one part in the article (bug#28013).
14366 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14368         Replace some uses of eval
14370         There are a number of places where eval is used unnecessarily to get
14371         or set the value of a symbol.
14372         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
14373         custom setter.
14374         * lisp/desktop.el (desktop-clear): Use set-default instead.
14375         * lisp/international/ogonek.el (ogonek-read-encoding): Use
14376         symbol-value.
14378 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14380         Convert uses of looking-at in viper-ex to following-char
14382         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
14383         (following-char) and use it in the subsequent cond's clauses.
14384         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
14385         Convert single branch ifs to when
14387 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14389         Some cleanup in message.el
14391         * lisp/gnus/message.el (message-cross-post-insert-note):
14392         (message-strip-forbidden-properties): Mark unused args.
14393         (message-canlock-generate): Remove extinct variable
14394         sha1-maximum-internal-length.
14395         (message-make-mail-followup-to): Use loop's thereis clause.
14397 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14399         Document make-temp-name magic limitations
14401         * doc/lispref/files.texi (Unique File Names):
14402         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
14403         does not guarantee uniqueness on magic file names.
14405 2017-08-08  Tom Tromey  <tom@tromey.com>
14407         Show number of errors in compilation-mode mode-line
14409         Bug#25354
14410         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
14411         default value.
14412         (compilation-num-warnings-found, compilation-num-infos-found): New
14413         defvars.
14414         (compilation-mode-line-errors): New defconst.
14415         (compilation-face): Remove.
14416         (compilation-type, compilation--note-type): New functions.
14417         (compilation-parse-errors): Call compilation--note-type.
14418         (compilation-start): Include compilation-mode-line-errors in
14419         mode-line-process.
14420         (compilation-setup): Initialize compilation-num-* variables to 0.
14421         (compilation-handle-exit): Include compilation-mode-line-errors in
14422         mode-line-process.
14423         * doc/emacs/building.texi (Compilation): Document new feature.
14425 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14427         Do some cleanup in mailcap.el
14429         * lisp/net/mailcap.el: Use lexical-binding.
14430         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
14431         destructuring.
14432         (mailcap-mime-data): Remove some entries for ancient functions.
14433         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
14434         (mailcap-parse-mimetype-file): Just use append.
14435         (mailcap-command-p): Remove unused function.
14437 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
14439         query-replace: Undo replacements performed with 'comma
14441         During a `query-replace', the char ',' replaces the character
14442         at point and doesn't move point;  right after, the char 'u'
14443         must undo such replacement (Bug#27268).
14444         * lisp/replace.el (replace--push-stack):
14445         New macro extracted from `perform-replace'.
14446         (perform-replace): Use it.
14447         * test/lisp/replace-tests.el (query-replace--undo): Add test.
14449 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14451         Don't define gv expanders in compiler's runtime (Bug#27016)
14453         This prevents definitions being compiled from leaking into the current
14454         Emacs doing the compilation.
14455         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
14456         of `put' with `eval-and-compile'.
14457         * test/lisp/emacs-lisp/gv-tests.el: New tests.
14459 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14461         Let the cl-typep effects of defclass work during compilation (Bug#27718)
14463         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
14464         instead of `put'.
14465         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
14466         (eieio-tests--dummy-function): Remove.
14467         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
14468         expect to fail if compiled.
14470 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
14471             Noam Postavsky  <npostavs@gmail.com>
14473         Let `define-symbol-prop' take effect during compilation
14475         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
14476         (Fget): Consult it.
14477         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
14478         it to nil.
14479         (byte-compile-define-symbol-prop): New function, handles compilation
14480         of top-level `define-symbol-prop' and `function-put' calls by putting
14481         the symbol setting into `overriding-plist-environment'.
14483 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
14485         Add a test of handling of circular values to testcover-tests
14487         * test/lisp/emacs-lisp-testcover-resources/testcases.el
14488         (testcover-testcase-cyc1): New function.
14489         (testcover-tests-circular-lists-bug-24402): New test.
14491 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14493         Don't error on circular values in testcover
14495         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
14496         Consider circular lists to be non-equal instead of signaling error.
14498 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
14500         Catch argument and macroexpansion errors in ert
14502         This kludge catches errors caused by evaluating arguments in ert's
14503         should, should-not, and should-error macros; it also catches
14504         macroexpansion errors inside of the above macros (Bug#24402).
14506         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
14507         (ert--expand-should-1): Catch macroexpansion errors.
14508         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
14509         (ert-test-should-error-macroexpansion): Tests for argument and
14510         expansion errors.
14512 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14514         Revert "Add Enchant support to ispell.el (Bug#17742)"
14516         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
14518 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14520         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
14522         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
14524 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14526         Add support for arguments in ALTERNATE_EDITOR to emacsclient
14528         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
14529         corresponding command-line argument, into space-separated tokens.
14530         * etc/NEWS: Document.
14531         * test/lib-src/emacsclient-tests.el: Add a test.
14533 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14535         Add Enchant support to ispell.el (Bug#17742)
14537         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
14538         (ispell-really-enchant): Add variable.
14539         (ispell-check-version): If using Enchant, check it’s new enough (at
14540         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
14541         without.)
14542         (ispell-enchant-dictionary-alist): Add variable.
14543         (ispell-find-enchant-dictionaries): Add function, based on
14544         ispell-find-aspell-dictionaries.
14545         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
14546         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
14547         old ispell name to locale mapping code for Enchant too.
14548         (ispell-send-replacement): Make it work with Enchant.
14550 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14552         Allow async command output buffer to be shown only on output
14554         * lisp/simple.el (async-shell-command-display-buffer): Add
14555         defcustom.
14556         (shell-command): Use the new defcustom to determine whether to show
14557         the buffer immediately, or add a process filter that shows it only
14558         when there is some output.
14559         * etc/NEWS: Document the new variable.
14560         * doc/emacs/misc.texi: Likewise.
14562         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
14564 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
14566         Fix infinite recursion under prettify-symbols-mode and linum-mode
14568         * src/xdisp.c (get_overlay_strings_1)
14569         (handle_single_display_spec, push_prefix_prop): Invalidate the
14570         composition information before starting to iterate on a string.
14571         Otherwise we might think in set_iterator_to_next that we are
14572         delivering characters from a composition, and do all kinds of
14573         nonsensical things, like over-step the string end.  (Bug#27761)
14575 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14577         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
14579 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
14581         Fix doc-string of `delete-other-windows'
14583         * lisp/window.el (delete-other-windows): Fix doc-string.
14585 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14587         Fix a couple more make-temp-file races
14589         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
14590         Use make-temp-name, not make-temp-file with retry.
14591         (basic-save-buffer-2): Use condition-case, instead of
14592         unwind-protect with a success flag.
14594 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
14596         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
14598         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
14599         characters following filename in grep context lines.
14600         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
14601         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
14602         (grep-regexp-alist): Recombine their contents here.
14603         (grep-mode):
14604         * lisp/cedet/semantic/symref/grep.el
14605         (semantic-symref-parse-tool-output-one-line):
14606         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
14607         `grep-regexp-alist' rather than the function.
14609 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14611         Fix some crashes on self-modifying Elisp code
14613         Prompted by a problem report by Alex in:
14614         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
14615         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
14616         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
14617         it is likely to run a bit faster with typical hardware caches.
14618         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
14619         self-modifying S-expressions.
14620         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
14621         instead of trusting an Flength prepass, to avoid problems when the
14622         code is self-modifying.
14623         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
14624         where either will do.  This is mostly to document the fact that
14625         the value must be a proper list.  It's also a tiny bit faster on
14626         typical machines nowadays.
14627         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
14628         (eval_sub): Check that the args are a list as opposed to some
14629         other object that has a length. This prevents e.g. (if . "string")
14630         from making Emacs dump core in some cases.
14631         * test/src/eval-tests.el (eval-tests--if-dot-string)
14632         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
14633         New tests.
14635 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
14637         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
14639 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14641         Minor tweak in a dired test
14643         * test/lisp/dired-tests.el (dired-test-bug27968):
14644         Ensure the new header has different length than the original one.
14646 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14648         dired-delete-file: Do not TAB complete the user answer
14650         This action might delete directories containing valuable information.
14651         Before previous commit, we prompted users with `yes-or-no-p'
14652         which doesn't TAB complete the user answer.  Let's play safe and
14653         keep requiring full answers.
14654         * lisp/dired.el (dired-delete-file): Use `read-string'
14655         instead of `completing-read' to read the user answers.
14657 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14659         dired-do-delete: Allow to delete dirs recursively without prompts
14661         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
14662         'all', to delete all directories recursively and no prompt anymore.
14663         'quit', to cancel directory deletions (Bug#27940).
14664         Show help message when user inputs 'help'.
14665         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
14666         so that we can overwrite its global value.
14667         Wrapp the loop within a catch '--delete-cancel to catch when
14668         the user abort the directtry deletion.
14669         * doc/emacs/dired.texi (Dired Deletion): Update manual.
14670         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
14671         Announce this change.
14673 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14675         Fix a couple of make-temp-file races
14677         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
14678         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
14679         Use make-temp-file, not make-temp-name, to avoid an unlikely race
14680         that could lose data.  Remove the deletion hook as quickly as
14681         possible after the file is renamed; though a race still remains
14682         here, it is smaller than before.
14684 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14686         Dired w/ eshell-ls: Handle shell wildcards in file name
14688         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
14689         Use eshell-extended-glob (Bug#27844).
14690         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
14692 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14694         dired-revert: save line numbers instead of positions
14696         Positions might change if the length of one dired header line
14697         changes; this happen, for instance, if we add new files.
14698         Instead, line numbers are invariant under shrinks/enlargements
14699         of the file header.
14700         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
14701         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
14702         (dired-restore-positions): Use forward-line to restore the original
14703         position (Bug#27968).
14704         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
14706 2017-08-06  Tom Tromey  <tom@tromey.com>
14708         Respect comment-auto-fill-only-comments
14710         Respect comment-auto-fill-only-comments when auto-filling and a
14711         comment syntax is defined.
14713         * lisp/newcomment.el (comment-indent-new-line): Do not check
14714         comment-auto-fill-only-comments.
14715         * lisp/simple.el (internal-auto-fill): New defun.
14716         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
14717         auto_fill_function.
14718         (syms_of_cmds): Define Qinternal_auto_fill.
14720 2017-08-05  Richard Stallman  <rms@gnu.org>
14722         * etc/tutorials/TUTORIAL: Update.
14724 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14726         Unify CNS11643-15 in a way that avoids segfaults
14728         * lisp/international/mule-conf.el: Redo unification of
14729         cns11643-15.  (Bug#27964)
14730         (chinese-cns11643-15): Add the missing :unify-map attribute.
14732 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14734         Avoid segfaults while producing Punct.el
14736         * lisp/international/mule-conf.el: Undo unification of
14737         cns11643-15, as that causes segfaults during bootstrap.
14738         (Bug#27964)
14740 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14742         Make header line in some modes be sensitive to display-line-numbers
14744         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
14745         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
14746         (tabulated-list-print-entry): Account for the width taken by
14747         line-number display.  (Bug#27895)
14749 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14751         Fix a bug in 'generate-new-buffer-name'
14753         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
14754         nil before calling string-equal, since the latter will compare
14755         "nil and 'nil' as equal.  (Bug#27966)
14757         * test/src/buffer-tests.el
14758         (test-generate-new-buffer-name-bug27966): New test.
14760 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14762         Unify CNS11643-15
14764         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
14765         unify-charset form for it.  (Bug#27964)
14767 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14769         Improve test of error message when Emacs cannot be suspended
14771         * lisp/term/x-win.el (x-win-suspend-error):
14772         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
14773         message.  (Bug#27901)
14775 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
14777         Make "C-h o" show faces as well as variables
14779         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
14780         the placement of variables/faces in describe-symbol, to put more
14781         emphasis on the variable entry rather than the face.  (Bug#24543)
14783 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14785         Fix files-tests.el for MS-Windows
14787         * test/lisp/files-tests.el
14788         (files-tests--file-name-non-special--subprocess): Fix this test
14789         for MS-Windows.
14791 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14793         Improve documentation of 'region-extract-function'
14795         * lisp/simple.el (region-extract-function): Rename the argument to
14796         METHOD.  Doc fix.  (Bug#27927)
14798 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14800         Merge from gnulib
14802         This incorporates:
14803         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
14804         2017-08-01 manywarnings: port to 32-bit GCC bug
14805         * lib/gnulib.mk.in: Regenerate.
14806         * m4/manywarnings.m4: Copy from gnulib.
14808 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14810         Port recent rename changes to Ubuntu 14.04
14812         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
14813         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
14815 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
14817         insert-directory-wildcard-in-dir-p: Tweak regexp
14819         This function must return non-nil for a wildcard like '/*/*.txt'.
14820         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
14821         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
14822         Add test.
14824 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
14826         Implement iterator generator for avl-trees.
14828         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
14830 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14832         ls-lisp: Drop eshell dependencies
14834         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
14835         expand the wildcards.
14836         Suggested by Fabrice Popineau in:
14837         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
14838         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
14840 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14842         Fix dired-test-bug27631 on MS-Windows
14844         Skip the test if Dired use 'ls' emulation with lisp.  The same
14845         bug is tested in their respective test suites: ls-lisp-tests.el
14846         and em-ls-tests.el.
14847         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
14848         or 'eshell' features are enabled.
14850 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
14852         Fix dired-test-bug25609 on MS-Windows
14854         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
14855         pass temporary files through file-truename, to avoid bogus
14856         failures due to file-name comparison as strings.
14858 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14860         Fix 2 tests that fail in MS-Windows
14862         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
14863         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
14864         Add comments to explain the test logic.
14865         Pass '--binary' option to 'patch' program in windows environments.
14866         Check explicitly that a backup is created before compare file contents.
14868         * test/lisp/dired-tests.el (dired-test-bug25609):
14869         Declare variable 'dired-dwim-target' right before the test.
14870         Add comments to explain the test logic.
14871         Ensure, before test the bug condition, that we are displaying the
14872         2 dired buffers created in this test, and no other dired buffer
14873         is shown.
14875 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
14877         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
14879         * lisp/files.el (insert-directory): Don't hardcode "-c".
14880         * lisp/term.el (term, ansi-term): Use shell-file-name.
14882 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14884         Fix version numbers for some GnuTLS features
14886         Problem reported by Glenn Morris (Bug#27708#58).
14887         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
14888         New macro.  Use it instead of low-level version number checks.
14889         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
14890         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
14891         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
14892         (HAVE_GNUTLS3_HMAC): Remove, since these were available
14893         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
14894         is defined.  Remove all uses; this simplifies the code a bit.
14896 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14898         Port recent rename changes to RHEL 7 + NFS
14900         Problem reported by Ted Zlatanov in:
14901         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
14902         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
14903         with errno == EINVAL when it is not supported.  So treat that case
14904         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
14905         nil nor an integer, just call plain rename; this avoids an extra
14906         syscall to renameat2 when the latter fails with errno == EINVAL or
14907         ENOSYS or ENOENT.
14909 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14911         Port GnuTLS usage to Ubuntu 16.04.2 LTS
14913         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
14914         later, as opposed to the old 3.4.0 or later.
14916 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14918         Simplify configuration of HAVE_GNUTLS3 etc.
14920         There's only one GnuTLS, so configuring these symbols at
14921         'configure' time is overkill.  Simplify things by moving their
14922         configuration to src/gnutls.h (Bug#27708).
14923         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
14924         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
14925         from here ...
14926         * src/gnutls.h: ... to here, and simplify.
14928 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14930         Default to --with-mailutils if it is installed
14932         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
14933         is installed.  See:
14934         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
14936 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14938         Clarify when autogen.sh should run only autoconf
14940         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
14941         not plain ‘./autogen.sh’, to make it clear that only
14942         autoconf-related tools should be run here.
14944 2017-08-02  Toon Claes  <toon@iotcl.com>
14946         .gitlab-ci.yml: Use stretch Debian image instead of unstable
14948 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
14950         Add debugging messages to a Dired test
14952         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
14953         positions saved and restored by dired-revert to try and find
14954         out why the test fails on Hydra.
14956 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14958         ls-lisp: Autoload call instead of cookie
14960         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
14962 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14964         When renaming a file, ask only if EEXIST or ENOSYS
14966         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
14967         more than once on FILE.  Use renameat_noreplace, so that we can
14968         ask the user (and unlink and retry) only if this fails with errno
14969         == EEXIST or ENOSYS.  This avoids the need to ask the user for
14970         permission to do an operation that will fail anyway.  Simplify
14971         computation of ok_if_already_exists for subsidiary functions.
14972         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
14973         if it works, as this avoids the need to link and unlink.
14974         * src/lisp.h (renameat_noreplace): New decl.
14975         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
14976         (renameat_noreplace): New function.
14978 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14980         When creating a link, ask only if EEXIST
14982         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
14983         Ask the user (and unlink and retry) only if link creation fails
14984         with errno == EEXIST.  This avoids the need to ask the user for
14985         permission to do an operation that will fail anyway.
14987 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14989         dired-align-file: Inherit text properties in inserted spaces
14991         * lisp/dired.el (dired-align-file): Inherit text
14992         properties in inserted spaces (Bug#27899).
14993         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
14995 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14997         Don't assume /bin/sh as the 'sh' location in the local host
14999         * lisp/dired.el (dired-insert-directory): Use executable-find in
15000         a local host.
15002 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15004         Move dired tests using ls emulation to different files
15006         Suggested in:
15007         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
15008         * test/lisp/dired-tests.el (dired-test-bug27693)
15009         (dired-test-bug27762, dired-test-bug27817)
15010         (dired-test-bug27631, dired-test-bug27843): Delete those
15011         parts requiring either ls-lisp or eshell-ls.
15013         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
15014         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
15015         Add all dired tests using ls-lisp here.
15017         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
15018         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
15019         all dired tests using eshell-ls here.
15021 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
15023         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
15025 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
15027         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
15028         Say the handle is already decoded.
15029         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
15031 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15033         Don’t worry about unlink if errno == ENOENT
15035         * src/fileio.c (Fdelete_file):
15036         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
15037         remove a file if unlink fails with errno == ENOENT.  This can
15038         happen even if Emacs is the only program removing the file, in
15039         case an NFS cache overflows.  The file does not exist if errno ==
15040         ENOENT, so it is OK to proceed.
15042 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15044         Fix misalignment in Dired when dired-directory is a cons
15046         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
15047         New defuns.
15048         (dired-internal-noselect): Call dired--align-all-files when
15049         dired-directory is a cons (Bug#27762).
15050         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
15052 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
15054         Fix some dired-tests.el on MS-Windows
15056         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15057         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
15058         file-truename, to avoid bogus failures due to file-name comparison
15059         as strings.
15061 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15063         Insert subdir content if dir-or-list is a string w/o wildcards
15065         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
15066         Append '("-d") into 'eshell-ls-dired-initial-args'
15067         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
15068         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
15070 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
15072         Update todo-mode defcustoms in a less hideous way
15074         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
15075         (todo-reevaluate-default-file-defcustom)
15076         (todo-reevaluate-category-completions-files-defcustom)
15077         (todo-reevaluate-filter-files-defcustom): Delete these functions.
15078         (todo-update-filelist-defcustoms): New function.  This replaces
15079         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
15080         property instead of re-evaluating the defcustoms.
15081         (todo-add-file, todo-rename-file, todo-delete-file)
15082         (todo-delete-category, todo-move-category)
15083         (todo-convert-legacy-files, todo-check-file): Replace call of
15084         todo-reevaluate-filelist-defcustoms by
15085         todo-update-filelist-defcustoms.
15086         (todo-show, todo-category-completions): Replace call of
15087         todo-reevaluate-* function by use of 'custom-type' property.
15089 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15091         Add more should form calls in a failing dired test
15093         Some dired tests fail intermittently in hydra.  Add few
15094         more should form calls for debugging.
15095         See:
15096         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
15097         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
15098         forms for debugging.
15100 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
15102         Follow SAUNA recommendations for display-line-numbers-type
15104         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
15106         * lisp/menu-bar.el (display-line-numbers-type): Declare.
15108 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15110         Avoid most stat calls when completing file names
15112         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
15113         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15114         * m4/d-type.m4: New file, copied from gnulib.
15115         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
15116         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
15117         (dirent_type): New function.
15118         (file_name_completion): Use it, to avoid unnecessary calls to
15119         stat-like functions on GNU/Linux and other platforms with d_type.
15120         (file_name_completion_stat): Just follow the link; there is no
15121         need to try first with AT_SYMLINK_NOFOLLOW since the directory
15122         entry was already checked to exist.
15124 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15126         dired-tests: Unload tested features after test them
15128         Some tests are for Dired with ls-lisp or eshell-ls.
15129         Requiring these features add an advice on `dired' and
15130         might affect other tests.
15131         Do not require these features at the top of the file; require
15132         then inside the tests and unload then at the end.
15133         * test/lisp/dired-tests.el (dired-test-bug27693)
15134         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
15135         require ls-lisp and/or eshell-ls inside the test; unload the
15136         features at the end.
15138 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
15140         Small adaptions for directory wildcards
15142         * lisp/dired.el (dired-insert-directory): Remove "--dired"
15143         when there are wildcards, and the directory is remote.
15145         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
15146         Adapt docstring.
15147         (tramp-test17-dired-with-wildcards): Skip for all methods but
15148         those from tamp-sh.p.
15150 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15152         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
15153         string bounds.
15155 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15157         Merge from gnulib
15159         This incorporates:
15160         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
15161         * lib/tempname.c: Copy from gnulib.
15163 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15165         ls-lisp: Do not require em-glob at top of the file
15167         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
15168         not break the Emacs build.
15169         See following thread for details:
15170         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
15171         * lisp/ls-lisp.el (dired-goto-next-file)
15172         (dired-read-dir-and-switches, eshell-extended-glob):
15173         Add function declarations.
15174         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
15176 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
15178         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
15180         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
15182 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
15184         Change default CSS property face
15186         * lisp/textmodes/css-mode.el (css-property): Inherit from
15187         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
15188         distinguish CSS properties from variables.
15190 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15192         Dired: Handle posix wildcards in directory part
15194         Allow Dired to handle calls like
15195         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
15196         the directory part of the file argument (Bug#27631).
15197         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
15198         (insert-directory-clean): New defun extracted from insert-directory.
15199         (insert-directory)
15200         * lisp/dired.el (dired-internal-noselect)
15201         (dired-insert-directory): Use the new predicate; when it's true,
15202         handle the directory wildcards with a shell call.
15203         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
15204         (eshell-ls-unload-hook): New defun.  Use it in
15205         eshell-ls-unload-hook instead of an anonymous function.
15206         (eshell-ls--dired)
15207         * lisp/ls-lisp.el (ls-lisp--dired):
15208         Advice dired to handle wildcards in the directory part with both
15209         eshell-ls and ls-lisp.
15210         * etc/NEWS: Announce it.
15211         * doc/emacs/dired.texi (Dired Enter): Update manual.
15212         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
15214 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
15216         * lisp/find-lisp.el: Enable lexical binding
15218         * lisp/find-dired.el: Enable lexical binding
15220 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15222         * lisp/kmacro.el: Use lexical binding.
15224 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15226         Use lexical-binding in dired-aux.el
15228         * lisp/dired.el: Use lexical binding.
15229         (dired-do-shell-command): Remove unused bindings.
15231 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15233         * lisp/ido.el: Use lexical binding.
15235         * lisp/whitespace.el: Use lexical binding.
15237 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15239         artist.el: Avoid error with keyboard command invocation
15241         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
15242         Call x-popup-menu with t instead of last-nonmenu-event as the
15243         value of the position argument; this allows invoking the
15244         command from the keyboard without raising an error (bug#27819).
15246 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15248         Preserve point under 'dired-auto-revert-buffer' (third case)
15250         * lisp/files.el (find-file): Use pop-to-buffer-same-window
15251         instead of switch-to-buffer.  This preserves Dired window
15252         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
15254         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15255         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
15256         The first two replace a previous test that combined them; that
15257         test intermittently fails in the Hydra build system, so maybe
15258         separating the two cases will help locate the point of
15259         failure.  The third test involves find-file but is here
15260         because it, like the others, is testing the effect of
15261         dired-auto-revert-buffer.
15263 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
15265         Do not unset user key remaps in dired-x
15267         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
15268         sets dired-x-hands-off-my-keys.  (Bug#27828)
15270 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15272         Improve documentation of 'occur'
15274         * doc/emacs/search.texi (Other Repeating Search):
15275         * lisp/replace.el (occur): Make the documentation of 'occur' be
15276         more accurate when matches overlap.  (Bug#27818)
15278 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15280         Minor copyedits of comments in faces.el
15282         * lisp/faces.el (face-font-family-alternatives): More info about
15283         requirements from "Monospace Serif".
15285 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
15287         Do not worry about paxctl on newer NetBSD
15289         Problem reported privately by Thomas Klausner.
15290         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
15291         on newer NetBSD platforms, where it is not needed.  Also use it to
15292         simplify Cygwin diagnostic.
15294 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15296         Clarify documentation of ':inherit' face attribute
15298         * doc/lispref/display.texi (Face Attributes): Document the special
15299         treatment of 'unspecified' in the ':inherit' attribute.
15301 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15303         * lisp/password-cache.el (password-data): Use a hash-table
15305         * lisp/auth-source.el (auth-source-magic): Remove.
15306         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
15307         format of password-data.
15308         (auth-source-format-cache-entry): Just use a cons.
15310         (password-cache-remove, password-cache-add, password-reset)
15311         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
15313         (Bug#26699)
15315 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15317         * lisp/subr.el (define-symbol-prop): New function
15319         (symbol-file): Make it find symbol property definitions.
15321         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
15322         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
15323         (ert-describe-test): Adjust call to symbol-file accordingly.
15325 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15327         * lisp/subr.el (method-files): Move function to cl-generic.el
15329         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
15330         (cl--generic-method-files): New function, moved from subr.el.
15331         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
15332         * test/lisp/emacs-lisp/cl-generic-tests.el:
15333         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
15335 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15337         Preserve this-command-keys across recursive-edit invocations
15339         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
15340         restore this-command-keys, to preserve it across recursive-edit.
15341         (Bug#27470)
15343 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15345         Improve doc string of 'locate-dominating-file'
15347         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
15349 2017-07-28  Drew Adams  <drew.adams@oracle.com>
15351         New commands 'apropos-local-variable', 'apropos-local-value'
15353         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
15354         New functions.  (Bug#27424)
15356         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
15357         and 'apropos-local-value'.
15358         * etc/NEWS: Mention the new commands.
15360 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15362         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
15364         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
15366 2017-07-27  Alan Mackenzie  <acm@muc.de>
15368         Fix C++ class initializers not always being fontified at mode start.
15370         The problem here happened when an "outer list" of declarations moved beyond an
15371         "inner list" containing class initializers.  These weren't being checked for
15372         by the code.
15374         Also, fix places in c-get-fontification-context where point is undefined.
15376         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
15377         not-front-decl is set, test for class initializers.  Also, anchor point in
15378         places where it is moved and is otherwise undefined.
15380 2017-07-27  Alan Mackenzie  <acm@muc.de>
15382         Fix variables in C++ "for" statement not always being fontified.
15384         The error happened when there was a comma inside template delimiters.
15386         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
15387         statements, recognize template delimiters containing "," and "&".
15389 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
15391         Add watchdog process to tramp-test36-asynchronous-requests
15393         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
15394         New defun.
15395         (tramp-test36-asynchronous-requests): Use a watchdog process,
15396         listening for SIGUSR1.
15398 2017-07-27  Alan Mackenzie  <acm@muc.de>
15400         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
15402         If a declarator is so cut off, extend the fontification chunk to include it.
15404         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
15405         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
15407 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15409         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
15411         (smerge--refine-long-words): New var.
15412         (smerge--refine-chopup-region): Use it.
15414 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15416         * lisp/url/url-cookie.el: Use lexical-binding
15418         (url-cookie-host-can-set-p): Remove unused var `last'.
15419         Use string-suffix-p.
15420         (url-cookie-list): De morgan.
15421         (url-cookie-quit): Remove.
15422         (url-cookie-mode): Inherit from special-mode.
15423         (url-cookie-mode-map): Simplify accordingly.
15425 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15427         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
15429         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
15431 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15433         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
15435         Record this as the function's definition site if it's the first def.
15437 2017-07-26  Glenn Morris  <rgm@gnu.org>
15439         * doc/lispref/loading.texi (When to Autoload): New section.
15441 2017-07-26  Glenn Morris  <rgm@gnu.org>
15443         Stop using unibyte buffers for ert backtraces
15445         * lisp/emacs-lisp/ert.el
15446         (ert-results-pop-to-backtrace-for-test-at-point):
15447         Set multibyte true, not false.  This copies a
15448         debugger-setup-buffer change from 2009-08-30, and stops the
15449         "Backtrace for" header line containing ^X and ^Y.
15451 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
15453         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
15455         * lisp/cedet/semantic/symref/grep.el
15456         (semantic-symref-grep--line-re): Delete.
15457         (semantic-symref-parse-tool-output-one-line):
15458         Use regexp and group numbers from (grep-regexp-alist).
15460 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
15462         Fix cl-defmethod indentation
15464         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
15465         Declare (indent defun).  Fixes bug#23994.
15467 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
15469         Fix two customization types in frame.el
15471         * lisp/frame.el (window-divider-default-bottom-width)
15472         (window-divider-default-right-width): Fix customization types.
15474 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
15476         Dired: Support eshell-ls from the beginning if the user wants to
15478         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
15479         as well (Bug#27817).
15480         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
15482 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
15484         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
15486 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
15488         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
15490         Adjust to change in cl-generic-ensure-function.
15492 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
15494         ls-lisp: Add an unload function and enable lexical binding
15496         Enable lexical binding.
15497         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
15498         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
15500 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
15502         register-read-with-preview: Quit if user input C-g or ESC
15504         * lisp/register.el (register-read-with-preview):
15505         Quit if user input C-g or ESC (bug#27634).
15506         * doc/emacs/regs.texi (Registers): Update manual.
15507         * test/lisp/register-tests.el (register-test-bug27634): Add test.
15509 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
15511         Recognize MirBSD Korn shell rc file
15513         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
15515 2017-07-25  Glenn Morris  <rgm@gnu.org>
15517         * configure.ac: Be explicit about ImageMagick version in summary.
15519 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
15521         Properly align global lispsym
15523         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
15524         Lisp_Symbols inside struct.
15525         * src/alloc.c (sweep_symbols): Update use of lispsym.
15526         * src/lisp.h (builtin_lisp_symbol): Likewise.
15528 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15530         Do not use ImageMagick 7 and later
15532         Suggested by Glenn Morris (Bug#25967#15).
15533         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
15535 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
15537         * lisp/progmodes/perl-mode.el: Add support for indented here docs
15539         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
15540         Recognize the new <<~ syntax for indented here docs.
15541         (perl-syntax-propertize-special-constructs): Adjust search of the
15542         end of here docs accordingly.
15544         * test/manual/indent/perl.perl: Add test for indented here docs.
15546 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
15548         (loadhist-unload-element): Move ERT and cl-generic methods
15550         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
15551         and ert methods here.
15552         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
15554         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
15555         unload method for cl-defmethod.
15556         (cl-generic-ensure-function): Remove redundant `defalias'.
15558         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
15559         setting here...
15560         (ert-deftest): ...from here.
15561         (loadhist-unload-element): Define unload method for ert-deftest.
15563 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
15565         Fix Bug#27371
15567         * lisp/loadhist.el (loadhist-unload-element): Declare for
15568         different entry types of `load-history'.
15569         (loadhist--restore-autoload): New variable.
15570         (loadhist--unload-function): New defun.
15571         (unload-feature): Use `loadhist-unload-element'.  Recommended by
15572         Stefan Monnier.  (Bug#27371)
15574         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
15575         Check, that the `tramp-file-name' structure has been unloaded.
15577 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
15579         Ensure that we parse images right in shr.el
15581         * lisp/net/shr.el (shr-image-fetched): Go back to the
15582         beginning of the buffer before trying to parse the image
15583         fetched.
15585 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15587         Update .gitignore for Valgrind and no Automake
15589         * .gitignore: Remove .deps/ since we no longer use Automake.
15590         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
15592 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15594         Merge from gnulib
15596         This incorporates:
15597         2017-07-23 Rename module 'strftime' to 'nstrftime'
15598         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
15599         * build-aux/config.guess: Copy from gnulib.
15600         * lib/nstrftime.c: Rename from lib/strftime.c.
15601         * m4/nstrftime.m4: Rename from m4/strftime.m4.
15602         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15604 2017-07-23  Philipp Stephani  <phst@google.com>
15606         Add 'rx' pattern for pcase.
15608         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
15609         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
15611 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
15613         Use a named function for global minor mode turn-on argument
15615         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
15616         New function.
15617         (global-display-line-numbers-mode): Use it.
15619 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
15621         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
15623         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
15624         from 'src/emacs'.
15626         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
15627         launched outside of a macOS application bundle, change its
15628         activation policy from the default 'prohibited' to 'regular'.
15630 2017-07-23  Alan Mackenzie  <acm@muc.de>
15632         Convert CC Mode's c-found-types from an obarray to a hash table.
15634         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
15635         rather than an obarray.
15636         (c-copy-found-types): Remove.
15637         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
15638         the new hash table.
15639         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
15641 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
15643         Fix image/svg+xml display in shr
15645         * lisp/net/shr.el (shr-put-image): Display svg images as svg
15646         (bug#27799).  I suspect the previous change was checked in by
15647         accident in conjuction with some other svg changes.
15649 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
15651         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
15653 2017-07-23  Glenn Morris  <rgm@gnu.org>
15655         Don't automatically enable Gconf if Gsettings was found
15657         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
15658         Don't test for Gconf unless specifically requested.
15659         Gconf was deprecated in favor of Gsettings several years ago.
15661 2017-07-23  Glenn Morris  <rgm@gnu.org>
15663         * configure.ac (MODULES_SUFFIX): Always give it a value.
15665         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
15667 2017-07-23  Glenn Morris  <rgm@gnu.org>
15669         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
15671 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
15673         Add line numbers display to the Options menu
15675         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
15676         (menu-bar-display-line-numbers-mode): New defun.
15677         (menu-bar-showhide-line-numbers-menu): New defvar.
15678         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
15680 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
15682         Signal error for symbol names with strange quotes (Bug#2967)
15684         * src/lread.c (read1): Signal an error when a symbol starts with a
15685         non-escaped quote-like character.
15686         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
15687         test.
15688         * etc/NEWS: Announce change.
15690 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
15692         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
15694         It turns out that this change is not needed, and it leaves several
15695         command loops settings not done.
15697         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
15698         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
15700 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
15702         Add a minor mode interface for display-line-numbers
15704         * lisp/cus-start.el: Use the new display-line-numbers group.
15705         * lisp/display-line-numbers.el: New file.
15707         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
15708         belong to linum-mode.
15709         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
15710         * etc/NEWS: Document display-line-numbers-mode and its customization
15711         variables, and mention that display-line-numbers-width is
15712         buffer-local.
15714         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
15715         typo.
15717 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
15719         Support indented HERE-DOCs in cperl-mode
15721         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
15722         indented here-docs.  (Bug#27254) (Bug#27697)
15724 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15726         Document the support for "scrollBar" X resource
15728         * doc/emacs/xresources.texi (Table of Resources): Document the new
15729         'scrollBar' setting.
15730         * etc/NEWS: Document the new 'scrollBar' setting.
15732 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
15734         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
15736         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
15737         settings.
15739 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
15741         Update ld-script mode (bug#27629)
15743         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
15744         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
15745         numbers for PROVIDE/PROVIDE_HIDDEN commands.
15746         (ld-script-builtins): New builtin function LOG2CEIL added.
15748 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15750         Index 'rectangle' in the ELisp manual
15752         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
15753         (Bug#27541)
15755 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15757         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
15759 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15761         Doc fixes for kmacro.el functions
15763         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
15764         (kmacro-end-and-call-macro): Don't use "permanent name", as that
15765         could be misinterpreted.  (Bug#27492)
15767 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
15769         ElDoc: add docstrings and minor refactoring
15771         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
15772         docstring.
15773         (turn-on-eldoc-mode): Fix capitalization.
15774         (eldoc--supported-p): Add docstring.
15775         (eldoc-schedule-timer): Add docstring and use
15776         'eldoc--supported-p'.
15777         (eldoc-message): Add docstring and make calling convention
15778         clearer.
15779         (eldoc--message-command-p):
15780         (eldoc-pre-command-refresh-echo-area):
15781         (eldoc-display-message-p):
15782         (eldoc-display-message-no-interference-p):
15783         (eldoc-print-current-symbol-info):
15784         (eldoc-docstring-format-sym-doc):
15785         (eldoc-add-command, eldoc-add-command-completions):
15786         (eldoc-remove-command, eldoc-remove-command-completions):
15787         Add docstring.  (Bug#27230)
15789 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
15791         Mention 'C-M-i' as key binding for 'ispell-complete-word'
15793         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
15794         can also be invoked by C-M-i.  (Bug#27349)
15796 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
15798         Fix the eww-search-words description in the Emacs manual
15800         * doc/emacs/search.texi (Word Search):
15801         Include the key binding for eww-search-words in the manual.
15802         Fix the spelling of the 'eww-search-words' command.
15804 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
15806         Introduce defcustom 'executable-prefix-env'
15808         * lisp/progmodes/executable.el (executable-prefix): Update the doc
15809         string.
15810         (executable-prefix-env): New defcustom.
15811         (executable-set-magic): Use executable-prefix-env.
15813         * etc/NEWS: Document the new variable.
15815 2017-07-22  Glenn Morris  <rgm@gnu.org>
15817         * test/lisp/ibuffer-tests.el: Delete temporary files.
15819 2017-07-21  Glenn Morris  <rgm@gnu.org>
15821         Further attempt to avoid hang in network-stream-tests
15823         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
15824         Limit the time we wait for the external process.
15826 2017-07-21  Glenn Morris  <rgm@gnu.org>
15828         Stop skipping many ibuffer tests by default
15830         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
15831         Rename so it sorts first.
15832         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
15833         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
15834         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
15835         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
15836         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
15837         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
15838         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
15840 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15842         Use lexical-binding in todo-mode.el
15844         Adjust code accordingly and make various minor improvements.
15846         * lisp/calendar/todo-mode.el: Enable lexical-binding.
15847         (dayname, monthname, day, month, year): Make forward defvars
15848         of these keywords from macros defined in calendar.el; wrap
15849         them in with-no-warnings.
15850         (todo-files, todo-files-function, todo-date-pattern)
15851         (todo-mode-line-function, todo-show, todo-forward-category)
15852         (todo-edit-item--header, todo-set-category-number)
15853         (todo-adjusted-category-label-length)
15854         (todo-total-item-counts, todo-filter-items)
15855         (todo-print-buffer-function, todo-convert-legacy-date-time)
15856         (todo-category-number, todo-category-completions)
15857         (todo-read-file-name, todo-read-category)
15858         (todo-validate-name, todo-read-date)
15859         (todo-set-show-current-file, todo-modes-set-1)
15860         (todo-modes-set-2, todo-modes-set-3, todo-mode):
15861         Use #' instead of ' to quote functions.
15862         (todo-files): Use \' instead of $ in regexp.
15863         (todo--files-type-list): New function.
15864         (todo-default-todo-file, todo-category-completions-files)
15865         (todo-filter-files, todo-multiple-filter-files)
15866         (todo-reevaluate-default-file-defcustom)
15867         (todo-reevaluate-category-completions-files-defcustom)
15868         (todo-reevaluate-filter-files-defcustom): Use it.
15869         (todo-show, todo-rename-file, todo-move-category)
15870         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
15871         (todo-item-undone, todo-unarchive-items, todo-search)
15872         (todo-filter-items, todo-filter-items-1, todo-find-item)
15873         (todo-category-select, todo-read-date)
15874         (todo-nondiary-marker-matcher, todo-date-string-matcher)
15875         (todo-diary-expired-matcher, todo-convert-legacy-files)
15876         (todo-read-category): Reformat to avoid code hiding behind a
15877         more deeply embedded element.
15878         (todo-forward-category, todo-set-category-number):
15879         Use 'funcall' instead of 'apply'.
15880         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
15881         (todo-edit-category-diary-inclusion)
15882         (todo-insert-sort-button, todo-insert-category-line)
15883         (todo-multiple-filter-files): Mark unused local variables.
15884         (todo-edit-item--header, todo-move-item, todo-print-buffer)
15885         (todo-edit-item--header, todo-move-item, todo-check-file)
15886         (todo-edit-item--next-key): Remove unused local variables.
15887         (todo-insert-sort-button, todo-insert-category-line):
15888         Use a closure instead of a backquoted lambda.
15889         (todo-update-categories-display, todo-print-buffer): Simplify code.
15890         (todo-print-buffer-function): Document calling convention.
15891         (todo-category-completions): Use cl-pushnew instead of add-to-list.
15892         (todo-mode-map, todo-archive-mode-map)
15893         (todo-categories-mode-map, todo-filtered-items-mode-map):
15894         Remove superfluous call of suppress-keymap, since it's already
15895         in the parent special-mode-map.
15897 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
15899         dired: Revert buffer when DIRNAME is a cons
15901         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
15902         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
15903         Update the comments.
15904         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
15906 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
15908         Handle when dired-directory is a cons in some Dired functions
15910         * lisp/dired-aux.el (dired-rename-subdir-1)
15911         * lisp/dired-x.el (dired-mark-omitted):
15912         Handle when dired-directory is a cons.
15914 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
15916         Make eshell-next-prompt more reliable (Bug#27405)
15918         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
15919         `eshell-prompt-regexp' (and `read-only' text-property if
15920         `eshell-highlight-prompt' is set) rather than trying to use
15921         `forward-paragraph'.
15922         (eshell-previous-prompt): Don't count prompt on current line.
15924 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
15926         Simplify recent gnutls.c changes
15928         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
15929         All uses replaced by calls to explicit_bzero; that’s clear enough.
15930         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
15931         coalescing duplicate actions.  There is no need to invoke
15932         SAFE_FREE before calling ‘error’.
15934 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
15936         Stylistic changes in tramp-cache.el
15938         * lisp/net/tramp-cache.el (tramp-get-file-property)
15939         (tramp-set-file-property): Use `bound-and-true-p'.  Add
15940         counter variables to `tramp-cache-unload-hook'.
15942 2017-07-20  Glenn Morris  <rgm@gnu.org>
15944         * admin/notes/hydra: Small updates.
15946 2017-07-20  Glenn Morris  <rgm@gnu.org>
15948         Make tramp unloading handle debug counter variables
15950         * lisp/net/tramp-cache.el (tramp-get-file-property)
15951         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
15953 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
15955         Fix hscrolling calculations when display-line-numbers is set
15957         * src/xdisp.c (move_it_in_display_line_to): Account for line
15958         numbers in hscrolled lines.  (Bug#27756)
15960 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15962         Fix the bogus change made 13 years ago (bug#27084)
15964         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
15965         Fix the way to test if there is no visible header (bug#27084).
15967 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
15969         Use grep's --null option (Bug#6843)
15971         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
15972         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
15973         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
15974         constants, replacing `grep-regexp-alist'.
15975         (grep-regex-alist): Mark the variable obsolete, add a new function of
15976         the same name to replace it.
15977         (grep-compute-defaults): Compute default for
15978         `grep-use-null-filename-separator'.
15979         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
15980         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
15981         according to `grep-use-null-filename-separator'.
15982         * lisp/progmodes/xref.el (xref-collect-matches): Call
15983         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
15984         grep-regexp-alist match groups.
15985         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
15986         item under "Grep" heading as well.
15988 2017-07-19  Philipp Stephani  <phst@google.com>
15990         * src/gnutls.c (clear_storage): Define only if needed.
15992 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
15994         Adjust todo-quit to recent change in dired
15996         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
15997         bury-buffer to exit todo-mode.  This restores the desired behavior
15998         of not immediately returning to the exited todo-mode buffer on
15999         quitting another buffer, which a dired bug fix had changed (see
16000         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
16002 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
16004         Add test for bugs 7131, 27762
16006         Require 'ls-lisp' at top of the file.
16007         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
16008         New tests.
16009         (dired-test-bug27693): Delete Dired buffer at the end.
16011 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
16013         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
16015 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
16017         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
16019         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
16021 2017-07-18  Glenn Morris  <rgm@gnu.org>
16023         Use a more specific test for running on hydra.nixos.org
16025         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
16026         * test/Makefile.in (WRITE_LOG):
16027         * test/lisp/filenotify-tests.el:
16028         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
16029         (eieio-test-method-order-list-6):
16030         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
16031         (eieio-test-37-obsolete-name-in-constructor):
16032         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
16034 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16036         Avoid infloop due to Eshell's "smart" redisplay
16038         * src/xdisp.c (pos_visible_p): Save and restore the window's
16039         mode-line and header-line height.  (Bug#27752)
16041 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
16043         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
16045 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16047         Fix indentation when display-line-numbers is non-nil
16049         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
16050         to go one more tab stop to display a TAB.  (Bug#27743)
16052 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
16054         Don't use gtk_widget_get_scale_factor on old GTK3 versions
16056         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
16057         only present since GTK 3.10.
16059 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
16061         Let delete-selection-mode work with popup-menu commands (Bug#27569)
16063         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
16064         `this-command' set to the selected command.
16066 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
16068         Port gnutls.c to older (buggier?) GnuTLS
16070         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
16071         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
16072         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
16073         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
16074         perhaps hydra was using a modified GnuTLS.
16075         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
16076         is at the end of the list returned by gnutls_cipher_list,
16077         or that the earlier ciphers all have non-null names.
16079 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16081         Fix relocation with named cell referred to by a one-symbol formula.
16083         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
16084         work also with one symbol formulas.
16086         * test/lisp/ses-tests.el
16087         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
16088         test for renaming with relocating a one symbol formula.
16090 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16092         Fix symbol completion and document it.
16094         * doc/misc/ses.texi (Configuring what printer function
16095         applies): Add description of keys for completing local printer
16096         symbols and listing local printers in a help buffer.
16097         (Formulas): Add decription for key to list the named cell
16098         symbols in a help buffer.
16100         * lisp/ses.el (ses-completion-keys): New constant.
16101         (ses--completion-table): New defvar.
16102         (ses--list-orig-buffer): New defvar.
16103         (ses-mode-edit-map): Fixed for symbol completion, plus add
16104         help functions to list named cells or local printers.
16105         (ses-edit-cell-complete-symbol)
16106         (ses--edit-cell-completion-at-point-function): New defuns for
16107         completion during formula edition.
16108         (ses-edit-cell): Redefine dynamically edit keymap for
16109         completion keys to point at the right function.
16110         (ses-read-printer-complete-symbol)
16111         (ses--read-printer-completion-at-point-function): New defuns
16112         for completion during printer edition.
16113         (ses-read-printer): Redefine dynamically edit keymap for
16114         completion keys to point at the right function.
16115         (ses-list-local-printers): New defun.
16116         (ses-list-named-cells): New defun.
16118 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16120         Move comments around
16122 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16124         Make scaling work (?) on pre-GTK3 systems
16126         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
16127         (xg_get_scale): Use it on non-GTK3 systems.
16129 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16131         Always return the GDK scale
16133         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
16135 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16137         Remove usage of the GDK_SCALE variable
16139         * src/gtkutil.c (xg_get_gdk_scale): Remove.
16140         (xg_get_default_scrollbar_height)
16141         (xg_get_default_scrollbar_width): Pass in a frame to check for
16142         scaling.
16143         (xg_frame_set_char_size): Use the API for querying scale
16144         instead of looking at the GDK_SCALE variable.
16145         (xg_get_default_scrollbar_width): Ditto.
16146         (xg_get_default_scrollbar_height): Ditto.
16147         (xg_update_scrollbar_pos): Ditto.
16149         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
16150         frame to get the width.
16152 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16154         Get positions of menus and tooltips right on HiDPI
16156         * src/gtkutil.c (xg_get_scale): New function.
16157         (xg_show_tooltip): Use it.
16159         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
16160         right place.
16162 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
16164         Allow user control on what starts and ends a paragraph for bidi
16166         * src/buffer.h (struct buffer): New members
16167         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
16168         * src/buffer.c (bset_bidi_paragraph_start_re)
16169         (bset_bidi_paragraph_separate_re): New setters/
16170         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
16171         bidi-paragraph-separate-re.
16172         (init_buffer_once): Init the values of bidi-paragraph-start-re and
16173         bidi-paragraph-separate-re.
16174         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
16175         New per-buffer variables.
16176         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
16177         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
16178         (bidi_move_to_visually_next): Handle correctly the case when the
16179         separator matches an empty string.  (Bug#27526)
16181         * doc/emacs/mule.texi (Bidirectional Editing):
16182         * doc/lispref/display.texi (Bidirectional Display): Document
16183         bidi-paragraph-start-re and bidi-paragraph-separate-re.
16185         * etc/NEWS: Mention bidi-paragraph-start-re and
16186         bidi-paragraph-separate-re.
16188 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16190         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
16192 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16194         alist-get: Add optional arg TESTFN
16196         If TESTFN is non-nil, then it is the predicate to lookup
16197         the alist.  Otherwise, use 'eq' (Bug#27584).
16198         * lisp/subr.el (alist-get): Add optional arg FULL.
16199         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
16200         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
16201         * doc/lispref/lists.texi (Association Lists): Update manual.
16202         * etc/NEWS: Announce the changes.
16203         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
16204         (test-map-elt-testfn): New tests.
16206 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
16208         Fix `tramp-test39-unload'
16210         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
16211         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
16212         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
16213         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
16214         variables and autoload functions; they are not removed.  Check
16215         also for `-function(s)'.
16217 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
16219         Preserve point under 'dired-auto-revert-buffer' (second case)
16221         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
16222         of switch-to-buffer.  This preserves Dired window point when
16223         dired-auto-revert-buffer is non-nil.  (Bug#27243)
16225         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
16227 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
16229         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
16231         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
16232         undefined to allow --with-gnutls=no builds to proceed.
16234 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16236         * src/gnutls.c: Restore some comments.
16238 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16240         Use memset, not bzero
16242         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
16243         of the (less-portable) bzero.
16245 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16247         Use explicit_bzero to clear GnuTLS keys
16249         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
16250         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
16251         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16252         * src/gnutls.c (clear_storage): New function.
16253         (gnutls_symmetric_aead): Use it instead of memset.
16255 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16257         Merge from gnulib
16259         This incorporates:
16260         2017-07-16 explicit_bzero: new module
16261         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
16262         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
16263         * m4/string_h.m4:
16264         Copy from Gnulib.
16265         * lib/gnulib.mk.in: Regenerate.
16267 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
16269         Fix vc-src-dir-status-files
16271         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
16272         copy-paste from b1a765b3 (bug#27641).
16274 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
16276         Fix mismatched parens
16278         * etc/NEWS.21: Remove excess parenthesis in code example
16280 2017-07-16  Alan Third  <alan@idiocy.org>
16282         Add missing declare-function for new function
16284         * lisp/frame.el: Add declare function for
16285         ns-mouse-absolute-pixel-position.
16287 2017-07-16  R. Bernstein  <rocky@gnu.org>
16289         Realgud for tango themes
16291 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
16293         Fix test when running from test/lisp/subr-tests.elc
16295         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
16296         assume a lambda expression will be `equal' to its quoted form.  That's
16297         not true if the lambda expression has been compiled.
16299 2017-07-15  Alan Third  <alan@idiocy.org>
16301         Fix some frame handling issues on NS
16303         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
16304         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
16305         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
16306         relationship if it's broken.
16308 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
16310         ls-lisp: Fix file size format
16312         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
16313         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
16314         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
16316 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16318         Avoid link errors with older versions of GnuTLS
16320         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
16321         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
16322         calls GnuTLS functions which might be unavailable in older
16323         versions of GnuTLS.
16325 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16327         Improve comments in faces.el
16329         * lisp/faces.el (face-font-family-alternatives): Improve
16330         commentary.
16332 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16334         Improve some GnuTL error messages
16336         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
16337         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
16339 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16341         Fix the Elisp manual wrt GnuTL cryptography
16343         * doc/lispref/elisp.texi (Top): Update the master menu.
16344         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
16345         avoid errors in makeinfo.
16347 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16349         Fix compilation of gnutls.c with older GnuTLS
16351         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
16352         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
16353         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
16355 2017-07-15  rocky  <rb@dustyfeet.com>
16357         Realgud for two more light themes
16359 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16361         Rearrange MS-Windows code that dynamically loads GnuTLS functions
16363         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
16364         of functions using the same preprocessing directives as in the code.
16366 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16368         Fix the MS-Windows build broken in gnutls.c
16370         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
16371         loading code to after 'capabilities' has been calculated.  Remove
16372         redundant comments.
16374 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16376         src/image.c (compute_image_size): Remove superfluous checks.
16378         * src/image.c (compute_image_size): Remove superfluous checks.
16380 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16382         Make combinations of :width/:max-height image specs work reliably
16384         * doc/lispref/display.texi (ImageMagick Images): Document
16385         :width/:max-height combinations (etc) (bug #25583).
16387         * src/image.c (compute_image_size): Handle :width/:max-height
16388         (etc) combinations consistently (by letting "max" win and
16389         preserve ratio).
16391         * test/manual/image-size-tests.el (image-size-tests): Add
16392         tests for :width/:max-height (etc) combinations.
16394 2017-07-15  Glenn Morris  <rgm@gnu.org>
16396         Fix recent theme changes
16398         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
16399         Fix typos in recent changes.
16401 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16403         GnuTLS integer-overflow and style fixes
16405         This tweaks the recently-added GnuTLS improvements so that
16406         they avoid some integer-overflow problems and follow typical
16407         Emacs style a bit better.
16408         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
16409         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
16410         configure-time results are displayed.
16411         * src/fns.c (extract_data_from_object): Return char *, not char
16412         const *, since one gnutls caller wants a non-const pointer.  Use
16413         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
16414         instead of rolling our own code.  Prefer signed types to unsigned
16415         when either will do.  Report problems for lengths out of range,
16416         instead of silently mishandling them.
16417         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
16418         callers.  All callers of gnutls_sterror changed.
16419         (Fgnutls_boot): Check for integers out of range rather than
16420         silently truncating them.
16421         (gnutls_symmetric_aead): Check for integer overflow in size
16422         calculations.
16423         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
16424         Prefer signed to unsigned integers where either will do.
16425         (gnutls_symmetric_aead, gnutls_symmetric):
16426         Work even if ptrdiff_t is wider than ‘long’.
16427         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
16428         Check for integer overflow in algorithm selection.
16430 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
16432         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
16434 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16436         Fix the MS-Windows build due to added GnuTLS functions
16438         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
16439         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
16440         functions.  Add #define redirections for new functions.
16441         (gnutls_symmetric_aead): Fix format specs to be more portable when
16442         printing ptrdiff_t arguments.
16443         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
16444         wrapper.
16445         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
16447         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
16448         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
16449         gnutls-available-p, otherwise GnuTLS functions might not be loaded
16450         from the DLL on MS-Windows.
16452 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16454         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
16456         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
16457         Dig into advice wrappers to find the "real" signature.
16458         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
16459         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
16460         since bytecode functions are now handled in byte-compile--function-signature.
16462         * lisp/files.el (create-file-buffer, insert-directory):
16463         Remove workaround introduced for (bug#14860).
16465         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
16467         * lisp/help.el (help-function-arglist):
16468         Dig into advice wrappers to find the "real" signature.
16470 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
16472         GnuTLS HMAC and symmetric cipher support
16474             * etc/NEWS: Add news for new feature.
16476             * doc/lispref/text.texi (GnuTLS Cryptography): Add
16477             documentation.
16479             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
16480             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
16482             * src/fns.c (Fsecure_hash_algorithms): Add function to list
16483             supported `secure-hash' algorithms.
16484             (extract_data_from_object): Add data extraction function that
16485             can operate on buffers and strings.
16486             (secure_hash): Use it.
16487             (Fsecure_hash): Mention `secure-hash-algorithms'.
16489             * src/gnutls.h: Include gnutls/crypto.h.
16491             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
16492             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
16493             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
16494             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
16496             * test/lisp/net/gnutls-tests.el: Add tests.
16498 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16500         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
16502         It's also defined in cl-extra.el.
16504 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16506         Do not convert ij and IJ to compatibility chars
16508         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
16509         Problem reported by James Cloos (Bug#518#10).
16511 2017-07-14  Toon Claes  <toon@iotcl.com>
16513         Remove Turkish ligatures from Dutch input method
16515         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
16517 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16519         Improve stack-overflow heuristic on GNU/Linux
16521         Problem reported by Steve Kemp (Bug#27585).
16522         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
16523         by current_thread->stack_top.
16524         (record_in_backtrace): Set current_thread->stack_top.
16525         This is for when the Lisp interpreter calls itself.
16526         * src/lread.c (read1): Set current_thread->stack_top.
16527         This is for recursive s-expression reads.
16528         * src/print.c (print_object): Set current_thread->stack_top.
16529         This is for recursive s-expression printing.
16530         * src/thread.c (mark_one_thread): Get stack top first.
16531         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
16533 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16535         Remove duplicate cl--random-state definition
16537         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
16538         This variable is now defined in cl-extra.el (Bug#27617).
16540 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
16542         Adjust timer in tramp-test36-asynchronous-requests
16544         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
16545         Adjust timer if it takes too much time.
16547 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16549         Always display rmail progress report under user control
16551         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
16552         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
16554 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16556         Avoid byte-compilation warnings for advised functions
16558         * lisp/files.el (insert-directory, create-file-buffer): Add an
16559         advertised-calling-convention form to shut up byte-compilation
16560         warnings.  (Bug#14860)
16562 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16564         Add assertion related to display-line-numbers
16566         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
16567         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
16568         code.  (Bug#27668)
16570 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16572         Prevent display corruption when display-line-numbers is set
16574         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
16575         due to display-line-numbers, clear the window's desired glyph
16576         matrix before returning, as the following call to try_window will
16577         call display_line, which expects rows of the desired matrix
16578         cleared.  (Bug#27668)
16580 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16582         Revert "Use fixed-pitch font for display-line-numbers"
16584         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
16585         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
16586         popular demand.  For relevant discussions, see
16588          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
16589          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
16591 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16593         Merge from gnulib
16595         This incorporates:
16596         2017-07-13 Improve cross-compilation guesses for native Windows
16597         2017-07-11 More systematic m4 quoting and indentation
16598         2017-07-10 Make sure $host and $host_os are defined when used
16599         2017-07-03 stdioext: Port to OpenVMS
16600         2017-06-24 xalloc-oversized: port to icc
16601         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
16602         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
16603         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
16604         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
16605         Copy from Gnulib.
16607 2017-07-13  Alan Mackenzie  <acm@muc.de>
16609         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
16611         This fontification anomaly happened because after deleting the ">",
16612         c-forward-<>-arglist parses the preceding identifier as a putative type but
16613         stores it in c-found-types before it becomes clear it is not an unambiguous
16614         type.  c-forward-<>-arglist fails, leaving the spurious type id in
16615         c-found-types.  Fix this by "binding" c-found-types "to itself" in
16616         c-forward-<>-arglist, and restoring the original value when that function call
16617         fails.
16619         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
16620         (c-forward-<>-arglist): Record the original value of c-found-types at the
16621         beginning of the function, and restore it at the end on failure.
16623         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
16624         accurately.
16626 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16628         Add tests for SES, and fix one more cell renaming bug.
16630         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
16631         relocate value for named cells as they keep the same symbol.
16632         (ses-rename-cell): Set new cell name symbol to cell value --- do not
16633         rely on recalculating.  Push cells with updated data --- cell name,
16634         cell reference list, or cell formula --- to deferred write list.
16636         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
16638 2017-07-12  Alan Mackenzie  <acm@muc.de>
16640         Fix some bugs in c-defun-name.  This fixes bug #25623.
16642         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
16643         etc.
16645 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
16647         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
16649         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
16650         c-mode-base-map if possible.
16652 2017-07-12  Alan Mackenzie  <acm@muc.de>
16654         CC Mode: create and use c-set-keymap-parent.
16656         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
16658         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
16659         set-keymap-parents.
16660         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
16662 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
16664         Minor tweaks of new line number display variables
16666         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
16667         (Vdisplay_line_number_width): Rename to
16668         Vdisplay_line_numbers_width.
16669         (maybe_produce_line_number): Comply with above rename.
16670         * lisp/cus-start.el (standard):
16671         * lisp/frame.el (top-level):
16672         * etc/NEWS: Comply with renaming of
16673         `display-line-number-width' to `display-line-numbers-width'.
16675 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
16677         Avoid assertion violations in close_infile_unwind
16679         * src/lread.c (close_infile_unwind): A temporary band-aid solution
16680         for bug#27642: allow 'infile' be NULL.
16682 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
16684         Use fixed-pitch font for display-line-numbers
16686         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
16687         even if the default face uses a variable-pitch font.  Reported by
16688         James Cloos <cloos@jhcloos.com>.
16690 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
16692         Improve documentation of display-line-numbers
16694         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
16695         doc string.  Suggested by Alex <agrambot@gmail.com>.
16697 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
16699         Add an optional testfn parameter to assoc
16701         * src/fns.c (assoc): New optional testfn parameter used for comparison
16702         when provided.
16703         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
16704         'testfn' parameter.
16705         * src/buffer.c:
16706         * src/coding.c:
16707         * src/dbusbind.c:
16708         * src/font.c:
16709         * src/fontset.c:
16710         * src/gfilenotify.c:
16711         * src/image.c:
16712         * src/keymap.c:
16713         * src/process.c:
16714         * src/w32fns.c:
16715         * src/w32font.c:
16716         * src/w32notify.c:
16717         * src/w32term.c:
16718         * src/xdisp.c:
16719         * src/xfont.c: Add a third argument to Fassoc calls.
16720         * etc/NEWS:
16721         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
16723 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
16725         Use `with-demoted-errors' in Tramp
16727         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
16729         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
16731 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
16733         Add Quick Start Guide to Tramp manual
16735         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
16736         "MS Windows".
16737         (Quick Start Guide): New node.
16739         * doc/misc/trampver.texi:
16740         * lisp/net/trampver.el: Change version to "2.3.3-pre".
16742 2017-07-10  Glenn Morris  <rgm@gnu.org>
16744         Fix failing module tests on GNU/Linux
16746         * test/src/emacs-module-tests.el
16747         (module--test-assertions--load-non-live-object)
16748         (module--test-assertions--call-emacs-from-gc):
16749         Avoid test failures due to backtraces.
16751 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
16753         Fix core dump in substitute-object-in-subtree
16755         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
16756         would dump core, since the C code would recurse indefinitely through
16757         the infinite structure.  This patch adds an argument to the function,
16758         and renames it to lread--substitute-object-in-subtree as the function
16759         is not general-purpose and should not be relied on by outside code.
16760         See Bug#23660.
16761         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
16762         not Lisp_Object, so that callers need not cons unnecessarily.
16763         All callers changed.  Also, remove related #if-0 code that was
16764         “temporary” in the early 1990s and has not been compilable for
16765         some time.
16766         * src/lread.c (struct subst): New type, for substitution closure data.
16767         (seen_list): Remove this static var, as this info is now part of
16768         struct subst.  All uses removed.
16769         (Flread__substitute_object_in_subtree): Rename from
16770         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
16771         doesn’t dump core when called from the top level with an
16772         already-cyclic structure.  All callers changed.
16773         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
16774         (substitute_object_recurse): Take a single argument SUBST rather
16775         than a pair OBJECT and PLACEHOLDER, so that its address can be
16776         passed around as part of a closure; this avoids the need for an
16777         AUTO_CONS call.  All callers changed.  If the COMPLETED component
16778         is t, treat every subobject as potentially circular.
16779         (substitute_in_interval): Take a struct subst * rather than a
16780         Lisp_Object, for the closure data.  All callers changed.
16781         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
16782         New test, to check that the core dump does not reoccur.
16784 2017-07-10  Philipp Stephani  <phst@google.com>
16786         Minor simplification of module_free_global_ref
16788         * src/emacs-module.c (module_free_global_ref): Remove unused variable
16789         'hashcode'.  Inline variable 'value' that's only used once.
16791 2017-07-10  Philipp Stephani  <phst@google.com>
16793         Re-add a useful assertion
16795         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
16796         the reference count is zero.  This assertion was removed in commit
16797         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
16798         test performed by XFASTINT before, because the previous reference
16799         count could have been zero already in the case of a buggy
16800         implementation.  This assertion might have detected Bug#27587.
16802 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
16804         Fix bug in module_free_global_ref (Bug#27587)
16806         * src/emacs-module.c (module_free_global_ref): Actually remove entry
16807         from hash table.
16809 2017-07-09  Philipp Stephani  <phst@google.com>
16811         Further improve electric quote support for Markdown (Bug#24709)
16813         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
16814         values.  Therefore 'electric-quote-mode' recognized it as a
16815         programming mode.  Fix this by first checking whether the current
16816         major mode is derived from 'text-mode'.
16818         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
16819         'text-mode' as stronger signal than comment syntax.
16821         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
16822         (electric-quote-markdown-in-code): Adapt unit tests.
16824 2017-07-09  Philipp Stephani  <phst@google.com>
16826         Remove pointless code in 'electric-quote-mode'
16828         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
16829         pointless form.
16831 2017-07-09  Philipp Stephani  <phst@google.com>
16833         Refactor 'electric-quote-mode'
16835         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
16836         local variable 'start', which was misnamed and only used once.
16838 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
16840         Avoid crashes on MS-Windows starting 64-bit .NET executables
16842         * src/w32proc.c (w32_executable_type): Don't assume that the
16843         import directory in a DLL will always be non-NULL.  (Bug#27527)
16845 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16847         Avoid compilation warning in files.el
16849         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
16850         warning due to its use in auto-save-visited-mode.
16852 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16854         Improve indexing of VC-related stuff in the Emacs manual
16856         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
16857         entry.  (Bug#27627)
16859 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16861         Speed up display of line numbers for very large buffers
16863         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
16864         using values cached by mode-line display of line numbers.
16865         (Bug#27622)
16867 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
16869         Define internal_border_parts for window systems only (Bug#27615)
16871         * src/keyboard.c: (internal_border_parts): Define only
16872         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
16874 2017-07-09  R. Bernstein  <rocky@gnu.org>
16876         Add realgud faces faces to whiteboard...
16878         Adjust wheatgrass to use underline for enabled/disabled breakpoints
16880 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16882         Optimize UCS normalization tests
16884         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
16885         * test/lisp/international/ucs-normalize-tests.el
16886         (ucs-normalize-tests--parse-column): Use character instead of string
16887         of length 1 for terminator.  Convert return value into string since
16888         all callers need that form anyway.
16889         (ucs-normalize-tests--normalization-equal-p): Rename from
16890         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
16891         messing with narrowing.  Take string to compare against and insert it
16892         into buffer so that compare-buffer-substrings can be used instead of
16893         allocating a new string from buffer contents.
16894         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
16895         for comparing single character.
16896         (ucs-normalize-tests--rule1-holds-p)
16897         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
16898         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
16899         `='.
16901 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16903         Update failing lines for UCS normalize tests
16905         * test/lisp/international/ucs-normalize-tests.el
16906         (ucs-normalize-tests--failing-lines-part2): Update for new
16907         admin/unidata/NormalizationTest.txt version.
16909 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16911         Semi-automate the procedure for updating UCS normalize test bad lines
16913         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
16914         commentary describing a manual procedure for producing the updated
16915         failing lines, it did not actually work.  Replace it with pointer to
16916         new function which prints the updated values.
16917         (ucs-normalize-tests--rule1-holds-p): Renamed from
16918         ucs-normalize-tests--invariants-hold-p.
16919         (ucs-normalize-tests--rule2-holds-p): Renamed from
16920         ucs-normalize-tests--invariants-rule2-hold-p.
16921         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
16922         ucs-normalize-tests--invariants-failing-for-part.
16923         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
16924         ucs-normalize-tests--invariants-failing-for-lines.
16925         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
16926         (ucs-normalize-part2): Set it.
16927         (ucs-normalize-part1): Always run through to end of test before
16928         checking for failures.
16929         (ucs-normalize-tests--insert-failing-lines)
16930         (ucs-normalize-check-failing-lines): New functions, used to update
16931         the *--failing-lines-part* variables.
16933 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16935         * lisp/cus-start.el (standard): Spelling fix.
16937 2017-07-08  Philipp Stephani  <phst@google.com>
16939         Module assertions: check for garbage collections
16941         It's technically possible to write a user pointer finalizer that calls
16942         into Emacs module functions.  This would be disastrous because it
16943         would allow arbitrary Lisp code to run during garbage collection.
16944         Therefore extend the module assertions to check for this case.
16946         * src/emacs-module.c (module_assert_thread): Also check whether a
16947         garbage collection is in progress.
16949         * test/data/emacs-module/mod-test.c (invalid_finalizer)
16950         (Fmod_test_invalid_finalizer): New test module functions.
16951         (emacs_module_init): Register new test function.
16953         * test/src/emacs-module-tests.el (module--test-assertion)
16954         (module--with-temp-directory): New helper macros.
16955         (module--test-assertions--load-non-live-object): Rename existing
16956         unit test, use helper macros.
16957         (module--test-assertions--call-emacs-from-gc): New unit test.
16959 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16961         Capitalize the menu entry for display-line-numbers
16963         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
16964         for display-line-numbers.  Suggested by Martin Rudalics
16965         <rudalics@gmx.at>.
16967 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16969         Update Unicode data and files to Unicode 10.0
16971         * admin/notes/unicode:
16972         * admin/unidata/README:
16973         * admin/unidata/BidiBrackets.txt:
16974         * admin/unidata/BidiMirroring.txt:
16975         * admin/unidata/Blocks.txt:
16976         * admin/unidata/IVD_Sequences.txt:
16977         * admin/unidata/NormalizationTest.txt:
16978         * admin/unidata/SpecialCasing.txt:
16979         * admin/unidata/UnicodeData.txt:
16980         * lisp/international/characters.el:
16981         * lisp/international/fontset.el (script-representative-chars):
16982         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
16984 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
16986         Support '=' in Scheme and Lisp tags in 'etags'
16988         * lib-src/etags.c (get_lispy_tag): New function.
16989         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
16990         * test/manual/etags/CTAGS.good:
16991         * test/manual/etags/ETAGS.good_1:
16992         * test/manual/etags/ETAGS.good_2:
16993         * test/manual/etags/ETAGS.good_3:
16994         * test/manual/etags/ETAGS.good_4:
16995         * test/manual/etags/ETAGS.good_5:
16996         * test/manual/etags/ETAGS.good_6:
16997         * test/manual/etags/Makefile:
16998         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
16999         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
17001 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
17003         Avoid compiler warnings in xdisp.c debugging code
17005         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
17006         Use pD directives for ptrdiff_t values instead of pI, to avoid
17007         compilation warnings on 64-bit hosts.  (Bug#27597)
17009 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17011         Commentary enhancement in frame.el
17013         * lisp/frame.el: Explain how to test whether a variable needs to
17014         be added to the list of those which are watched for buffer
17015         redisplay.
17017 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
17019         Support display of line numbers natively
17021         This merges branch 'line-numbers'.
17022         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
17023         function.
17024         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
17025         * src/dispextern.h (struct it): New members pt_lnum, lnum,
17026         lnum_bytepos, lnum_width, and lnum_pixel_width.
17027         * src/indent.c (line_number_display_width): New function,
17028         refactored from line-number width calculations in vertical-motion.
17029         (Fvertical_motion): Call line_number_display_width when the width
17030         of line-number display is needed.
17031         (Fline_number_display_width): New defun.
17032         (syms_of_indent): Defsubr it.
17033         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
17034         the width used up by line numbers by looking near the window-start
17035         point.  If window-start is outside of the accessible portion,
17036         temporarily widen the buffer.
17037         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
17038         space taken by the line-number display.
17039         * src/xdisp.c (display_count_lines_logically)
17040         (display_count_lines_visually, maybe_produce_line_number)
17041         (should_produce_line_number, row_text_area_empty): New functions.
17042         (try_window_reusing_current_matrix): Don't use this method when
17043         display-line-numbers is in effect.
17044         (try_window_id, try_cursor_movement): Disable these optimizations
17045         when the line-number-current-line face is different from
17046         line-number face and for relative line numbers.
17047         (try_window_id, redisplay_window, try_cursor_movement): For
17048         visual line-number display, disable the same redisplay
17049         optimizations as for relative.
17050         (x_produce_glyphs): Adjust tab stops for the horizontal
17051         space taken by the line-number display.
17052         (hscroll_window_tree): Adjust hscroll calculations to line-number
17053         display.
17054         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
17055         math.h; all users changed.
17056         (set_cursor_from_row): Fix calculation of cursor X coordinate in
17057         R2L rows with display-produced glyphs at the beginning.
17058         (display_line): Use should_produce_line_number to determine
17059         whether a line number should be produced for each glyph row, and
17060         maybe_produce_line_number to produce line numbers.
17061         Don't display line numbers in the minibuffer and in tooltip
17062         frames.
17063         Call row_text_area_empty to verify that a glyph
17064         row's text area is devoid of any glyphs that came from a buffer or
17065         a string.  This fixes a bug with empty-lines indication
17066         disappearing when line numbers or line-prefix are displayed.
17067         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
17068         <display-line-number-width>: New buffer-local variables.
17069         <display-line-numbers-current-absolute>: New variable.
17071         * lisp/cus-start.el (standard): Provide customization forms for
17072         display-line-numbers and its sub-features.
17073         * lisp/faces.el (line-number, line-number-current-line): New faces.
17074         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
17075         display-line-numbers-current-absolute, and
17076         display-line-number-width to the list of variables that should
17077         trigger redisplay of the current buffer.
17078         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
17079         turn display-line-numbers on and off.
17080         (toggle-display-line-numbers): New function.
17081         * lisp/simple.el (last--line-number-width): New internal variable.
17082         (line-move-visual): Use it to adjust temporary-goal-column when
17083         line-number display changes its width.
17085         * doc/emacs/basic.texi (Position Info): Add cross-reference to
17086         "Display Custom", for line-number display.
17087         * doc/emacs/custom.texi (Init Rebinding):
17088         * doc/emacs/modes.texi (Minor Modes): Remove references to
17089         linum-mode.
17090         * doc/emacs/display.texi (Display Custom): Describe the
17091         line-number display.
17092         * doc/lispref/display.texi (Size of Displayed Text): Document
17093         line-number-display-width.
17095         * etc/NEWS: Document display-line-numbers and its customizations.
17097 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17099         Fix more ungetc bugs with encoding errors
17101         * src/lread.c (infile): New variable, replacing ...
17102         (instream): ... this.  All uses changed.
17103         (readbyte_from_stdio): New function, which deals with lookahead.
17104         (readbyte_from_file, Fget_file_char): Use it.
17105         (Fget_file_char): When misused, signal an error instead of
17106         relying on undefined behavior.
17107         (close_infile_unwind): New function.
17108         (Fload): Use it.
17109         (readevalloop): 2nd arg is now struct infile *, not FILE *.
17110         All callers changed.
17111         (read1): Handle lookahead when copying doc strings with
17112         encoding errors.
17114 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17116         Avoid ungetc when loading charset maps from files
17118         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
17119         replacing the old EOF.  All callers changed.  This avoids the
17120         need to call ungetc.
17122 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17124         Fix ungetc bug when reading an encoding error
17126         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
17127         error when reading an encoding error from a file, e.g., a symbol
17128         in an .elc file whose name is "\360\220\200\360".
17130 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17132         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
17134         * lisp/window.el (display-buffer--special-action): Use a closure.
17136 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17138         Add new todo-mode.el tests
17140         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
17141         Declare an Edebug spec.  Restore pre-test-run state of test files.
17142         (todo-test--show, todo-test--move-item)
17143         (todo-test--insert-item): New functions.
17144         (todo-test-get-archive): Remove, as subsumed by
17145         todo-test--show.  Adjust all callers.
17146         (todo-test--is-current-buffer): Rename from
17147         todo-test-is-current-buffer and adjust uses.
17148         (todo-test-item-highlighting): Use todo-test--show.
17149         (todo-test-revert-buffer01, todo-test-revert-buffer02)
17150         (todo-test-raise-lower-priority)
17151         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
17152         (todo-test-move-item02, todo-test-move-item03)
17153         (todo-test-move-item04, todo-test-move-item05)
17154         (todo-test-toggle-item-header01)
17155         (todo-test-toggle-item-header02)
17156         (todo-test-toggle-item-header03)
17157         (todo-test-toggle-item-header04)
17158         (todo-test-toggle-item-header05)
17159         (todo-test-toggle-item-header06)
17160         (todo-test-toggle-item-header07): New tests.
17162         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
17163         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
17164         Modify to accommodate new tests.
17166 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17168         todo-mode.el: Fix handling of hidden item headers (bug#27609)
17170         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
17171         (todo-toggle-item-header): Use it.  Make this command a noop
17172         if the file has no items.
17173         (todo-move-item, todo-item-done): Instead of concatenating the
17174         items to move into one string, make a list of them to
17175         facilitate handling hidden headers.  Adjust insertion accordingly.
17176         (todo-archive-done-item): Handle hidden headers in archive file.
17177         (todo-unarchive-items): Handle hidden headers in todo file.
17178         (todo-backward-item): Use todo--item-headers-hidden and handle
17179         moving backward work when item date-time headers are hidden.
17180         (todo-remove-item): Delete date-time header overlay.
17181         (todo-get-overlay, todo-insert-with-overlays): Make them work
17182         with hidden date-time headers.
17183         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
17185 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17187         Fix several todo-mode bugs found while debugging bug#27609
17189         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
17190         current category only once.
17191         (todo-mark-category): Update number of marked items to avoid
17192         spurious duplication in todo-categories-with-marks alist and
17193         corruption of the todo-categories alist.  Handle empty line
17194         when there are no todo items and done items are shown.
17195         (todo-set-item-priority): Make noop if called from
17196         todo-raise-item-priority or todo-lower-item-priority when
17197         point is on a done todo item or an empty line.
17198         (todo-move-item): Use markers instead of integer positions to
17199         correctly handle deleting the now moved items from the source
17200         category (without markers an infinite loop arises when moving
17201         marked item to a preceding category).
17202         (todo-unarchive-items): Put point on the (first) restored done
17203         item, instead of leaving it at the end of the done items
17204         separator string.
17205         (todo-revert-buffer): Ensure buffer remains read-only after
17206         reverting.
17208 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17210         Exclude blank columns from value of line-number-display-width
17212         * src/indent.c (Fline_number_display_width): Don't add 2 to the
17213         number of columns we return, to make this consistent with
17214         display-line-number-width.
17216 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17218         Fix vertical-motion across the place where line-number width changes
17220         * src/indent.c (line_number_display_width): New function,
17221         refactored from line-number width calculations in vertical-motion.
17222         (Fvertical_motion): Call line_number_display_width when the width
17223         of line-number display is needed.
17224         (Fline_number_display_width): New defun.
17225         (syms_of_indent): Defsubr it.
17227         * doc/lispref/display.texi (Size of Displayed Text): Document
17228         line-number-display-width.
17230         * etc/NEWS: Mention line-number-display-width.
17232         * lisp/simple.el (last--line-number-width): New internal variable.
17233         (line-move-visual): Use it to adjust temporary-goal-column when
17234         line-number display changes its width.
17236 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
17238         Remove Vwindow_text_change_functions and related code
17240         Vwindow_text_change_functions had been provided for implementing
17241         line numbers but apparently was never functional or in use.
17243         * src/xdisp.c (redisplay_window): Remove handling of
17244         Vwindow_text_change_functions.
17245         (syms_of_xdisp): Remove Qwindow_text_change_functions.
17246         (Vwindow_text_change_functions): Remove variable.
17247         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
17248         `window-text-change-functions'.
17250 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
17252         Convert more uses of looking-at to following-char
17254         More followup to Karl Fogel's commit a84da83c1.
17255         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
17256         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
17257         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
17258         * lisp/proced.el (proced-toggle-marks):
17259         * lisp/progmodes/f90.el (f90-indent-line):
17260         * lisp/ses.el (ses-load):
17261         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
17262         char comparisons using following-char.
17264 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
17266         Don't skip epg tests (Bug#23561)
17268         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
17269         parameter, since we supply the passphrase via pinentry-program for all
17270         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
17271         program (Bug#23619)").
17272         (epg-tests-program-alist-for-passphrase-callback): Remove.
17274 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
17276         Implement line numbers that disregard narrowing
17278         * src/xdisp.c (display_count_lines_logically): New function,
17279         counts line numbers disregarding narrowing.  Suggested by Andy
17280         Moreton <andrewjmoreton@gmail.com>.
17281         (maybe_produce_line_number): Call display_count_lines_logically
17282         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
17283         display-line-numbers-widen.
17284         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
17285         variable.
17287         * lisp/cus-start.el (standard): Provide a customization form for
17288         display-line-numbers-widen.
17289         * lisp/frame.el: Add display-line-numbers-widen,
17290         display-line-numbers-current-absolute, and
17291         display-line-number-width to the list of variables that should
17292         trigger redisplay of the current buffer.
17294         * doc/emacs/display.texi (Display Custom): Document
17295         display-line-numbers-widen.
17297 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17299         Fix lisp-comment-indent for single-semicolon case
17301         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
17302         open paren if we're looking at multiple comment characters.
17303         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
17304         (lisp-comment-indent-2): New tests.
17306 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17308         Spelling fixes
17310         * lisp/org/org-table.el (org-table-sort-lines):
17311         Fix misspelling in prompt.
17312         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
17313         Fix misspelling in call to org-element-lineage.
17315 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17317         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
17319         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
17320         line's code ends in open paren, set comment indentation exactly to
17321         column following it.
17322         (lisp-mode-variables): Set `comment-indent-function' to
17323         `lisp-comment-indent'.
17325 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17327         Allow comment-indent-functions to specify exact indentation (Bug#385)
17329         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
17330         integers as indicating a range of acceptable indentation.
17331         (comment-indent): Don't apply `comment-inline-offset',
17332         `comment-choose-indent' already does that.
17333         (comment-indent-function):
17334         * doc/emacs/programs.texi (Options for Comments): Document new
17335         acceptable return values.
17336         * etc/NEWS: Announce it.
17338 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17340         Check for integer overflow in xbm images
17342         * src/image.c (XBM_TK_OVERFLOW): New constant.
17343         (xbm_scan): Check for integer overflow instead of relying on
17344         undefined behavior.  Check that octal digits are actually octal.
17346 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17348         Convert hex digits more systematically
17350         This makes the code a bit smaller and presumably faster, as
17351         it substitutes a single lookup for conditional jumps.
17352         * src/character.c (hexdigit): New constant.
17353         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
17354         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
17355         (hexdigit): New decl.
17356         (char_hexdigit): New inline function.
17357         * src/charset.c: Do not include c-ctype.h.
17358         * src/charset.c (read_hex):
17359         * src/editfns.c (styled_format):
17360         * src/image.c (xbm_scan):
17361         * src/lread.c (read_escape):
17362         * src/regex.c (ISXDIGIT) [emacs]:
17363         Use char_hexdigit insted of doing it by hand.
17365 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17367         Don’t use -Woverride-init
17369         I have some further changes in mind that would also need to
17370         disable the -Woverride-init warnings.  In practice these warnings
17371         seem to be more trouble than they’re worth, so disable them in the
17372         cc command line.
17373         * configure.ac: Disable -Woverride-init here ...
17374         * src/bytecode.c: ... rather than here.
17376 2017-07-05  Glenn Morris  <rgm@gnu.org>
17378         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
17380         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
17382 2017-07-05  Glenn Morris  <rgm@gnu.org>
17384         Small fix for bug-reference.el
17386         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
17387         Autoload safety property.  (Bug#27481)
17389 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
17391         Suppress timers in Tramp
17393         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
17395         * test/lisp/net/tramp-tests.el
17396         (tramp-test36-asynchronous-requests): Trigger timers.
17397         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
17398         Set `default-directory' to a trustworthy value.
17400 2017-07-05  rocky  <rb@dustyfeet.com>
17402         Add realgud face definitions
17404         Add realgud faces to tdsh-dark-theme
17406 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17408         * lisp/progmodes/cc-awk.el: Mark unused args
17410         * lisp/progmodes/cc-bytecomp.el: Mark unused args
17412 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17414         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
17416         ... before first use
17418 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17420         * lisp/progmodes/cc-vars.el: Mark unused args
17422 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17424         * lisp/progmodes/cc-langs.el: Mark unused args
17426         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
17427         unambiguous-prefix-ops.
17429 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17431         * lisp/progmodes/cc-engine.el: Mark unused args
17433         (c-beginning-of-statement-1, c-guess-basic-syntax):
17434         Remove unused var c-in-literal-cache.
17435         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
17436         (c-append-to-state-cache): Remove unused var `bra+1s'.
17437         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
17438         (c-invalidate-state-cache-1): Remove unused var `pa'.
17439         (c-forward-decl-or-cast-1): Change comments so they don't look like
17440         outline headers.
17441         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
17442         Declare before first use.
17443         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
17444         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
17446 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17448         * lisp/progmodes/cc-cmds.el: Remove unused vars
17450         (c-syntactic-context): Declare as dynbound.
17451         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
17453 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17455         * lisp/progmodes/cc-guess.el: Remove unused var
17457         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
17458         and computed variable `guessed-syntactic-symbols'.
17460 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17462         * lisp/progmodes/cc-align.el: Mark unused arguments
17464 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17466         * lisp/progmodes/cc-mode.el: Mark unused arguments
17468         (c-parse-quotes-before-change, c-parse-quotes-after-change):
17469         Remove unused vars.
17471 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
17473         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
17475         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
17476         and `ffap-url-unwrap-remote'.
17478 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
17480         Fix infloop in uncomment-region-default (Bug#27112)
17482         When `comment-continue' has only blanks, `comment-padright' produces a
17483         regexp that matches the empty string, so `uncomment-region-default'
17484         will loop infinitely.
17485         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
17486         has nonblank characters.
17488 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
17490         Fix display of current line number in visual mode
17492         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
17493         of current line when line-number-current-line face was customized.
17494         Reported by Filipe Silva <filipe.silva@gmail.com>.
17496 2017-07-03  Philipp Stephani  <phst@google.com>
17498         Use hook instead of face list to inhibit electric quoting
17500         This is more flexible and doesn't couple electric quoting to font
17501         locking.
17502         Give that 'electric-quote-code-faces' was just introduced, remove it
17503         without formal deprecation.
17505         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
17506         hook variable.
17507         (electric-quote-post-self-insert-function): Run the hook.  Remove
17508         use of old 'electric-quote-code-faces' variable.
17510         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
17511         (electric-quote-markdown-in-code): Adapt unit tests.
17513 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
17515         Offer non-aligned indentation in lists in js-mode (Bug#27503)
17517         * lisp/progmodes/js.el (js--proper-indentation):
17518         New customization option 'js-indent-align-list-continuation'.
17519         Affects argument lists as well as arrays and object properties.
17520         * test/manual/indent/js-indent-align-list-continuation-nil.js:
17521         Test the change.
17523 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
17525         Avoid errors in vertical-motion when buffer is narrowed
17527         * src/indent.c (Fvertical_motion): If need to start from
17528         window-start, and it is outside of the accessible portion,
17529         temporarily widen the buffer.  This avoids errors in evil-mode.
17530         Reported by James Nguyen <james@jojojames.com>.
17532 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
17534         (Re-)activate remote tests of filenotify-tests.el
17536         * test/lisp/filenotify-tests.el
17537         (file-notify-test-remote-temporary-file-directory):
17538         Declare default host for mock method.  Offer home directory
17539         for mock method if it doesn't exist.
17540         (file-notify-test09-watched-file-in-watched-dir-remote):
17541         Remove, it doesn't work reliably.
17543 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17545         Reset ansi escape context before printing eshell prompt (Bug#27407)
17547         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
17548         `ansi-color-context-region'.
17550 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17552         Let ansi-color overlay hooks work in eshell (Bug#27407)
17554         * lisp/ansi-color.el (ansi-color-make-extent): Add
17555         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
17556         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
17557         `inhibit-modification-hooks' to nil while inserting the string.
17559 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17561         Fix and simplify ansi escape detection (Bug#21381)
17563         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
17564         Remove.
17565         (ansi-color-control-seq-regexp): New constant, matches all escape
17566         sequences.
17567         (ansi-color-filter-apply, ansi-color-apply)
17568         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
17569         of matching color sequences separately from ignored sequences.
17570         Differentiate color sequences simply by checking the last character.
17572 2017-07-03  Damien Cassou  <damien@cassou.me>
17574         Add absolute optional parameter to line-number-at-pos (Bug#26417)
17576         * lisp/simple.el (line-number-at-pos): Add a second optional
17577           argument 'absolute'.
17578         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
17580 2017-07-03  R. Bernstein  <rocky@gnu.org>
17582         Add realgud faces
17584 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
17586         Fix tramp-tests.el for hydra
17588         * test/Makefile.in: Remove instrumentation for tramp-tests.
17590         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
17591         Remove instrumentation.  Wrap with a timeout.  Give hydra
17592         another timer value.  Set `default-directory' in timer.
17594 2017-07-03  Bastien  <bzg@gnu.org>
17596         Merge branch 'master' into scratch/org-mode-merge
17598         Merge branch 'master' into scratch/org-mode-merge
17600 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
17602         dired-do-shell-command: Fix check for wildcards
17604         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
17605         and '`?' i.e., keep the whitespaces.
17606         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
17608 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17610         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
17612         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
17613         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
17614         split out from `shr-copy-url'.
17615         (shr-copy-url): Only copy the url, don't fetch it.
17616         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
17617         has the same behavior as the old `shr-copy-url'.
17618         * etc/NEWS: Announce changes.
17620 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
17622         Make eww-search-words prompt for query if nothing selected
17624         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
17625         user for a search query if the region is inactive or if the region is
17626         just whitespace.
17628 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17630         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
17632         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
17633         * lisp/help-fns.el (describe-variable): No need to let-bind
17634         `cl-print-compiled-button' to t anymore.
17636 2017-07-02  Philipp Stephani  <phst@google.com>
17638         Electric quotes: Improve support for Markdown mode (Bug#24709)
17640         Introduce a new user option 'electric-quote-context-sensitive'.  If
17641         non-nil, have ' insert an opening quote if sensible.
17643         Also introduce a new variable 'electric-quote-code-faces'.  Major
17644         modes such as 'markdown-mode' can add faces to this list to treat text
17645         as inline code and disable electric quoting.
17647         * lisp/electric.el (electric-quote-context-sensitive): New user
17648         option.
17649         (electric-quote-code-faces): New variable.
17650         (electric-quote-post-self-insert-function): Treat ' as ` if
17651         desired and applicable; disable electric quoting for given faces.
17653         * test/lisp/electric-tests.el (electric-quote-opening-single)
17654         (electric-quote-closing-single, electric-quote-opening-double)
17655         (electric-quote-closing-double)
17656         (electric-quote-context-sensitive-backtick)
17657         (electric-quote-context-sensitive-bob-single)
17658         (electric-quote-context-sensitive-bob-double)
17659         (electric-quote-context-sensitive-bol-single)
17660         (electric-quote-context-sensitive-bol-double)
17661         (electric-quote-context-sensitive-after-space-single)
17662         (electric-quote-context-sensitive-after-space-double)
17663         (electric-quote-context-sensitive-after-letter-single)
17664         (electric-quote-context-sensitive-after-letter-double)
17665         (electric-quote-context-sensitive-after-paren-single)
17666         (electric-quote-context-sensitive-after-paren-double)
17667         (electric-quote-markdown-in-text)
17668         (electric-quote-markdown-in-code): New unit tests.
17670 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
17672         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
17674 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
17676         Avoid off-by-one errors in column C-n/C-p calculations
17678         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
17679         the width used up by line numbers by looking near the window-start
17680         point.
17682 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
17684         Ask confirmation for all suspicious wildcards
17686         * lisp/dired-aux.el (dired-do-shell-command): Check that all
17687         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
17689 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
17691         Extend dired-do-shell-command substitutions
17693         Substitute "`?`" inside command with the current file name.
17694         See details in:
17695         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
17696         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
17697         Mark as obsolete.
17698         (dired-isolated-string-re): New defun.
17699         (dired--star-or-qmark-p): New predicate.
17700         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
17701         with the current file name.
17702         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
17704 2017-07-02  Alan Mackenzie  <acm@muc.de>
17706         Fix bug in yesterday's CC Mode commit.
17708         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
17709         search has succeded before using the match data.
17710         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
17711         Specify that the position of the extremity of the head or tail is in the
17712         match data.
17714 2017-07-02  Philipp Stephani  <phst@google.com>
17716         Remove FIXME comments about sentinel values
17718         These FIXMEs can't be addressed because they would require breaking
17719         changes to the module API.  Furthermore, other module functions don't
17720         return sentinel values as well, so users generally have to call
17721         non_local_exit_check anyway.
17723         * src/emacs-module.c (module_set_user_ptr)
17724         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
17725         FIXME comments.
17727 2017-07-02  Philipp Stephani  <phst@google.com>
17729         Adapt Lisp reference to reader changes
17731         The reader now warns about some unescaped character literals, but
17732         still allows them for compatibility reasons.  Slightly adapt the
17733         manual to forbid them officially.
17735         * doc/lispref/objects.texi (Basic Char Syntax): Document that
17736         backslashes are now required before some characters.
17738 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
17740         Fix Bug#27502
17742         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
17743         (find-file-hook): Use it.  (Bug#27502)
17744         (auto-revert-remove-current-buffer): New defun.
17745         (auto-revert-mode, auto-revert-buffers): Use it.
17747 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17749         Let test summary go through even if some logs were not generated
17751         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
17752         for existence of log files before reading.
17754 2017-07-01  Philipp Stephani  <phst@google.com>
17756         * src/module-env-25.h (copy_string_contents): Fix comment.
17758 2017-07-01  Philipp Stephani  <phst@google.com>
17760         Also mark module init function as noexcept if possible
17762         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
17763         possible.
17765 2017-07-01  Philipp Stephani  <phst@google.com>
17767         Improve C++98 compatibility
17769         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
17770         C++98 doesn't allow trailing commas in enumerations.
17772 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17774         Minor copyedits of manuals regarding bidi conformance
17776         * doc/emacs/mule.texi (Bidirectional Editing):
17777         * doc/lispref/display.texi (Bidirectional Display): Update the
17778         bidi conformance text.
17780 2017-07-01  Alan Mackenzie  <acm@muc.de>
17782         Make C++ digit separators work.  Amend the handling of single quotes generally
17784         Single quotes, even in strings and comments, are now marked with the
17785         "punctuation" syntax-table property, except where they are validly bounding a
17786         character literal.  They are font locked with font-lock-warning-face except
17787         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
17789         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
17790         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
17791         functions/macros.
17793         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
17794         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
17796         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
17797         c-before-after-change-digit-quote from wherever it occurs.  Insert
17798         c-parse-quotes-before-change into the entries for the languages where it is
17799         needed.
17800         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
17801         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
17802         the languages which need it.
17803         (c-has-quoted-numbers): New lang-defconst/-defvar.
17805         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
17806         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
17807         (c-maybe-quoted-number): New defconsts.
17808         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
17809         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
17810         (c-parse-quotes-after-change): New functions.
17812 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17814         Ignore mouse-movement for describe-key-briefly (Bug#12204)
17816         * lisp/help.el (help-read-key-sequence): Add optional argument ot
17817         ignore `mouse-movement' events.
17818         (describe-key-briefly): Use it.
17819         * doc/emacs/help.texi (Key Help):
17820         * etc/NEWS: Mention that mouse movement is ignored.
17822 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17824         Refactor key describing commands
17826         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
17827         functions, extracted from `describe-key' and `describe-key-briefly'.
17828         (describe-key, describe-key-briefly): Use them.
17830 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17832         Improve display of tabs with line numbers
17834         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
17835         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
17837 2017-07-01  Alan Third  <alan@idiocy.org>
17839         Fix threads on NS (bug#25265)
17841         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
17842         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
17843         src/nsterm.m (ns_select): Call thread_select from within ns_select.
17844         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
17845         (ns_send_appdefined): Don't wait for main thread when sending app
17846         defined event.
17847         src/process.c (wait_reading_process_output): Call thread_select from
17848         within ns_select.
17849         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
17850         its event loop using ns_run_loop_break.
17852 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17854         Avoid slow redisplay under 'visual' mode of line numbers
17856         * src/xdisp.c (display_count_lines_visually): Avoid very slow
17857         redisplay when this function is invoked very far from point.
17858         Reported by Alex <agrambot@gmail.com>.
17860 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17862         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
17864 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17866         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
17868         (cl--random-state, cl--random-time): Move from cl-lib.el.
17869         (cl-random): Use struct accessors.
17870         (cl-random-state-p): Remove, provided by the defstruct.
17871         (cl-make-random-state): Rewrite to struct constructor.
17873 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17875         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
17877 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17879         Improve documentation of faces related to display-line-numbers
17881         * lisp/faces.el (line-number, line-number-current-line): Warn
17882         against using non-monospaced fonts.
17884 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17886         Fix relative-number display with non-nil display-line-number-width
17888         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
17889         value of display-line-number-width as acceptable.
17890         Handle the case of 'relative' with display-line-number-width
17891         non-nil and smaller than the absolute line number requires.
17892         Reported by Alex <agrambot@gmail.com>.
17894 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
17896         Release Tramp 2.3.2
17898         * doc/misc/tramp.texi (Android shell setup): Show default file name.
17899         Structure section.
17901         * doc/misc/trampver.texi:
17902         * lisp/net/trampver.el: Change version to "2.3.2".
17904         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
17905         Offer home directory for mock method if it doesn't exist.
17907 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17909         Add documentation for display-line-numbers
17911         * doc/emacs/custom.texi (Init Rebinding):
17912         * doc/emacs/modes.texi (Minor Modes): Remove references to
17913         linum-mode.
17914         * doc/emacs/display.texi (Display Custom): Describe the
17915         line-number display.
17916         (Optional Mode Line): Fix the index entry to not conflict with
17917         that in "Display Custom".
17918         * doc/emacs/basic.texi (Position Info): Add cross-reference to
17919         "Display Custom", for line-number display.
17921         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
17922         display-line-numbers-disable in the doc string.
17924         * lisp/cus-start.el (standard): Fix lst change.
17926 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17928         Support displaying zero as the number of the current line
17930         * src/xdisp.c (syms_of_xdisp)
17931         <display-line-numbers-current-absolute>: New variable.
17932         <display-line-numbers>: Doc fix.
17933         (maybe_produce_line_number): Support nil value of
17934         display-line-numbers-current-absolute.
17936         * lisp/cus-start.el (standard): Add customization form for
17937         display-line-numbers-current-absolute.
17939         * etc/NEWS: Document recently introduced features.
17941 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17943         Speed up the visual-mode relative line numbers
17945         * src/xdisp.c (display_count_lines_visually): Introduce a
17946         shortcut: if a relative line number was already calculated for
17947         this iterator object, just increase it instead of the
17948         expensive call to move_it_to.  Argument list changed to pass a
17949         pointer to the iterator object.
17950         (maybe_produce_line_number): Adjust for change in signature of
17951         display_count_lines_visually.  Record the relative line number and
17952         the corresponding byte position in the iterator object also in the
17953         'visual' mode.
17955 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17957         Fix hscrolling with line numbers on TTY frames
17959         * src/xdisp.c (hscroll_window_tree): Correct the X offset
17960         calculations on TTY frames.
17961         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
17962         a kludge using it->lnum_width.
17964 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17966         Fix TAB display when the line-number face uses a smaller/larger font
17968         * src/dispextern.h (struct it): New member lnum_pixel_width.
17969         * src/xdisp.c (maybe_produce_line_number): Compute the width of
17970         the line-number display in pixels.
17971         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
17972         that used it->lnum_width and made assumptions about pixel width.
17974 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17976         Escape NUL bytes in X selections (Bug#6991)
17978         * lisp/term/w32-win.el (w32--set-selection):
17979         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
17980         "\0".
17981         * doc/emacs/killing.texi: Document new behavior.
17982         * etc/NEWS (times): Announce it.
17984 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17986         Hide byte code in backtraces (Bug#6991)
17988         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
17989         defaulting to `cl-print'.
17990         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
17991         `prin1'.
17992         * etc/NEWS: Announce it.
17994 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17996         Don't redundantly cl-print arglist in function docstring again
17998         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
17999         part of docstring.
18000         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
18001         test accordingly.
18003 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18005         Escape control characters in backtraces (Bug#6991)
18007         * src/print.c (syms_of_print): Add new variable,
18008         print-escape-control-characters.
18009         (print_object): Print control characters with octal escape codes when
18010         print-escape-control-characters is true.
18011         * lisp/subr.el (backtrace):
18012         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
18013         `print-escape-control-characters' to t.
18015 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18017         Improve ert backtrace recording
18019         Change ert to use the new `backtrace-frames' function instead of
18020         collecting frames one by one with `backtrace-frame'.  Additionally,
18021         collect frames starting from `signal' instead the somewhat arbitrary
18022         "6 from the bottom".  Skipping 6 frames would skip the expression that
18023         actually caused the signal that triggered the debugger.  Possibly 6
18024         was chosen because in the case of a failed test, the triggering frame
18025         is an `ert-fail' call, which is not so interesting.  But in case of a
18026         test throwing an error, this drops the `error' call which is too much.
18028         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
18029         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
18030         code from `debugger-make-xrefs'.
18031         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
18032         `debugger-insert-backtrace'.
18033         (ert--run-test-debugger): Record the backtrace frames starting from
18034         the instigating `signal' call.
18035         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
18036         DO-XREFS parameter.
18037         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
18038         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
18039         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
18040         the backtrace list instead of comparing its string representation.
18041         Expect `signal' to be the first frame.
18043 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18045         Operate on frame list instead of printed backtrace
18047         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
18048         prints the given backtrace frames.
18049         (debugger-setup-buffer): Use it instead of editing the backtrace
18050         buffer text.
18052 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
18054         Minor fixes
18056         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
18057         line numbers to be displayed in empty lines beyond ZV.
18058         (x_produce_glyphs): Start fixing TAB display in truncated lines.
18060 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
18062         Improve timer handling when Tramp accepts output
18064         * lisp/net/tramp-compat.el: Avoid compiler warning.
18066         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
18067         Remove lock machinery.
18069         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
18070         (tramp-file-name-handler): Add lock machinery from
18071         `tramp-sh-file-name-handler'.  Allow timers to run.
18072         (tramp-accept-process-output): Remove nasty workaround.
18073         Suppress timers.
18075         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
18076         Suppress run in tests.
18077         (tramp--instrument-test-case-p): New defvar.
18078         (tramp--instrument-test-case): Use it in order to allow nested calls.
18079         (tramp--test-message, tramp--test-backtrace): New defsubst,
18080         will be used for occasional test instrumentation.
18081         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
18082         (tramp-test28-shell-command)
18083         (tramp--test-shell-command-to-string-asynchronously): Suppress
18084         nasty messages.  Don't overwrite sentinel.
18085         (tramp-test36-asynchronous-requests): Rewrite major parts.
18086         Expect :passed.
18088 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
18090         * lisp/url/url-history.el: Use lexical-binding
18092         (url-completion-function): Mark as obsolete.
18093         Mark unused args accordingly.
18095 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18097         Don't assume url structs are vectors (Bug#27333)
18099         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
18100         instead of `vectorp'.
18102 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
18104         Replace with dolist some uses of while
18106         * lisp/calc/calc-units.el (calc-permanent-units):
18107         (math-compare-unit-names, math-simplify-units-quotient):
18108         (math-build-units-table-buffer): Use dolist to replace extra bindings
18109         and some while loops.
18111 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18113         Make tcl-auto-fill-mode obsolete (Bug#10772)
18115         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
18116         * etc/NEWS: Announce it.
18118 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18120         Don't read eshell/which output from *Help* buffer (Bug#26894)
18122         * lisp/help-fns.el (help-fns--analyse-function)
18123         (help-fns-function-description-header): New functions, extracted from
18124         describe-function-1.
18125         (describe-function-1): Use them.
18126         * lisp/eshell/esh-cmd.el (eshell/which): Use
18127         `help-fns-function-description-header' instead of
18128         `describe-function-1'.
18130 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18132         Support default-text-properties
18134         * src/xdisp.c (should_produce_line_number): Call get-char-property
18135         at ZV as well, to support default-text-properties.
18137 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18139         Avoid segfaults when some display vector is an empty string
18141         * src/xdisp.c (next_element_from_display_vector): Don't try
18142         accessing the dpvec[] array if its size is zero.  (Bug#27504)
18144 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18146         Initial support for visually-relative line numbers
18148         Works very slowly.
18150         * src/xdisp.c (display_count_lines_visually): New function.
18151         (maybe_produce_line_number): Support 'visual' mode of line-number
18152         display.
18153         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18154         also when glyph_row is NULL.  This is important for move_it_*
18155         functions.
18156         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
18157         (try_window_id, redisplay_window, try_cursor_movement): For
18158         'visual' line-number display, disable the same redisplay
18159         optimizations as for 'relative'.
18161         * lisp/cus-start.el (standard): Add new value for the
18162         customization form of display-line-numbers.
18164 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18166         Update IT's metrics while simulating display
18168         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18169         also when glyph_row is NULL.  This is important for move_it_*
18170         functions.
18172 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
18174         Fix bug in handling GnuPG's TRUST_MARGINAL status
18176         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
18177         to `good'.
18179 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18181         Prefer `when' instead of 1-branch `if'
18183         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
18184         in local variable ok.
18185         Use `when' instead of 1-branch `if'.
18187 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18189         Use #' instead of (function ...)
18191         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
18192         (dired-mark-confirm, dired-query, dired-byte-compile)
18193         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
18194         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
18195         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
18196         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
18197         (dired-do-copy-regexp, dired-do-hardlink-regexp)
18198         (dired-do-symlink-regexp, dired-create-files-non-directory)
18199         (dired-upcase, dired-downcase)
18201         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
18202         (dired-internal-do-deletions, dired-internal-do-deletions):
18203         Prefer #' instead of (function ...).
18205 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18207         Don't quote lambda forms
18209         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
18210         (dired-mark, dired-desktop-buffer-misc-data)
18212         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
18213         (dired-create-files-non-directory, dired-insert-subdir-validate)
18214         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
18216 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
18218         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
18220         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
18221         and `brackets-after-id'.
18222         (c-font-lock-objc-methods): Mark unused args.
18224 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18226         Omit null-pointer test in intervals.h FRAME
18228         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
18229         (INTERVAL_LAST_POS): Omit unnecessary parens.
18230         (LENGTH): Omit test for null pointer.  The argument is never null.
18231         The unnecessary test causes GCC 7.1.0 to assume that the argument
18232         might be null, and therefore to issue false alarms when the
18233         argument is dereferenced in other expressions.
18235 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18237         Parenthesize frame.h macro definitions
18239         * src/frame.h (FRAME_TOOL_BAR_POSITION)
18240         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
18241         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
18242         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
18243         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
18244         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
18245         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
18246         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
18247         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
18248         to allow arbitrary expression arguments.
18250 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18252         Port recent frame changes to GCC 7
18254         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
18255         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
18256         might return null.  This also avoids a run-time test.
18258 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18260         Minor aesthetic fix of last change.
18262 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18264         Allow to disable display of line numbers beyond EOB
18266         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
18267         function.
18268         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
18269         * src/xdisp.c (should_produce_line_number): When at ZV, call
18270         disable_line_numbers_overlay_at_eob to determine whether line
18271         numbers should be displayed beyond ZV.
18273 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
18275         Fix Android 6/7 problems in Tramp
18277         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
18278         (tramp-adb-handle-directory-files-and-attributes)
18279         (tramp-adb-handle-file-name-all-completions): Insert "."  and
18280         ".." only when needed.
18281         (tramp-adb-get-ls-command): Force one column output for toybox.
18283 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
18285         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
18287 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18289         Fix line number display for overlay/display strings with newlines
18291         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
18292         producing space glyphs instead of a line number to include the
18293         case of display strings and overlays.
18295 2017-06-25  Alan Mackenzie  <acm@muc.de>
18297         Make CC Mode load cl-lib rather than cl in Emacs 26.
18299         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
18300         variable.
18302         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
18303         (c--cl-library): New variable.
18304         (Top level): Amend the form which requires library cl or cl-lib.
18305         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
18306         (c--delete-duplicate): Amend to use c--cl-library instead of
18307         c--mapcan-status.
18309         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
18310         (c-back-over-compound-identifier): Remove unused local variables.
18312         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
18313         local variable.
18315         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
18316         of c--mapcan-status.
18318         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
18319         silence a compiler warning.
18321 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
18323         Provide additional support for child frames
18325         Provide mouse dragging and resizing of frames.  Allow resizing
18326         frames proportionally.  Provide additional functionality for
18327         child frames.  Minor bug fixes.
18329         * lisp/frame.el (frame-border-width, frame-pixel-width)
18330         (frame-pixel-height): Alias to `frame-internal-border-width',
18331         `frame-native-width' and `frame-native-height'.
18332         (frame-inner-width, frame-inner-height, frame-outer-width)
18333         (frame-outer-height): New functions.
18334         * lisp/minibuffer.el (completion-auto-help): Fix typo.
18335         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
18336         (mouse-drag-header-line): Allow moving a frame by dragging the
18337         mode line of its bottommost window (on a minibuffer-less frame)
18338         or the header line of its topmost window.
18339         (mouse-drag-vertical-line): Mention argument in doc-string.
18340         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
18341         (mouse-drag-top-left-corner, mouse-drag-top-edge)
18342         (mouse-drag-top-right-corner, mouse-drag-right-edge)
18343         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
18344         (mouse-drag-bottom-left-corner): New functions for resizing a
18345         frame by dragging its internal border together with
18346         corresponding key bindings.
18347         * lisp/tooltip.el (tooltip-frame-parameters): Add
18348         'no-special-glyphs' to default parameters and update version
18349         tag.
18350         * lisp/window.el (frame-auto-hide-function): Add choice to make
18351         frame invisible and update version tag.
18352         (window--delete): Handle 'auto-hide-function' frame parameter.
18353         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
18354         'no-accept-focus' frame parameters.
18355         (display-buffer--action-function-custom-type): Add
18356         `display-buffer-in-child-frame'.
18357         (display-buffer): Mention `display-buffer-in-child-frame' in
18358         doc-string.
18359         (display-buffer-in-child-frame): New action function for
18360         `display-buffer'.
18361         (window--sanitize-margin): Return zero when MARGIN cannot be
18362         sanitized.
18363         (fit-frame-to-buffer): Major rewrite to handle child frames and
18364         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
18365         frame parameters.
18366         (window-largest-empty-rectangle--maximums-1)
18367         (window-largest-empty-rectangle--maximums)
18368         (window-largest-empty-rectangle--disjoint-maximums)
18369         (window-largest-empty-rectangle): New functions.
18371         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
18372         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
18373         provided by corresponding functions window_wants_modeline and
18374         window_wants_header_line in window.c.  Adjust users.
18375         * src/dispnew.c (adjust_glyph_matrix)
18376         (buffer_posn_from_coords): Use window_wants_modeline and
18377         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18378         WINDOW_WANTS_HEADER_LINE_P.
18379         * src/frame.c (keep_ratio): New function.
18380         (adjust_frame_size): Call keep_ratio for each of F's child
18381         frames.
18382         (make_frame): Initialize no_special_glyphs slot.
18383         (frame_internal_border_part): New function.
18384         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
18385         to Fframe_native_width, Fframe_native_height mand
18386         Fframe_internal_border_width.
18387         (frame_parm_table): Add Qno_special_glyphs entry.
18388         (frame_float_type): New enumeration type.
18389         (frame_float): New function to handle frame size and position
18390         ratios.
18391         (x_set_frame_parameters): Handle size and position ratios.
18392         (x_set_no_special_glyphs): New function
18393         (x_figure_window_size): Handle size and position ratios.
18394         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
18395         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
18396         Qheight_only, Qleft_only and Qtop_only.
18397         * src/frame.h (internal_border_part): New enumeration type.
18398         (struct frame): New slot no_special_glyphs.
18399         (FRAME_NO_SPECIAL_GLYPHS): New macro.
18400         * src/gtkutil.c (xg_frame_restack): Return immediately for
18401         GTK versions before 2.18.0.
18402         * src/keyboard.c (internal_border_parts): New array constant.
18403         (make_lispy_position): For frames with border dragging enabled
18404         return internal border part.
18405         (syms_of_keyboard): New symbols Qdrag_internal_border,
18406         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
18407         Qright_edge, Qbottom_right_corner, Qbottom_edge and
18408         Qbottom_left_corner.
18409         * src/minibuf.c (read_minibuf_unwind): When exiting the
18410         minibuffer deal with frames that have the 'minibuffer-exit'
18411         parameter set.
18412         (syms_of_minibuf): New symbol Qminibuffer_exit.
18413         * src/nsfns.m (frame_parm_handler): Add entry for
18414         x_set_no_special_glyphs.
18415         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18416         Intitialize new cursor types for dragging frame borders.
18417         * src/nsterm.h (struct ns_output): Add new cursor types for
18418         dragging frame borders.
18419         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
18420         x_set_no_special_glyphs.
18421         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18422         Intitialize new cursor types for dragging frame borders.
18423         * src/w32term.h (struct w32_output): Add new cursor types for
18424         dragging frame borders.
18425         * src/window.c (coordinates_in_window)
18426         (Fwindow_line_height, window_internal_height): Use
18427         window_wants_modeline and window_wants_header_line instead of
18428         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18429         (Fwindow_lines_pixel_dimensions): New function.
18430         (window_parameter): New function.
18431         (Fwindow_parameter): Call window_parameter.
18432         (window_wants_mode_line, window_wants_header_line): New
18433         functions replacing the macros WINDOW_WANTS_MODELINE_P and
18434         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
18435         (syms_of_window): New symbols Qmode_line_format and
18436         Qheader_line_format.
18437         * src/window.h: Reorganize and re-comment macros.  Use
18438         window_wants_modeline and window_wants_header_line instead of
18439         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18440         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
18441         (WINDOW_BUFFER): New macro.
18442         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
18443         * src/xdisp.c (window_text_bottom_y, window_box_height)
18444         (window_box, start_display)
18445         (compute_window_start_on_continuation_line)
18446         (try_cursor_movement, redisplay_window)
18447         (try_window_reusing_current_matrix, try_window_id)
18448         (display_line, expose_window): Use window_wants_modeline and
18449         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18450         WINDOW_WANTS_HEADER_LINE_P.
18451         (pos_visible_p, display_mode_lines): Respect W's
18452         'mode-line-format' and 'header-line-format' window parameters.
18453         (init_iterator): Use window_wants_modeline and
18454         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18455         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
18456         no_special_glyphs value.
18457         (note_mouse_highlight): Set frame border cursors when on
18458         internal border.
18459         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
18460         drawing of window dividers.
18461         * src/xfns.c (mouse_cursor): Add entries for border parts.
18462         (mouse_cursor_types): Add entries for cursor types to drag
18463         frame borders.
18464         (INSTALL_CURSOR): Add entries for new cursor types to drag
18465         frame borders.
18466         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18467         (x_frame_parm_handlers): Add entry for
18468         x_set_no_special_glyphs.
18469         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
18470         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
18471         (Vx_window_right_edge_shape)
18472         (Vx_window_bottom_right_corner_shape)
18473         (Vx_window_bottom_edge_shape)
18474         (Vx_window_bottom_left_corner_shape): New variables.
18475         (x_frame_restack): Call xg_frame_restack only for GTK versions
18476         starting with 2.18.0.
18477         * src/xterm.c (x_free_frame_resources): Remove new cursors for
18478         dragging frame borders.
18479         * src/xterm.h (struct x_output): Add new cursor types for
18480         dragging frame borders.
18482         * doc/lispref/display.texi (Size of Displayed Text): Document
18483         `window-lines-pixel-dimensions'.
18484         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
18485         Parameters".
18486         * doc/lispref/frames.texi (Frame Size): Replace
18487         frame-pixel-width/-height by frame-native-width/-height.  Add
18488         frame-inner-width/-height and frame-outer-width/-height docs.
18489         (Position Parameters): Describe specifying position as ratios.
18490         Clarify remark about positions relative to bottom/ridge display
18491         edge.
18492         (Size Parameters): Describe specifying sizes as ratios.
18493         Describe 'fit-frame-to-buffer-margins' and
18494         'fit-frame-to-buffer-sizes' parameters.
18495         (Layout Parameters): Describe 'no-special-glyphs' parameter.
18496         (Frame Interaction Parameters): Describe 'auto-hide-function',
18497         'minibuffer-exit' and 'keep-ratio' parameters.
18498         (Mouse Dragging Parameters): New section describing
18499         'drag-internal-border', 'drag-with-header-line',
18500         'drag-with-mode-line', 'snap-width', 'top-visible' and
18501         'bottom-visible' parameters.
18502         (Management Parameters): Mention that `override-redirect' has
18503         no effect on MS Windows.
18504         (Font and Color Parameters): Mention child frames for `alpha'
18505         parameter.
18506         (Child Frames): Rewrite section with description and cross
18507         references to new frame parameters added.
18508         * doc/lispref/modes.texi (Mode Line Basics): Mention
18509         'mode-line-format' and 'header-line-format' window parameters.
18510         * doc/lispref/windows.texi (Resizing Windows): Mention effect
18511         of `fit-frame-to-buffer-margins' for child frames.
18512         (Display Action Functions): New action function
18513         `display-buffer-in-child-frame'.
18514         (Quitting Windows): Mention `make-frame-invisible' as optional
18515         value of `frame-auto-hide-function' and `auto-hide-function'
18516         frame paameter.
18517         (Coordinates and Windows): Describe new function
18518         `window-largest-empty-rectangle'.
18519         (Window Parameters): Describe new parameters 'mode-line-format'
18520         and 'header-line-format'.  Index all window parameters described
18521         in this section.
18523 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18525         Adjust lm-verify to accept current notices
18527         Problem reported by Mike Kupfer in:
18528         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
18529         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
18530         Do not require later lines in a copyright notice to have more
18531         indentation than earlier lines.
18533 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18535         Minor change in NEWS.
18537         Improve documentation in NEWS.
18539 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18541         Move additional hscrolling code into a suitable 'if'
18543         * src/xdisp.c (hscroll_window_tree): Make additional calculations
18544         regarding glyphs produced for line numbers conditional on
18545         line-number display.
18547 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18549         Partial fix of hscroll of truncated lines with line numbers
18551         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
18552         hscroll calculations to line-number display.
18553         * src/term.c (produce_glyphs): Adjust tab stop to window's
18554         hscroll.  These two changes fix horizontal scrolling when line
18555         numbers are displayed.  But there's still a bug: the horizontal
18556         shift of lines that begin with a TAB is different from the rest.
18557         * src/xdisp.c (move_it_in_display_line_to): Call
18558         should_produce_line_number to determine whether a line number
18559         should be produced for this screen line.
18561 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
18563         Don't change byte-compile-delete-errors at runtime (Bug#27340)
18565         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
18566         time.
18568 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18570         Allow Lisp program to disable line-number display for specific lines
18572         * etc/NEWS: Update the documentation.
18574         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
18575         symbol.
18576         (should_produce_line_number): New function.
18577         (display_line): Use should_produce_line_number to determine
18578         whether a line number should be produced for each glyph row.
18580 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18582         * lisp/net/html2text.el: Move to obsolete/.
18584 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18586         Support a separate face for displaying the current line's number
18588         * lisp/faces.el (line-number-current-line): New face.
18590         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
18591         symbol.
18592         (try_window_id, try_cursor_movement): Disable these optimizations
18593         when the line-number-current-line face is different from
18594         line-number face.
18595         (maybe_produce_line_number): Display the current line in the
18596         line-number-current-line face, if it's different from line-number.
18598 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18600         Change display of current line in relative mode
18602         * src/xdisp.c (maybe_produce_line_number): In relative mode
18603         display the current line number as its absolute value, not as zero.
18605 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18607         Rename display-line-width
18609         * etc/NEWS:
18610         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
18611         * lisp/cus-start.el: Rename display-line-width to
18612         display-line-number-width.
18614 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18616         Fix tab stops when line numbers are displayed
18618         * src/xdisp.c (x_produce_glyphs):
18619         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
18620         space taken by the line-number display.
18622 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18624         Fix crashes on TTY frames due to negative lnum_width.
18626         Don't display line numbers in the minibuffer and in tooltip frames.
18628 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18630         Fix problems with line-number updates in Follow mode
18632         * src/xdisp.c (redisplay_window): If forced window-start requires
18633         to move a window's point, and the window is under relative
18634         line-number display, force another round of redisplay to update
18635         the relative line numbers.  This fixes follow-mode "redisplay" of
18636         its window group.
18638         * lisp/frame.el: Add display-line-numbers to the list of variables
18639         that should trigger redisplay of the current buffer.
18641 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18643         Fix display of line numbers with fonts larger than the default
18645         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
18646         IT, not in IT->glyph_row, since the latter gets overwritten in
18647         display_line.  Fixes display of line numbers when the font used
18648         for them is larger than that of the default face.
18650 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
18652         Fix background color beyond EOB and cursor display
18654         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
18655         for background of the blank glyphs in the line-number area which
18656         are drawn beyond EOB.
18657         (display_line): Reset the glyph row's displays_text_p flag only on
18658         empty lines that don't display line numbers.  This fixes cursor
18659         display beyond EOB.  Fix the bidi information in the glyphs
18660         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
18661         produced for line numbers.
18663 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
18665         Fix display of indicate-empty-lines when line numbers are displayed
18667         * src/xdisp.c (row_text_area_empty): New function.
18668         (display_line): Call row_text_area_empty to verify that a glyph
18669         row's text area is devoid of any glyphs that came from a buffer or
18670         a string.  This fixes a bug with empty-lines indication
18671         disappearing when line numbers or line-prefix are displayed.
18672         (display_line): Delete the argument FORCE; all callers changed.
18673         Remove the condition for actually producing the glyphs for the
18674         line number, as even if the number didn't change we need to
18675         produce empty space.
18677 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18679         Fix symbol relocation when the relocated cell is renamed.
18681         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
18682         hashmap has been instantiated before getting data from it.  When
18683         editing several spreadsheets, and you have spreadsheet #1 with a
18684         cell named `foo', and no renamed cell in spreadsheet #2, then if
18685         you make a formula with `foo' in spreadsheet #2, not doing this
18686         check will make an error.
18687         (ses-cell-set-formula): Robustify versus incorrect cell references
18688         given in the user provided formula.  An explicit error message is
18689         provided after the action when the user gives an incorrect cell
18690         reference, but the formula edition is not changed.  This means that
18691         if the incorrect reference is to a cell that is created someday,
18692         then this new cell will not have the edited cell in its reference
18693         list.  Fixing this can still be done by editing again the first
18694         cell formula.
18695         (ses-relocate-symbol): Do not create symbol of referred-to cell
18696         when this is a renamed cell.
18698 2017-06-23  Rasmus  <rasmus@gmx.us>
18700         Synchronize with the "emacs-sync" branch from Org
18702 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18704         Remove getc_unlocked configure-time check
18706         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
18707         does this for us.
18709 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18711         Use unlocked stdio more systematically
18713         This can improve performance significantly on stdio-bottlenecked code.
18714         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
18715         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
18716         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
18717         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
18718         * lib-src/profile.c, lib-src/update-game-score.c:
18719         Include unlocked-io.h instead of stdio.h, since these programs are
18720         single-threaded.
18721         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
18722         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
18723         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
18724         * src/lread.c, src/term.c:
18725         Include sysstdio.h, possibly instead of stdio.h, to define
18726         the unlocked functions if the system does not provide them.
18727         * src/charset.c, src/lread.c (getc_unlocked):
18728         Remove, since sysstdio.h now defines it if needed.
18729         * src/cm.c (cmputc, cmcheckmagic):
18730         * src/dispnew.c (update_frame, update_frame_with_menu)
18731         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
18732         * src/emacs.c (main, Fdump_emacs):
18733         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
18734         * src/image.c (slurp_file, png_read_from_file, png_load_body)
18735         (our_stdio_fill_input_buffer):
18736         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
18737         * src/lread.c (readbyte_from_file):
18738         * src/minibuf.c (read_minibuf_noninteractive):
18739         * src/print.c (printchar_to_stream, strout)
18740         (Fredirect_debugging_output):
18741         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
18742         (procfs_get_total_memory):
18743         * src/term.c (tty_ring_bell, tty_send_additional_strings)
18744         (tty_set_terminal_modes, tty_reset_terminal_modes)
18745         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
18746         (tty_write_glyphs_with_face, tty_insert_glyphs)
18747         (tty_menu_activate):
18748         * src/xfaces.c (Fx_load_color_file):
18749         Use unlocked stdio when it should be safe.
18750         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
18751         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
18752         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
18753         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
18755 2017-06-22  Glenn Morris  <rgm@gnu.org>
18757         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
18759 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
18761         unidata: don’t check special casing in unidata-check  (bug#26656)
18763         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
18764         casing mapping of characters since that mapping is not constructed from
18765         the unidata.txt file.
18766         Also, check for integer decoder and cons char earlier so that less
18767         unnecessary processing is performed.
18769 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18771         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
18773         Avoid string-to-multibyte and string-as-unibyte.
18774         Don't make *Help* unibyte just because the char was in a unibyte buffer.
18776 2017-06-22  Rasmus  <rasmus@gmx.us>
18778         Add Org schemas.xml contents to Emacs schemas.xml
18780         Entries from the Org version of schemas.xml have been added to
18781         the Emacs version of schemas.xml.
18783 2017-06-22  Rasmus  <rasmus@gmx.us>
18785         Update Org to v9.0.9
18787         Please see etc/ORG-NEWS for details.
18789 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18791         Do not hard code A1 cell reference, as it may be renamed.
18793         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
18795 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
18797         Fix make_hash_table calls in lread.c
18799         * src/lread.c (readevalloop, read_internal_start): Fix
18800         make_hash_table calls to make build succeed.
18802 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18804         Merge several Lisp reader speedups.
18806 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18808         Create less garbage to collect while reading symbols.
18810         * src/lread.c (read1): When interning a symbol, only create a new
18811         string object for the name if we're going to use it for a new symbol
18812         object.
18814 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18816         Replace read_objects assoc list with two hash tables.
18818         For larger input files with lots of shared data structures, an
18819         association list is too slow.
18821         * src/lread.c (read_objects_map, read_objects_completed): New
18822         variables, replacing read_objects.
18823         (readevalloop): Initialize them with hash tables before starting a
18824         top-level read, if they're not already empty hash tables, and reset
18825         them to Qnil afterwards if something was added to the hash tables.
18826         (read_internal_start): Likewise.
18827         (read1): Store first the placeholder and later the newly read object
18828         into read_objects_map under the specified object number.  If the new
18829         object can contain a reference to itself, store it in
18830         read_objects_completed.
18831         (substitute_objects_recurse): Check read_objects_completed instead of
18832         read_objects for the known possibly-recursive objects.
18833         (syms_of_lread): Update initializations.
18835 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18837         Use getc_unlocked.
18839         * configure.ac: Check for getc_unlocked.
18840         * src/charset.c (read_hex, load_charset_map_from_file): Use
18841         getc_unlocked instead of getc.
18842         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
18843         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
18844         getc_unlocked): Likewise.
18846 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18848         Reduce lread substitutions.
18850         * src/lread.c (read1): After reading an object using the "#n=" syntax,
18851         if the read object is a cons cell, instead of recursively substituting
18852         the placeholder with the new object, mutate the placeholder cons cell
18853         itself to have the correct car and cdr values.
18855 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18857         Short-circuit substitutions for some simple types.
18859         Values that don't contain other values cannot be circular, so checking
18860         for circular objects is a waste of cycles.
18862         * src/lread.c (substitute_object_recurse): If the subtree being
18863         examined is a symbol, number, or property-less string, just return
18864         it.
18866 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18868         Limit style_format to MAX_ALLOCA
18870         * src/editfns.c (styled_format): Subtract initial buffer size
18871         from sa_avail, since it is nontrivial.
18873 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18875         Limit bidi_find_bracket_pairs to MAX_ALLOCA
18877         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
18878         Shrink it to allow for the two struct bidi_it objects in
18879         the same frame.
18880         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
18881         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
18883 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18885         Limit insert-file-contents to MAX_ALLOCA
18887         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
18888         MAX_ALLOCA bytes in a single stack array.
18890 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18892         Remove malloc_find_address relic
18894         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
18895         Omit unnecessary initialization.
18897 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18899         Fix temacs hybrid_malloc core dump
18901         Without this patch, ./temacs would dump core sometimes on Fedora
18902         25 x86-64.  The problem was that the hybrid allocator assumed that
18903         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
18904         assumption is not true on Fedora, because the standard memory
18905         allocator calls gdefault_morecore, which means its blocks are
18906         interleaved with our blocks.  Usually the code happened to work,
18907         because our data structures agreed with the glibc data structures,
18908         but this was merely luck due to a shared pedigree, and as glibc
18909         mutates our luck has run out.
18910         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
18911         Remove; no longer needed.
18912         (BLOCK): Use unsigned division, as that does the right thing near zero.
18913         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
18914         (_realloc_internal_nolock):
18915         Big blocks now have type -1, not 0, as 0 now means the block is
18916         not ours.
18917         (morecore_nolock): Omit now-unnecessary casts to size_t.
18918         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
18919         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
18920         avoid calling the wrong free or realloc function in some cases.
18922 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
18924         Make gnus-article-date-user work
18926         * lisp/gnus/gnus-art.el (article-date-ut):
18927         Work for unfolded multi-line Date header.
18928         (article-transform-date):
18929         Refactor; add header name if it is missing in user-defined date line.
18930         (article-date-user): Fix name of date type.
18932 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
18934         Keep order of completion candidates (Bug#25995, Bug#24676)
18936         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
18937         (completion-pcm--all-completions): Use nreverse to undo the reversing
18938         caused by using push in the loop.
18940 2017-06-21  Glenn Morris  <rgm@gnu.org>
18942         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
18944 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
18946         Mark prolog indent variables as safe (bug#27369)
18948         * lisp/progmodes/prolog.el (prolog-indent-width)
18949         (prolog-left-indent-regexp, prolog-paren-indent-p)
18950         (prolog-paren-indent): Add :safe property.
18952 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
18954         Remove `:options' from `css-electric-keys'
18956         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
18957         since it just duplicates the default value.
18959 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18961         Fix crash when built by GNU Gold linker on x86
18963         Problem reported by Andrés Musetti (Bug#27248).
18964         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
18965         (emacsFrameClass): Now a function (which initializes the
18966         superclass) instead of a variable.  All uses changed.
18968 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18970         Simplify autogen.sh version checking
18972         * autogen.sh (get_version): Simplify and make more reliable
18973         by using expr rather than echo | sed.  Check exit status of program.
18974         Run program in subshell in case it cannot be executed.
18975         (check_version): Check exit status of command rather than its output.
18976         Check return status of get_version.
18978 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
18980         Delete old Date header in a simple way
18982         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
18983         when searching the old Date header boundary in order to delete it.
18985 2017-06-20  Bastien  <bzg@gnu.org>
18987         Revert "Don't bind org-agenda key to an anonymous function"
18989         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
18991 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
18993         Bind enable-local-variables to nil globally (fix dbe3e41)
18995         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
18996         Bind enable-local-variables to nil globally instead of making it
18997         buffer-local; remove let-bind of local-enable-local-variables.
18998         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
19000 2017-06-20  Glenn Morris  <rgm@gnu.org>
19002         kill-matching-buffers to optionally not confirm
19004         * lisp/files.el (kill-matching-buffers):
19005         Add option to not confirm killing.  (Bug#27286)
19007 2017-06-20  Glenn Morris  <rgm@gnu.org>
19009         * lisp/files.el (local-enable-local-variables): Doc fix.
19011 2017-06-20  Glenn Morris  <rgm@gnu.org>
19013         autogen.sh: try to check for tool being present but broken
19015         * autogen.sh (get_version): Check return status of "--version".
19016         (check_version): Try to distinguish between a missing tool
19017         and a broken one.  (Bug#27288)
19019 2017-06-19  Glenn Morris  <rgm@gnu.org>
19021         Avoid a custom-variable-type error (bug#27363)
19023         * lisp/cus-edit.el (custom-variable-type):
19024         Avoid an error due to plist-put becoming stricter of late.
19026 2017-06-19  Glenn Morris  <rgm@gnu.org>
19028         Don't put deleted packages in the trash (bug#14967)
19030         * lisp/emacs-lisp/package.el (package-delete):
19031         Don't pay attention to delete-by-moving-to-trash.
19033 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
19035         Revert "Add current-line in simple.el"
19037         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
19039 2017-06-19  Damien Cassou  <damien@cassou.me>
19041         Add current-line in simple.el
19043         * lisp/simple.el (current-line): New function.
19044         * test/lisp/simple-tests.el: Add tests for current-line.
19046 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
19048         Don't try to eval local variables in Gnus article
19050         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
19052 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19054         Fix emacs-module.h cleaning
19056         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
19057         (bootstrap-clean): Remove emacs-module.h.
19059 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
19061         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
19062         in regex.
19064 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19066         * lib/gettext.h: Merge from gnulib.
19068 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19070         Merge from gnulib
19072         This (and my previous patch) incorporate:
19073         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
19074         2017-06-15 gettext-h: Update comment
19075         * lib/diffseq.h: Copy from gnulib.
19077 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19079         * test/Makefile.in: Don't suppress test failure for single tests.
19081 2017-06-17  Philipp Stephani  <phst@google.com>
19083         emacs-module.h: Create emacs_env_26
19085         This was part of the original design of the module
19086         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
19087         but I didn't take it into account when adding the should_quit
19088         function.
19090         Instead of duplicating the environment fields or using the C
19091         preprocessor, use configure to build emacs-module.h.
19093         * configure.ac: Expand emacs-module.h template.
19095 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19097         Improve documentation of replace-buffer-contents
19099         * etc/NEWS (replace-buffer-contents): Fix formatting.
19101         * src/editfns.c (Freplace_buffer_contents): Doc fix.
19103 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19105         Finish up native display of line numbers
19107         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
19108         the number, for R2L rows.  Increment 'g' in the loop even if
19109         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
19110         line-number glyphs if it is non-zero.
19111         (move_it_in_display_line_to): Account for the space taken by the
19112         line-number glyphs.  Call maybe_produce_line_number with 2nd
19113         argument non-zero.
19114         (set_cursor_from_row): Fix calculation of cursor X coordinate in
19115         R2L rows with display-produced glyphs at the beginning.
19116         (syms_of_xdisp) <line-number>: New face symbol.
19117         <relative, display-line-width>: New symbols.
19118         (maybe_produce_line_number): Use the line-number face for
19119         displaying line numbers.  Support relative line-number display.
19120         Support user-defined width for displaying line numbers.
19121         (try_cursor_movement, try_window_id): Disable these optimizations
19122         when displaying relative line numbers.
19123         * src/dispextern.h (struct it): New member 'pt_lnum'.
19125         * lisp/faces.el (line-number): New face.
19126         * lisp/cus-start.el (standard): Provide customization forms for
19127         display-line-numbers and display-line-width.
19128         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
19129         turn display-line-numbers on and off.
19131         * etc/NEWS: Document the new feature.
19133 2017-06-17  Philipp Stephani  <phst@google.com>
19135         Allow local variables section to begin with a square bracket
19137         Fixes Bug#27391.
19139         * lisp/international/mule.el (find-auto-coding): Fix regular
19140         expression for "Local Variables" section.
19142         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
19143         Add unit test.
19145 2017-06-17  Philipp Stephani  <phst@google.com>
19147         Remove unnecessary point motion
19149         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
19150         motion.
19152 2017-06-17  Philipp Stephani  <phst@google.com>
19154         Add command to replace buffer contents
19156         Add a new command 'replace-buffer-contents' that uses the Myers diff
19157         algorithm to non-destructively replace the accessible portion of the
19158         current buffer.  The Myers algorithm is implemented in Gnulib.
19160         * src/editfns.c (Freplace_buffer_contents): New command.
19161         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
19162         (syms_of_editfns): Define new command.
19164         * test/src/editfns-tests.el (replace-buffer-contents-1)
19165         (replace-buffer-contents-2): New unit tests.
19167         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
19169         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
19171 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
19173         * lisp/international/characters.el: Update list of zero and full
19174         width characters according to Unicode 9.0.0.
19176 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
19178         Complete CSS property values less eagerly (Bug#27392)
19180         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
19181         eager by looking for a colon after the property which values are being
19182         completed for.
19184         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
19185         Add a test case ensuring that properties that are prefixes of other
19186         properties don't hinder further completion.
19188 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19190         Handle integer indices for eshell variables (Bug#26055)
19192         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
19193         if it's been marked as one, just like `eshell-lisp-command' does.
19195 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
19197         Don't bind org-agenda key to an anonymous function
19199         * lisp/org/org-agenda.el: Bind "g" to named command.
19200         (org-agenda-redo-all): New command.  Extend the previous functionality
19201         through a prefix argument.
19203 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
19205         Add test for the fix in the parent commit
19207         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
19208         New test, for the fix in the parent commit.
19210 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
19212         primitive-undo: Update only the currently valid markers
19214         * lisp/simple.el (primitive-undo):
19215         Update only the currently valid markers (bug#25599).
19217 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
19219         Initial version of native display of line numbers
19221         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
19222         buffer-local variable.
19223         Include <math.h>.
19224         (maybe_produce_line_number): New function.
19225         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
19226         (try_window_reusing_current_matrix): Don't use this method when
19227         display-line-numbers is in effect.
19228         * src/dispextern.h (struct it): New members 'lnum'.
19230 2017-06-16  Philipp Stephani  <phst@google.com>
19232         Correctly detect URLs surrounded by parentheses in comments
19234         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
19235         Make parentheses match work inside comments.
19237         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
19238         unit test.
19240 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
19242         Fix load-path issue when it contains remote directories
19244         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
19245         (tramp-use-absolute-autoload-file-names): New defun.  Call it
19246         after loading tramp.el.
19248         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
19249         New test.
19250         (tramp-test39-unload): Rename.
19252 2017-06-16  Alan Mackenzie  <acm@muc.de>
19254         Ensure C++ initializer lists don't get fontified.
19256         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
19257         compiler warning.
19259         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
19260         clause to handle C++ member initialization lists.
19261         (c-font-lock-single-decl): New function, extracted from
19262         c-font-lock-declarations.
19263         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
19264         code.
19265         (c-font-lock-cut-off-declarators): Make more rigorous by calling
19266         c-get-fontification-context, c-forward-decl-or-cast-1, and
19267         c-font-lock-single-decl in place of rather approximate code.
19269 2017-06-16  Alan Mackenzie  <acm@muc.de>
19271         Fix hang in CC Mode when ":" is typed after identifier at EOB.
19273         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
19274         confusing ":" and EOB.
19276 2017-06-15  Alan Mackenzie  <acm@muc.de>
19278         Create a toggle between block and line comments in CC Mode.
19280         Also (unrelated change) initialize the modes' keymaps at each loading.
19282         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
19283         on the modeline.
19284         (c-block-comment-flag): New variable.
19285         (c-toggle-comment-style): New function.
19287         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
19288         (c-line-comment-starter): Make them c-lang-defvars.
19289         (c-block-comment-is-default): New c-lang-defvar.
19290         (comment-start, comment-end): Make the default values dependent on
19291         c-block-comment-is-default.
19293         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
19294         (c-basic-common-init): Initialize c-block-comment-flag.
19295         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
19296         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
19297         mode is loaded rather than just once per Emacs session.
19299         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
19300         style.
19301         (Minor Modes): Define comment style.  Describe how comment style influences
19302         the information displayed on the modeline.  Document c-toggle-comment-style.
19303         (FAQ): Add a question about toggling the comment style.
19305 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19307         Pacify clang without munging C source
19309         * configure.ac (WARN_CFLAGS): With Clang, use
19310         -Wno-tautological-compare regardless of --enable-gcc-warnings.
19311         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
19312         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
19313         change which I hope is no longer needed.
19314         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
19315         some older non-POSIX hosts.
19317 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19319         No need to complicate make-docfile.c for Clang
19321         * lib-src/make-docfile.c (put_filename): Undo recent change.
19322         The Clang false alarm occurs only with CFLAGS=-save-temps and
19323         we needn’t worry about pacifying unusual compiler configurations.
19325 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19327         Port './configure CC=clang' to Fedora 25
19329         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
19330         standard function like MagickRelinquishMemory does not link.
19332 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19334         Don’t worry about __STDC_VERSION__ in emacs-module
19336         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
19337         we’ve found that some compilers do not define this symbol even
19338         when they work well enough.  If necessary features like stdbool.h
19339         are missing the compiler will complain eventually anyway.
19341 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19343         Port cleanup check to Oracle Studio 12.5
19345         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
19346         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
19347         #if this time.
19349 2017-06-14  Bastien  <bzg@gnu.org>
19351         Fix misformatted changelog entry
19353 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
19355         Avoid compiler warning in image.c on MS-Windows
19357         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
19358         compilation warning under -Warray-bounds by temporarily disabling
19359         the -Warray-bounds option.
19361 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
19363         Fix Bug#27315
19365         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
19366         New defvar.
19367         (top): Use it.
19369         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
19370         Check for connected, not for connectable.  (Bug#27315)
19371         (tramp-process-actions):
19372         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19373         Use `tramp-cache-read-persistent-data'.
19375         * test/lisp/net/tramp-tests.el (top): Set also
19376         `tramp-cache-read-persistent-data'.
19378 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
19380         Give a fixed default value for icomplete-prospects-height (Bug#26939)
19382         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
19383         (icomplete-prospects-length): Remove.
19384         * etc/NEWS: Announce removal.
19386 2017-06-14  Philipp Stephani  <phst@google.com>
19388         Remove some tautological comparisons involving rlim_t
19390         Clang on macOS warns about these with -Wtautological-compare.  POSIX
19391         guarantees that rlim_t is
19392         unsigned (cf.
19393         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
19394         so these resource limits can never be negative.
19396         * src/emacs.c (main): Remove tautological comparisons.
19398 2017-06-14  Philipp Stephani  <phst@google.com>
19400         Use --module-assertions if modules are available
19402         Using --module-assertions helps us find bugs in the test module.  But
19403         we can use it only if Emacs was compiled with module support.
19405         * test/Makefile.in (MODULES_EMACSOPT): New variable.
19406         (emacs): Use it.
19408 2017-06-14  Philipp Stephani  <phst@google.com>
19410         Define --module-assertions only of modules are available
19412         Fixes Bug#27352.
19414         * src/emacs.c (usage_message, standard_args): Define
19415         --module-assertions only if Emacs has been compiled with module
19416         support.
19418 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
19420         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
19422         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
19423         No need to restore window config for WDD and WDW commands.
19425 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
19427         lisp/net/soap-client.el: Bump version to 3.1.3
19429         * lisp/net/soap-client.el: Bump version to 3.1.3.
19430         (soap-name-p): Fix checkdoc issue.
19432 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
19434         Fix an HTTP encoding error in soap-client.el
19436         * lisp/net/soap-client.el (soap-invoke-internal): Make
19437         SOAPAction header a UTF-8 encoded string.
19439 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19441         Port cleanup attribute to Oracle Studio 12.5
19443         * INSTALL (--with-modules): List cleanup attribute as prereq.
19444         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
19445         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
19446         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
19447         __has_attribute only inside preprocessor expressions.  The C
19448         compiler should check the cleanup attribute in the next line anyway.
19449         (module_reset_handlerlist): Remove an unnecessary ‘const’
19450         that causes Oracle Studio 12.5 to refuse to compile.
19452 2017-06-14  Glenn Morris  <rgm@gnu.org>
19454         Fix running tests in without-modules builds
19456         * test/Makefile.in (EMACSOPT): Remove option that is only defined
19457         with-modules.  emacs-module-tests.el passes it where needed.
19459 2017-06-13  Glenn Morris  <rgm@gnu.org>
19461         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
19463 2017-06-13  Philipp Stephani  <phst@google.com>
19465         Inline test module Makefile into main test Makefile
19467         The test/data/emacs-module/Makefile only built a single target, and
19468         inlining it into test/Makefile simplifies dependency tracking and
19469         reduces code duplication.
19471         * configure.ac: Don't build test/data/emacs-module/Makefile.
19473         * Makefile.in ($(test_module)): Inline compilation.
19474         (clean): Also clean test module outputs.
19476 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
19478         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
19480 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
19482         Minor tweaks in Tramp manual
19484         * doc/misc/trampver.texi: Add prefixwithspace flag.
19486         * doc/misc/tramp.texi (Password handling): Harmonize example.
19487         (File name completion): Use prefixwithspace flag.
19488         (Frequently Asked Questions): Explain `tramp-histfile-override'.
19490 2017-06-13  Philipp Stephani  <phst@google.com>
19492         Silence two Clang warnings by introducing additional local variables
19494         * lib/strftime.c (libc_hidden_def):
19495         * lib-src/make-docfile.c (put_filename): Introduce local variables to
19496         silence Clang warnings.
19498 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
19500         Fix wrong indentation after string literal (Bug#27306)
19502         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
19503         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
19504         * test/lisp/emacs-lisp/lisp-mode-tests.el
19505         (lisp-indent-region-after-string-literal): New test.
19507 2017-06-13  Philipp Stephani  <phst@google.com>
19509         Fix version checks for emacs-module.h
19511         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
19512         don't need it at all.
19514 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
19516         Buttonize #<bytecode> part of printed functions (Bug#25226)
19518         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
19519         (cl-print-compiled-button): New variable.
19520         (help-byte-code): New button type, calls `disassemble' in its action.
19521         (cl-print-object): Use it if `cl-print-compiled-button' is
19522         non-nil.
19524 2017-06-12  Philipp Stephani  <phst@google.com>
19526         Print module structure sizes when initializing test module
19528         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
19529         compile-time and runtime sizes of module structures to ease debugging
19531 2017-06-12  Glenn Morris  <rgm@gnu.org>
19533         Small portability fix for emacs-module.h (bug#27346)
19535         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
19536         Avoid 'error: missing binary operator before token "("'.
19538 2017-06-12  Glenn Morris  <rgm@gnu.org>
19540         Give a more informative failure in module assertion test
19542         * test/src/emacs-module-tests.el (module--test-assertions):
19543         Rephrase final check to give a more informative failure.
19545 2017-06-12  Philipp Stephani  <phst@google.com>
19547         Fix off-by-one error
19549         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
19550         off-by-one error.
19552 2017-06-12  Glenn Morris  <rgm@gnu.org>
19554         Clean up after module assertion tests
19556         * test/src/emacs-module-tests.el (module--test-assertions):
19557         Use a temporary directory to contain any core dumps.
19559 2017-06-12  Glenn Morris  <rgm@gnu.org>
19561         Small improvement for module assertion test
19563         * test/src/emacs-module-tests.el (module--test-assertions):
19564         Don't rely on the precise form of an "Abort" message.
19566 2017-06-12  Glenn Morris  <rgm@gnu.org>
19568         Improve previous test/data/emacs-module/Makefile change
19570         * test/data/emacs-module/Makefile.in (clean):
19571         Avoid doing unpleasant things if run in a build without modules.
19573 2017-06-12  Glenn Morris  <rgm@gnu.org>
19575         Small improvements for test/data/emacs-module/Makefile
19577         * test/data/emacs-module/Makefile.in (%.o):
19578         Fix emacs-module dependency.
19579         (SECONDARY): Stop make automatically deleting *.o.
19580         (clean): New rule.
19582 2017-06-12  Glenn Morris  <rgm@gnu.org>
19584         * make-dist: Skip some more generated files in test/.
19586 2017-06-12  Alan Third  <alan@idiocy.org>
19588         Note how fullscreen differs on the NS port
19590         doc/lispref/frames.texi (Size Parameters):
19591         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
19592         hides the tool-bar and menu-bar in fullscreen.
19594 2017-06-12  Alan Third  <alan@idiocy.org>
19596         Add no-focus-on-map to NS build (bug#25408)
19598         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
19599         (x-create-frame): Check for no-focus-on-map.
19600         * src/nsterm.h (x_set_no_focus_on_map): New function.
19601         * src/nsterm.m (x_set_no_focus_on_map): New function.
19602         (ns_raise_frame): Add parameter for specifying whether to focus the
19603         frame.
19604         (ns_frame_raise_lower):
19605         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
19607 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19609         _Noreturn not noreturn
19611         _Noreturn is more portable to non-C11 platforms.  See:
19612         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
19613         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
19614         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
19616 2017-06-12  Glenn Morris  <rgm@gnu.org>
19618         Update make-dist for recent test/ changes
19620         * make-dist: No longer distribute test/data/emacs-module/Makefile.
19622 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
19624         Handle port and domain in Tramp's password cache
19626         * doc/misc/tramp.texi (Password handling): Explain port and
19627         domain handling in authinfo.
19629         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
19630         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
19631         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
19632         (tramp-maybe-open-connection):
19633         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
19634         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
19635         (tramp-smb-maybe-open-connection): Handle also domain and port.
19637 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
19639         Avoid compilation warnings with pre-C99 libc
19641         * src/emacs-module.c (module_free_global_ref)
19642         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
19643         instead of C99 't' format descriptor.
19645 2017-06-12  Philipp Stephani  <phst@google.com>
19647         Flush all output streams before aborting
19649         Maybe the stdout buffer still contains something interesting that
19650         should be flushed.
19652         * src/emacs-module.c (module_abort): Flush all output streams before
19653         aborting.
19655 2017-06-12  Philipp Stephani  <phst@google.com>
19657         Remove an assertion that doesn't test Emacs invariants
19659         * src/emacs-module.c (module_copy_string_contents): Remove an
19660         assertion that doesn't test Emacs invariants.
19662 2017-06-12  Philipp Stephani  <phst@google.com>
19664         Test module: add necessary version checks
19666         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
19667         version checks.
19669 2017-06-12  Philipp Stephani  <phst@google.com>
19671         Use additional CFLAGS from configure
19673 2017-06-12  Philipp Stephani  <phst@google.com>
19675         Use Autoconf to generate the test module Makefile
19677         This makes it easier to pass compilation flags around.
19679         * configure.ac: Also build test module Makefile.
19681         * test/data/emacs-module/Makefile.in: New makefile template.
19683         * test/Makefile.in ($(test_module)): No longer necessary to pass
19684         @MODULES_SUFFIX@ around.
19686         * .gitignore: Test module Makefile can now be ignored.
19688 2017-06-12  Philipp Stephani  <phst@google.com>
19690         Also compile test module as C11
19692         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
19694 2017-06-12  Philipp Stephani  <phst@google.com>
19696         Implement module assertions for users
19698         Add a new command-line option '-module-assertions' that users can
19699         enable developing or debugging a module.  If this option is present,
19700         Emacs performs additional checks to verify that modules fulfill their
19701         requirements.  These checks are expensive and crash Emacs if modules
19702         are invalid, so disable them by default.
19704         This is a command-line option instead of an ordinary variable because
19705         changing it while Emacs is running would cause data structure
19706         imbalances.
19708         * src/emacs.c (main): New command line option '-module-assertions'.
19710         * src/emacs-module.c (module_assert_main_thread)
19711         (module_assert_runtime, module_assert_env, module_assert_value):
19712         New functions to assert module requirements.
19713         (syms_of_module): New uninterned variable 'module-runtimes'.
19714         (init_module_assertions, in_main_thread, module_abort): New helper
19715         functions.
19716         (initialize_environment): Initialize value list.  If assertions are
19717         enabled, use a heap-allocated environment object.
19718         (finalize_environment): Add assertion that environment list is never
19719         empty.
19720         (finalize_runtime_unwind): Pop module runtime object stack.
19721         (value_to_lisp): Assert that the value is valid.
19722         (lisp_to_value): Record new value if assertions are enabled.
19723         (mark_modules): Mark allocated object list.
19724         (MODULE_FUNCTION_BEGIN_NO_CATCH)
19725         (module_non_local_exit_check, module_non_local_exit_clear)
19726         (module_non_local_exit_get, module_non_local_exit_signal)
19727         (module_non_local_exit_throw): Assert thread and environment.
19728         (module_get_environment): Assert thread and runtime.
19729         (module_make_function, module_funcall, module_intern)
19730         (module_funcall, module_make_integer, module_make_float)
19731         (module_make_string, module_make_user_ptr, module_vec_get)
19732         (funcall_module, Fmodule_load): Adapt callers.
19733         (module_make_global_ref): If assertions are enabled, use the global
19734         environment to store global values.
19735         (module_free_global_ref): Remove value from global value list.
19737         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
19738         modules.
19740         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
19741         (Fmod_test_invalid_load): New functions to test module assertions.
19742         (emacs_module_init): Bind the new functions.
19744         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
19745         the Emacs binary file.
19746         (mod-test-file): New constant for the test module file name.
19747         (module--test-assertions): New unit test.
19749 2017-06-12  Philipp Stephani  <phst@google.com>
19751         emacs-module: Use __attribute__((nonnull))
19753         Annotate all parameters with __attribute__((nonnull)) that may not be
19754         NULL.
19756 2017-06-12  Philipp Stephani  <phst@google.com>
19758         Explicitly require C11 or C++11 in emacs-module.h
19760         We already implicitly require them by including stdbool.h.  Just make
19761         the error message a bit clearer, and remove an unnecessary version
19762         comparison.
19764 2017-06-12  Philipp Stephani  <phst@google.com>
19766         Add missing 'require' forms to prevent compiler warnings.
19768         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
19769         requirements.
19771 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19773         Merge from gnulib
19775         This incorporates:
19776         2017-06-11 getopt-posix: port to glibc 2.25.90
19777         2017-06-04 same-inode: port better to VMS 8.2 and later
19778         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
19779         * m4/sys_types_h.m4: Copy from gnulib.
19781 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19783         Remove Lisp_Misc_Float
19785         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
19786         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
19787         unused for two decades; if we ever want to change floats to be a
19788         misc type we can bring it back then.
19790 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19792         Make two symbols private to emacs-module.c
19794         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
19795         Move from here ...
19796         * src/emacs-module.c: ... to here.
19798 2017-06-12  Glenn Morris  <rgm@gnu.org>
19800         Merge from origin/emacs-25
19802         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
19804 2017-06-12  Glenn Morris  <rgm@gnu.org>
19806         Merge from origin/emacs-25
19808         e80f6a210b0 Describe problems with Microsoft Intellipoint
19809         a73ec1edb07 More accurate documentation of the ':box' face attribute
19811 2017-06-12  Glenn Morris  <rgm@gnu.org>
19813         Merge from origin/emacs-25
19815         eaa00584ceb Improve documentation of 'gnutls-verify-error'
19816         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
19817         741daec617e ; Describe the problem with ksh when resizing shell window
19819 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
19821         Some further improvements for tramp-gvfs.el
19823         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
19824         (tramp-gvfs-get-file-attributes)
19825         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
19826         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
19827         Show question also in batch mode.  Cache result.
19829         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
19830         Support completion for host names and ports.
19832 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
19834         Fix highlighting of CSS selectors with double hyphens
19836         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
19837         highlighting of selectors that contain double hyphens.  They would be
19838         mistaken for a variable.
19840 2017-06-11  Philipp Stephani  <phst@google.com>
19842         Support threads in modules
19844         Rather than checking for the main thread, check for the current
19845         thread.
19847         * src/emacs-module.c (check_thread): New function.
19848         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
19849         (module_non_local_exit_check, module_non_local_exit_clear)
19850         (module_non_local_exit_get, module_non_local_exit_signal)
19851         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
19853 2017-06-11  Philipp Stephani  <phst@google.com>
19855         Allow non-local exits in module initializers
19857         Previously signals, throws, and quits from module initialization
19858         functions were ignored.  These function aren't special, and better
19859         errors can be reported using signals than with the initialization
19860         return code, so allow non-local exits.
19862         * src/emacs-module.c (module_signal_or_throw): New helper function.
19863         (Fmodule_load, funcall_module): Use it.
19864         (Fmodule_load): Also allow quitting.
19866 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
19868         Let eshell/sudo handle absolute command names (Bug#27167)
19870         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
19871         absolute paths into relative ones.
19873 2017-06-10  Alan Third  <alan@idiocy.org>
19875         Don't wait for toolbar in NS native fullscreen
19877         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
19878         function when in fullscreen.
19880 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
19882         Fix the placement of GTK menus on multi-monitor systems
19884         menu_position_func did not properly use the current monitor's
19885         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
19887         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
19888         (frame-monitor-workarea): New functions.
19890         * src/xmenu.c (menu_position_func): Take into account the workarea of
19891         the monitor that contains the mouse.  (Bug#23568)
19893 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19895         Clarify documentation of 'face-spec-set'
19897         * lisp/faces.el (face-spec-set): Clarify the description of
19898         SPEC-TYPE in the doc string.
19900         * doc/lispref/display.texi (Defining Faces): Clarify the
19901         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
19903 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
19905         Fix domain port and handling in tramp-gvfs.el
19907         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
19908         Return nil if BYTE-ARRAY is nil.
19909         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
19910         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
19911         Fix domain and port handling.
19913         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
19914         Ignore errors.
19916 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19918         Improve documentation of 'face-spec-set-2'
19920         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
19921         to 'face-attrs'.
19922         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
19924 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19926         Fix handling of Python/Guile commands with arguments in gdb-mi.el
19928         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
19929         variable.
19930         (gdb-control-commands-regexp): Use it.
19931         (gdb-send): Don't increment gdb-control-level if the command
19932         matches gdb-python-guile-commands-regexp and has non-empty
19933         arguments.  Reported by David Boles <boles@ieee.org> in
19934         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
19936 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19938         Preserve point in Dired windows under 'dired-auto-revert-buffer'
19940         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
19941         is non-nil, bind switch-to-buffer-preserve-window-point to nil
19942         while calling find-file.  (Bug#27243)
19944 2017-06-09  Philipp Stephani  <phst@google.com>
19946         Give test files a -tests.el suffix
19948         Rename a couple of test files that have the same name as the library
19949         they test.  This harmonizes the naming pattern and makes it possible
19950         to have the tests directories in the load path.
19952 2017-06-09  Philipp Stephani  <phst@google.com>
19954         Fix another compiler warning on macOS
19956         * src/image.c (x_query_frame_background_color): Don't define if we
19957         have NextStep but no image support.
19959 2017-06-09  Philipp Stephani  <phst@google.com>
19961         Add garbage collection support for module environments
19963         * src/emacs-module.c (mark_modules): New function.
19964         (initialize_environment): Properly initialize Lisp objects.
19965         * src/alloc.c (garbage_collect_1): Call it.
19967 2017-06-08  Glenn Morris  <rgm@gnu.org>
19969         Make autogen.sh report relevant environment variables
19971         * autogen.sh (check_version):
19972         Indicate if using an environment variable.
19974 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
19976         Split variable macro env from function env
19978         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
19979         (cl-symbol-macrolet): Instead of adding each binding directly into the
19980         main environment with a special key format, put all symbol macro
19981         bindings into a single entry in the main environment under
19982         `:cl-symbol-macros'.
19983         (cl--sm-macroexpand): Look up symbol bindings in the
19984         `:cl-symbol-macros' entry of the environment.
19986 2017-06-07  Glenn Morris  <rgm@gnu.org>
19988         * make-dist: Directory modules/mod-test no longer exists.
19990 2017-06-07  Glenn Morris  <rgm@gnu.org>
19992         More authors.el updates
19994         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
19995         (authors-renamed-files-alist): Additions.
19997 2017-06-07  Glenn Morris  <rgm@gnu.org>
19999         * make-dist: Check a release has a ChangeLog with a release notice.
20001         * make-dist: Use existing ChangeLog if present.
20003 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
20005         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
20007 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
20009         (url-cookie-host-can-set-p): Protect against zero-length domains
20011         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
20012         against zero-length domains.
20014         Backtrace of a real-world site that triggers a bug:
20016         Debugger entered--Lisp error: (args-out-of-range "" 0)
20017           url-cookie-host-can-set-p("www.washingtonpost.com" "")
20018           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
20019           01-January-1970 00:00:00 GMT; path=/; domain=")
20020           url-http-handle-cookies()
20022 2017-06-06  Glenn Morris  <rgm@gnu.org>
20024         More authors.el updates
20026         * admin/authors.el (authors-obsolete-files-regexps)
20027         (authors-valid-file-names, authors-renamed-files-alist)
20028         (authors-renamed-files-regexps): Additions.
20030 2017-06-06  Glenn Morris  <rgm@gnu.org>
20032         More small authors.el updates
20034         * admin/authors.el (authors-aliases): Fix recent addition.
20035         (authors-obsolete-files-regexps, authors-no-scan-regexps)
20036         (authors-ignored-files, authors-valid-file-names)
20037         (authors-renamed-files-alist): Additions.
20039 2017-06-06  Glenn Morris  <rgm@gnu.org>
20041         Make authors.el report names that were ignored
20043         * admin/authors.el (authors-ignored-names): New.
20044         (authors-canonical-author-name): Add file and position arguments.
20045         Record ignored authors.
20046         (authors-scan-change-log, authors-scan-el):
20047         Pass file and position to authors-canonical-author-name.
20048         (authors): Also print authors that were ignored.
20050 2017-06-06  Glenn Morris  <rgm@gnu.org>
20052         * admin/authors.el (authors-aliases): Additions.
20054 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
20056         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
20058 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
20060         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
20062 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20064         Enable ElDoc messages after the newline command
20066         * lisp/emacs-lisp/eldoc.el:
20067         Add "newline" to the eldoc-add-command-completions call (bug#27228).
20069 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20071         Enable eldoc-mode explicitly inside read--expression
20073         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
20075 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
20077         Fix check for package-unsigned-archives during retrieval
20079         * lisp/emacs-lisp/package.el (package--download-one-archive):
20080         Fix check for package-unsigned-archives.
20082 2017-06-05  Noah Friedman  <friedman@splode.com>
20084         Merge etc/emacs-buffer.gdb from emacs-25 to master.
20086 2017-06-05  Philipp Stephani  <phst@google.com>
20088         Fix undefined behavior in mapbacktrace
20090         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
20092 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
20094         Fix emacs-module-tests on MS-Windows
20096         * src/print.c (print_vectorlike): Make sure module function's
20097         address prints with a leading "0x".  This fixes emacs-module-tests
20098         on MS-Windows.  Fix whitespace.
20099         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
20100         commentary.
20102 2017-06-05  Philipp Stephani  <phst@google.com>
20104         Use unwind protection to clean up data structures in modules
20106         Reuse existing functionality and simplify the code a bit.
20108         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
20109         runtime object.
20110         (funcall_module): Use unwind protection to clean up environment
20111         object.
20112         (finalize_environment): Simplify signature.
20113         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
20115 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20117         Some minor tweaks in tramp-tests.el
20119         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
20120         Let it pass for all gfvs based methods.
20121         (tramp-test24-file-name-completion): Run method and host
20122         completion for all syntaxes only when expensive tests are enabled.
20123         Do not check host completion for gvfs based methods.
20124         (tramp--test-gvfs-p): Add optional METHOD argument.
20125         (tramp--test-afp-or-smb-p): Remove.
20127 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20129         Fix error in Tramp rsync method
20131         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
20132         Otherwise, `tramp-test10-write-region' could fail.
20134 2017-06-05  Philipp Stephani  <phst@google.com>
20136         Inline module_has_cleanup
20138         This constant is only used once, and we fail compilation anyway if
20139         it's false.
20141         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
20143 2017-06-05  Philipp Stephani  <phst@google.com>
20145         Add missing dependency to test module source file
20147 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20149         Omit space that broke ‘make check’
20151         * src/print.c (print_vectorlike): Omit stray space.
20153 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20155         Remove easserts etc. from emacs-module.c
20157         Most of these seem to run afoul of the comment "Do NOT use
20158         'eassert' for checking validity of user code in the module."
20159         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
20160         (module_non_local_exit_check, module_non_local_exit_clear)
20161         (module_non_local_exit_get, module_non_local_exit_signal)
20162         (module_non_local_exit_throw, module_make_string):
20163         Remove unnecessary easserts that pointers are nonnull.
20164         Hardware checks this for us nowadays, and the checks
20165         just clutter up the code.
20166         (module_extract_integer): Remove unnecessary verify that
20167         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
20168         The C standard guarantees this.
20169         (module_copy_string_contents): Remove unnecessary eassert
20170         that Lisp strings are null-terminated.
20171         (module_function_arity): Remove unnecessary easserts that
20172         function arities are in range.
20174 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20176         Remove unnecessary checking in emacs-module.c
20178         * src/emacs-module.c (module_copy_string_contents):
20179         Remove checking, as string lengths are always nonnegative and less
20180         than STRING_BYTES_BOUND, and this is checked elsewhere.
20181         (module_make_string): Check length against STRING_BYTES_BOUND, a
20182         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
20183         assume that an out-of-range integer is nonnegative.
20185 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20187         SCHARS and STRING_BYTES are nonnegative
20189         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
20190         the hopes that this will optimize a bit better.  Also, check this
20191         at runtime if ENABLE_CHECKING.
20192         * src/lisp.h (SCHARS, STRING_BYTES):
20193         eassume that these functions return nonnegative values.
20194         (STRING_SET_CHARS) [ENABLE_CHECKING]:
20195         eassert that newsize is nonnegative.
20197 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
20199         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
20201 2017-06-04  Philipp Stephani  <phst@google.com>
20203         Remove an unused error symbol
20205         * src/emacs-module.c (syms_of_module): Remove unused error symbol
20206         'invalid-module-call'.
20208 2017-06-04  Philipp Stephani  <phst@google.com>
20210         Support quitting in modules
20212         The idea is that modules should call env->should_quit from time to
20213         time and return as quickly as possible if it returns true.
20215         * src/emacs-module.c (module_should_quit): New module function.
20216         (initialize_environment): Use it.
20217         (funcall_module): Process potential pending quit.
20219         * src/eval.c (maybe_quit): Add reference to module_should_quit.
20221 2017-06-04  Philipp Stephani  <phst@google.com>
20223         Use more specific errors for module load failure
20225         * src/emacs-module.c (syms_of_module): Add more specific error
20226         symbols.
20227         (Fmodule_load): Use them.
20229 2017-06-04  Philipp Stephani  <phst@google.com>
20231         Remove an unneeded assertion
20233         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
20234         assertion.  If this assertion triggers, we raise an error anyway.
20236 2017-06-04  Philipp Stephani  <phst@google.com>
20238         Guard against signed integer overflows
20240         * src/emacs-module.c (module_extract_integer)
20241         (module_copy_string_contents, module_make_string): Guard against
20242         signed integer overflows.
20244 2017-06-04  Philipp Stephani  <phst@google.com>
20246         Add a couple more assertions to the module code
20248         These can help module authors debug crashes.
20250         * src/emacs-module.c (module_non_local_exit_check)
20251         (module_non_local_exit_clear, module_non_local_exit_get)
20252         (module_non_local_exit_signal, module_non_local_exit_throw)
20253         (module_copy_string_contents, module_make_string)
20254         (funcall_module, initialize_environment): Add assertions
20256 2017-06-04  Philipp Stephani  <phst@google.com>
20258         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
20260         In particular, alias violations are likely for the return values of
20261         dlsym(3), which get cast around arbitrarily.
20263         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
20265 2017-06-04  Philipp Stephani  <phst@google.com>
20267         Simplify interface of dynlib_attr.
20269         Instead of returning bool, set the argument pointers to NULL if the
20270         information is not available.
20272         * src/dynlib.c (dynlib_addr): Don't return bool.
20274 2017-06-04  Philipp Stephani  <phst@google.com>
20276         Rationalize environment lifetime management functions
20278         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
20279         (finalize_environment): Add parameter for public part of the
20280         environment, like 'initialize_environment'.  Add assertions.
20282 2017-06-04  Philipp Stephani  <phst@google.com>
20284         Rework printing of module functions
20286         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
20287         other types.
20289         * src/print.c (print_vectorlike): Add code to print module functions.
20291         * src/emacs-module.c (funcall_module): Stop calling
20292         'module_format_fun_env'.  Now that module functions are first-class
20293         objects, they can be added to signal data directly.
20294         (module_handle_signal): Remove now-unused function
20295         'module_format_fun_env'.
20297         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
20299         * src/eval.c (funcall_lambda): Adapt call to changed signature of
20300         'funcall_module'.
20302 2017-06-04  Philipp Stephani  <phst@google.com>
20304         Define helper macro to reduce code duplication
20306         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
20307         macro.
20308         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
20309         Use it.
20311 2017-06-04  Philipp Stephani  <phst@google.com>
20313         Remove two FIXMEs that can't be fixed
20315 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
20317         Avoid slow startup in daemon mode when global-linum-mode is on
20319         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
20320         non-client frame of a daemon session.  (Bug#27210)
20322 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20324         Fix eldoc bug with curved quote
20326         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
20327         Substitute quotes in documentation before returning it (Bug#27159).
20329 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20331         Tune ‘format’ after recent fix
20333         * doc/lispref/strings.texi (Formatting Strings):
20334         * src/editfns.c (Fformat): Format field numbers no longer need
20335         to be unique, reverting the previous doc change since that has
20336         now been fixed.  Also, document that %% should not have modifiers.
20337         * src/editfns.c (styled_format): Improve performance.  Remove
20338         the need for the new prepass over the format string, by using
20339         a typically-more-generous bound for the info array size.
20340         Initialize the info array lazily.  Move string inspection to
20341         the same area to help caching.  Avoid the need for a
20342         converted_to_string bitfield by using EQ.  Cache arg in a
20343         local and avoid some potential aliasing issues to help the
20344         compiler.  Info array is now 0-origin, not 1-origin.
20346 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
20348         Improve of file-local-name use in vc-git-checkin
20350         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
20351         when calling git commit.
20353 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
20355         Support a new CSS indentation style
20357         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
20358         immediately followed by a newline.
20360         * test/manual/indent/css-mode.css: Add test for the change above.
20362         * test/manual/indent/scss-mode.scss: Ditto.
20364 2017-06-03  Philipp Stephani  <phst@google.com>
20366         Fix a bug when using format field numbers
20368         Previously styled_format overwrite the argument vector.  This is no
20369         longer possible because there might be more than one specification per
20370         argument.  Use the existing auxiliary info array instead.
20372         * src/editfns.c (styled_format): Record arguments in the info
20373         structure instead of overwriting them.
20374         * test/src/editfns-tests.el (format-with-field): Add unit test.
20376 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20378         Document uniqueness limitation of ‘format’
20380         * doc/lispref/strings.texi (Formatting Strings):
20381         * src/editfns.c (Fformat):
20382         Document that field numbers should be unique within a format.
20384 2017-06-03  Glenn Morris  <rgm@gnu.org>
20386         Small rmailmm fix (bug#27203)
20388         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
20389         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
20391 2017-06-03  Glenn Morris  <rgm@gnu.org>
20393         * admin/authors.el (authors-aliases): Addition.
20395 2017-06-03  Glenn Morris  <rgm@gnu.org>
20397         Add watch for password back to inferior python comint filter
20399         It was removed along with other items for speed (bug#16875),
20400         but doesn't seem to have been causing an issue, and it's useful to
20401         have it there (bug#27154).
20402         * lisp/progmodes/python.el (inferior-python-mode):
20403         Add comint-watch-for-password-prompt to comint-output-filter-functions.
20405 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
20407         Use completing-read-default in tmm-prompt
20409         tmm uses completing-read, but customizes its behavior so much
20410         that any alternative completing-read-function will almost
20411         certainly break it.  For example, both ido-ubiquitous and ivy have
20412         special code to deactivate themselves for tmm.
20413         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
20414         completing-read.  (Bug#27193)
20416 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
20418         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
20420 2017-06-02  Glenn Morris  <rgm@gnu.org>
20422         Fix with-todo-test
20424         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
20425         HOME should be a directory, not a file.  Delete it when finished.
20427 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
20429         Update TUTORIAL.it
20431         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
20433 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20435         Fix cursor position in Dired buffers after dired-sort-toggle
20437         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
20438         even if the frame is marked as garbaged.  (Bug#27187)
20440 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20442         Update TUTORIAL.he
20444         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
20446 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
20448         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
20450 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20452         Limit format fields to more POSIX-like spec
20454         * doc/lispref/strings.texi (Formatting Strings):
20455         Don’t allow mixing numbered with unnumbered format specs.
20456         * src/editfns.c (styled_format): Don’t bother checking for field 0,
20457         since it doesn’t crash and the behavior is not specified.
20458         * test/src/editfns-tests.el (format-with-field): Adjust tests to
20459         match current doc.  Add more tests for out-of-range fields.
20461 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20463         Improve performance by avoiding strtoumax
20465         This made (string-to-number "10") 20% faster on my old desktop,
20466         an AMD Phenom II X4 910e running Fedora 25 x86-64.
20467         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
20468         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20469         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
20470         * m4/strtoumax.m4: Remove.
20471         * src/editfns.c (str2num): New function.
20472         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
20473         instead of uintmax_t.  Check for integer overflow.
20474         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
20475         Move to private scope and make them enums.
20476         (string_to_number): Compute integer value directly during
20477         first pass instead of revisiting it with strtoumax later.
20479 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20481         Minor improvements to format field numbers
20483         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
20484         No need for a special diagnostic for field numbers greater than
20485         PTRDIFF_MAX.  Reword diagnostic for field 0.
20486         * test/src/editfns-tests.el (format-with-field): Adjust to match.
20488 2017-06-02  Philipp Stephani  <phst@google.com>
20490         Implement field numbers in format strings
20492         A field number explicitly specifies the argument to be formatted.
20493         This is especially important for potential localization work, since
20494         grammars of various languages dictate different word orders.
20496         * src/editfns.c (Fformat): Update documentation.
20497         (styled_format): Implement field numbers.
20499         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
20501         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
20503         * test/src/editfns-tests.el (format-with-field): New unit test.
20505 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
20507         Limit scope of local overriding-terminal-local-map
20509         The function `binding' may call isearch-done, which globally sets
20510         overriding-terminal-local-map to nil (Bug#23007).
20511         * lisp/isearch.el (isearch-mouse-2): Don't bind
20512         overriding-terminal-local-map around the call to `binding'.
20514 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
20516         Correct and isolate the todo-mode test environment
20518         This avoids having to set todo-mode variables globally in the test
20519         file and prevents any exisiting user todo-mode files from influencing
20520         the tests.
20522         * test/lisp/calendar/todo-mode-tests.el:
20523         (with-todo-test): New macro.
20524         (todo-test-todo-quit01, todo-test-todo-quit02)
20525         (todo-test-item-highlighting): Use it.
20527 2017-06-01  Alan Third  <alan@idiocy.org>
20529         Fix build errors on macOS 10.6 (bug#27059)
20531         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
20533 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20535         Improve testing of octal and hex display of raw bytes
20537         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20538         (test-redisplay-5): Add a test with a large codepoint.
20540 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
20542         Add customizable to display raw bytes as hex
20544         * src/xdisp.c (get_next_display_element): Dispatch used format string
20545         for unprintables based on new display-raw-bytes-as-hex variable.
20546         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
20548         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
20550         * doc/emacs/display.texi: Document the new variable.
20551         * etc/NEWS: Mention display-raw-bytes-as-hex.
20553         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20554         (test-redisplay-5): New tests.
20555         (test-redisplay): Call test-redisplay-5.
20557 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20559         Revert "Add customizable to display raw bytes as hex"
20561         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
20563 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20565         Add customizable to display raw bytes as hex
20567         * src/xdisp.c (get_next_display_element): Dispatch used format string
20568         for unprintables based on new display-raw-bytes-as-hex variable.
20569         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
20571         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
20573         * doc/emacs/display.texi: Document the new variable.
20574         * etc/NEWS: Mention display-raw-bytes-as-hex.
20576         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20577         (test-redisplay-5): New tests.
20578         (test-redisplay): Call test-redisplay-5.
20580 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20582         Fix linum under text-scaling when leuven-theme is used
20584         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
20585         inherit from 'default' and 'shadow', so that margins are enlarged
20586         as expected under text-scaling.
20588 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20590         Free cwd when no longer needed
20592         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
20594 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
20596         Fix memory leak of cwd string in emacsclient (Bug#26628)
20598         * lib-src/emacsclient.c (main): emacsclient retrieves the current
20599         working directory using get_current_dir_name which returns a newly
20600         allocated string.  Make sure this string is freed before exiting.
20602 2017-06-01  Glenn Morris  <rgm@gnu.org>
20604         Quieten compilation of some test files
20606         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
20607         * test/src/data-tests.el (binding-test-set-constant-t)
20608         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
20609         (binding-test-set-constant-nil): Silence compiler.
20610         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
20612 2017-06-01  Glenn Morris  <rgm@gnu.org>
20614         Use true names for invocation- and source-directory
20616         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
20617         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
20619 2017-06-01  Glenn Morris  <rgm@gnu.org>
20621         Avoid elisp-mode test failures when source dir has multiple names
20623         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
20624         Use the true name of the directory.
20626 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20628         Fix bug with "%%" in error format
20630         * src/doprnt.c (doprnt): Format "%%" correctly.
20631         Problem reported by Philipp Stephani in:
20632         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
20634 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20636         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
20638 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
20640         Revert mml-generate-mime-1 (bug#27141)
20642         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
20643         with slight modernizations (bug#27141).
20645 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
20647         Fix Bug#27108
20649         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
20650         in order to avoid Tramp password requests during Emacs
20651         startup.  (Bug#27108)
20653 2017-05-31  Glenn Morris  <rgm@gnu.org>
20655         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
20657 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20659         Document current-line hscrolling in ELisp manual
20661         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
20662         new mode of auto-hscrolling only the current line.
20664 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20666         Support lower bound on hscrolling when only current line scrolls
20668         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
20669         mode of auto-hscrolling only the current line.
20671         * src/xdisp.c (init_iterator): When hscrolling only the
20672         current line, apply the window's min_hscroll here, so that
20673         non-current lines will be hscrolled by that minimum.
20674         Suggested by Stephen Berman <stephen.berman@gmx.net>.
20675         (hscroll_window_tree): Account for window's min_hscroll when
20676         deciding whether to recompute the hscroll.
20677         (display_line): Subtract window's min_hscroll from x_incr, as that
20678         was already accounted for in init_iterator.  (Bug#27008)
20680 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
20682         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
20684         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
20685         (cl-print-object): When `print-circle' is nil, bind it to a list of
20686         objects that are currently printing to avoid printing the same object
20687         endlessly.
20688         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
20690 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
20692         Further simplify test/Makefile, optionally load elc tests
20694         * test/Makefile.in: Use make's error ignoring feature instead of
20695         suppressing test errors with shell.  Compile test files in the main
20696         make invocation instead of a recursive 'make' call.  Optionally load
20697         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
20698         Remove obsolete commentary.
20700 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20702         Avoid inflooping in redisplay due to Spacemacs and linum-mode
20704         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
20705         retries when a frame becomes garbaged as result of redisplaying
20706         it.  (Bug#27115)
20708 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
20710         * src/editfns.c (decode-time): Fix docstring.
20712 2017-05-31  Glenn Morris  <rgm@gnu.org>
20714         * admin/update_autogen: Remove bzr support.
20716 2017-05-31  Glenn Morris  <rgm@gnu.org>
20718         Avoid subr test failure when source dir has multiple names
20720         * test/lisp/subr-tests.el (subr-tests--this-file):
20721         Use the true name of the file.  The following test does a string
20722         comparison of this value with that from method-files, which uses
20723         load-history, which contains true names.
20725 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
20727         Extract eldoc--supported-p
20729         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
20730         (turn-on-eldoc-mode, eldoc-mode): Use it.
20731         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
20733 2017-05-30  Glenn Morris  <rgm@gnu.org>
20735         Make "make check" less verbose by default
20737         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
20738         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
20739         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
20740         New, copied from lisp/Makefile.in.
20741         (%.elc, %.log): Simplify and quieten.
20743 2017-05-30  Alan Mackenzie  <acm@muc.de>
20745         Mode line "%q" construct: Just use one number when both would be the same.
20747         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
20749 2017-05-30  Alan Mackenzie  <acm@muc.de>
20751         Merge branch 'master' of /home/acm/emacs/emacs.git/master
20753 2017-05-30  Alan Mackenzie  <acm@muc.de>
20755         c-defun-name: Return fully qualified method names when wanted in C++, etc.
20757         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
20758         c-back-over-compound-identifier in place of c-backward-token-2 near the end
20759         of the function.
20761 2017-05-30  Glenn Morris  <rgm@gnu.org>
20763         Reduce scope of recent test/Makefile HOME change
20765         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
20767 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20769         Skip .#* temporaries when finding sources
20771         Without this patch, ‘make check’ can fail with the diagnostic
20772         ‘invalid syntax in conditional’ if there is an Emacs temporary
20773         file whose name starts with ‘.#’, because the ‘#’ is treated as
20774         the start of a Make comment.
20775         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
20776         * test/Makefile.in (ELFILES):
20777         Skip files starting with ‘.’, so that the .#* files do not cause
20778         trouble.  (We cannot easily skip just files starting with ‘.#’,
20779         since ‘#’ starts a Make comment!)
20781 2017-05-30  Alan Mackenzie  <acm@muc.de>
20783         Merge branch 'master' of /home/acm/emacs/emacs.git/master
20785 2017-05-30  Alan Mackenzie  <acm@muc.de>
20787         Fix the mouse help/key map on the "%p" part of the mode line.
20789         * lisp/bindings.el (mode-line-percent-position): give it a
20790         `risky-local-variable' property.
20791         (mode-line-position): correct the quoting on the mode-line-percent-position
20792         part of the variable, allowing the properties to be properly recognized.
20794 2017-05-30  Alan Mackenzie  <acm@muc.de>
20796         Fix the mouse help/key map on the "%p" part of the mode line.
20798         * lisp/bindings.el (mode-line-percent-position): give it a
20799         `risky-local-variable' property.
20800         (mode-line-position): correct the quoting on the mode-line-percent-position
20801         part of the variable, allowing the properties to be properly recognized.
20803 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20805         Merge from gnulib
20807         * build-aux/config.guess: Copy from gnulib.
20808         * lib/gnulib.mk.in: Regenerate.
20810 2017-05-30  Glenn Morris  <rgm@gnu.org>
20812         Stop make check interacting with HOME
20814         * test/Makefile.in (HOME): Export a non-existent value.
20816 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20818         Update .gitattributes to match sources better
20820         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
20821         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
20822         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
20823         Add config.guess and config.sub as shell files.
20825 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
20827         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
20829         * doc/emacs/cmdargs.texi (Initial Options):
20830         * doc/lispref/os.texi (Startup Summary):
20831         * etc/NEWS:
20832         * etc/emacs.service:
20833         * src/emacs.c (main):
20834         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
20835         '--bg-daemon'.
20837 2017-05-30  Glenn Morris  <rgm@gnu.org>
20839         todo-mode: don't assume an ordering of tests
20841         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
20842         (todo-test-item-highlighting): Avoid prompting for input file.
20844 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20846         Improve .gdbinit Lisp value pretty-printing
20848         * src/.gdbinit (to_string): Use an unsigned representation for
20849         Lisp values, as requested by Eli Zaretskii (Bug#27098).
20850         Also, use "make_number(N)" for Lisp integers.
20852 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20854         Turn global-eldoc-mode into a globalized minor mode
20856         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
20857         Turn into globalized mode (bug#19853).
20858         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
20859         (eldoc-mode): Only show the message when called interactively.
20861 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
20863         Use regexp matching instead of checking exit status
20865         * lisp/progmodes/xref.el (xref-collect-matches):
20866         See if the output buffer contents look like Grep output
20867         instead of checking exit status (bug#23451).
20869 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20871         Add initial tests for todo-mode.el
20873         *test/lisp/calendar/todo-mode-tests.el:
20874         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
20875         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
20877         * .gitattributes: Ignore trailing whitespace in todo-mode test
20878         data files, since it is part of the todo-mode file format.
20880 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20882         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
20884         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
20885         replacing an anonymous function for the sake of `describe-variable'.
20886         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
20887         and remove boundp test of this variable, so its value is available on
20888         invoking `todo-toggle-item-highlighting'.
20890 2017-05-29  Alan Third  <alan@idiocy.org>
20892         Fix build error on macOS 10.6
20894         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
20895         CGPoint.
20897 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
20899         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
20901         * lisp/progmodes/python.el (python-indent--calculate-indentation):
20902         Increase indent by `python-indent-offset' after
20903         `:after-backslash-assignment-continuation'.
20905 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
20907         Add suggestion to docstring
20909         * lisp/subr.el (interactive-p): Mention commandp, as this is often
20910           what users are actually looking for.
20912 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
20914         Ensure button-get works in any buffer
20916         * lisp/button.el (button-get): Previously we assumed that button-get
20917           was called in the buffer containing the button.  In other buffers,
20918           button-get always returned nil.  Fix this by passing the relevant
20919           buffer from the marker.
20921 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
20923         Signal error if find-grep returns a nonzero status
20925         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
20926         if find-grep returns a nonzero status (bug#23451).  Remove the
20927         comment: even if some output is present, a non-zero status
20928         means something went wrong and it can't be relied upon.
20930 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20932         Make sure exiting todo-mode buffer buries it (bug#27121)
20934         This failed due to commit ea3ae33b from 2013-05-16, which prevented
20935         quitting todo-mode buffer after visiting todo-archive buffer from
20936         making the archive buffer current again.  Avoid this now by simply
20937         killing the archive buffer, since there's no need to keep it a live
20938         buffer.  Consequently, quitting a todo-mode buffer can now use
20939         bury-buffer without an argument, which ensures that is will not
20940         becomes current on quitting the buffer that replaced it in the window.
20942         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
20943         buffer instead of burying it.  This now allows exiting the
20944         todo-mode buffer by bury-buffer without an argument, so do that.
20946 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
20948         Some tweaks, almost all for Tramp adb method
20950         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
20951         Use `make-tramp-file-name'.
20952         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
20953         (tramp-adb-maybe-open-connection): Set "prompt" property.
20954         (tramp-adb-wait-for-output): Use it.
20956         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
20957         (tramp-dump-connection-properties): Check also that there are
20958         properties to be saved.  Don't save "started" property of
20959         "ftp" method.
20961         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
20962         Use `make-tramp-file-name'.
20964         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
20965         Host could be empty.
20966         (tramp-file-name-port-or-default): New defun.
20967         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
20968         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
20969         (tramp-call-process, tramp-call-process-region):
20970         Use `make-tramp-file-name'.
20972         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
20973         Revert change from 2017-05-24.
20974         (tramp-test05-expand-file-name-relative): Let it also pass for
20975         "adb" method.
20977 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
20979         Fix Tramp for Android 7
20981         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
20982         Username part of prompt is empty on Android 7.
20983         (tramp-adb-ls-toolbox-regexp):
20984         Ignore addition links column on Android 7.
20985         (tramp-adb-get-ls-command):
20986         Dont use --color=none when using toybox (Android 7).  It's not
20987         possible to disable coloring explicitly for toybox ls.
20989 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
20991         Fix cl-indent for `loop' with :keywords (Bug#15543)
20993         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
20994         ":keywords".
20996 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20998         Depromiscuify inotify with IN_MASK_ADD
21000         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
21001         mask.  This simplifies the code and restores the ability to
21002         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
21003         in some cases (Bug#26973).
21004         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
21005         (Finotify_add_watch): Use IN_MASK_ADD instead.
21007 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21009         Restore inotify onlydir support
21011         There was no need to remove it in the 2017-03-26 inotify change,
21012         as it is like IN_DONT_FOLLOW and does not affect other watchers
21013         for the same file.
21014         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
21015         (syms_of_inotify): Bring back onlydir.
21017 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21019         Simplify computation of inotify mask
21021         * src/inotify.c (add_watch): Accept uint32_t imask instead
21022         of Lisp_Object aspect.  Caller changed.
21023         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
21024         simplify the code.
21026 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21028         Improve the documentation of filesets
21030         * doc/emacs/files.texi (Filesets): Fix the description of
21031         fileset-init's effect on the menu bar.  (Bug#27015)
21033 2017-05-27  Philipp Stephani  <phst@google.com>
21035         Don't attempt to recover from undefined behavior in some cases
21037         These functions can only be run in batch mode and exit Emacs on
21038         return, so nothing can be recovered.  Disable unsafe recover
21039         mechanisms so that we get real failures and good stack traces on
21040         fatal signals.
21042         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
21043         (batch-byte-recompile-directory):
21044         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
21045         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
21046         from undefined behavior.
21048 2017-05-27  Philipp Stephani  <phst@google.com>
21050         Avoid another compiler warning on macOS
21052         When configured with --without-ns, HAVE_NS is not defined on macOS,
21053         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
21054         by using the pre-defined __APPLE__ preprocessor macro.
21056         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
21058 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
21060         Fix ruler-mode text-scaling issues
21062         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
21063         for computing scaled text width.
21064         (ruler-mode-text-scaled-window-hscroll)
21065         (ruler-mode-text-scaled-window-width): Compute text scaled
21066         `window-width' value.
21067         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
21068         (ruler-mode-ruler): Change `window-hscroll' into
21069         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
21070         into `ruler-mode-text-scaled-window-width'.
21072 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
21074         Minor doc and doc-string fixes (Bug#27091)
21076         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
21078         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
21079         (Display Margins): Mention that `set-window-buffer' may override
21080         settings made by `set-window-fringes', `set-window-scroll-bars'
21081         and `set-window-margins'.
21082         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
21083         `set-window-buffer'.
21085 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21087         Avoid args-out-of-range errors on fringe clicks after "C-h k"
21089         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
21090         message is already shorter than NCHARS.  (Bug#27040)
21092 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21094         Fix GUD "Stop" display when running pdb
21096         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
21097         when GUD mode is 'pdb'.  (Bug#27024)
21099 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
21101         Support drag and drop of region by mouse (Bug#26725)
21103         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
21104         and drop region by mouse.
21105         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
21106         when start-event is on region.
21107         (mouse-drag-and-drop-region): New function, moves the region by
21108         (mouse-drag-and-drop-region): New defcustom.
21109         * etc/NEWS: Mention mouse-drag-and-drop-region.
21111 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
21113         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
21115 2017-05-27  Alan Third  <alan@idiocy.org>
21117         Check if instancetype supported in ObjC
21119         * configure.ac: Add check for instancetype.
21120         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
21122 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
21124         Mark keywordp as a safe, error-free function
21126         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
21127           side-effect-and-error-free-fns.
21129 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21131         * src/inotify.c: Add FIXME comments.
21133 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
21135         Fix Bug#26973
21137         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
21138         and CLOSE events on order do let other processes also reading
21139         from their descriptors.  (Bug#26973).
21141 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
21143         Remove Emacs 23 compat code from Tramp
21145         * doc/misc/tramp.texi (Remote processes): Don't mention
21146         Emacs 24 explicitly.
21147         (Frequently Asked Questions): Remove Emacs 23 from
21148         compatibility list.
21150         * lisp/net/tramp.el:
21151         * lisp/net/tramp-adb.el:
21152         * lisp/net/tramp-cache.el:
21153         * lisp/net/tramp-gvfs.el:
21154         * lisp/net/tramp-sh.el:
21155         * lisp/net/tramp-smb.el: Replace compat function calls.
21157         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
21158         (tramp-compat-condition-case-unless-debug)
21159         (tramp-compat-copy-file, tramp-compat-copy-directory)
21160         (tramp-compat-delete-file, tramp-compat-delete-directory)
21161         (tramp-compat-process-live-p): Remove them.
21163         * lisp/net/trampver.el: Make version check fit for Emacs 24.
21165 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
21167         Work for application/x-tar-gz and image/svg+xml
21169         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
21170         ;; of bug#27078 in the Emacs bug list using Gnus.
21172         * lisp/gnus/mm-archive.el (mm-archive-decoders):
21173         Add a decoder for application/x-tar-gz.
21174         (mm-dissect-archive): Error out if a decoder is not found.
21176         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
21178 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
21180         test-calc-23889: Skip test on 32-bit platforms
21182         This test fails on some 32-bit platforms as mentioned in
21183         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
21184         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
21185         the Lisp integer is not big enough.
21187 2017-05-25  Alan Third  <alan@idiocy.org>
21189         Fix NS tooltips showing in the wrong place (bug#27053)
21191         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
21192         last recorded position.
21194 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21196         lisp/net/soap-client.el: Bump version to 3.1.2
21198         * lisp/net/soap-client.el: Bump version to 3.1.2.
21200 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21202         Fix soap-inspect.el doc strings
21204         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
21205         string.
21206         (soap-inspect-xs-attribute-group): Likewise.
21208 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21210         Fix two soap-client.el byte compilation warnings
21212         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
21213         (soap-fetch-xml-from-url): Remove special declaration of
21214         url-http-response-status.
21215         (soap-invoke-internal): Likewise.
21217 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21219         lisp/net/soap-client.el: Require cl-lib version 0.6.1
21221         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
21223 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21224             Stefan Monnier  <monnier@iro.umontreal.ca>
21226         lisp/net/soap-client.el: Shorten some long lines
21228         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
21229         unnecessary progn.
21230         (soap-xs-add-union): Wrap long line.
21232 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
21233             Stefan Monnier  <monnier@iro.umontreal.ca>
21235         Remove cl dependency in soap-client.el and soap-inspect.el
21237         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
21238         with cl-case, destructuring-bind with cl-destructuring-bind and
21239         loop with cl-loop.
21241         * lisp/net/soap-client.el: Replace cl library with cl-lib,
21242         defstruct with cl-defstruct, assert with cl-assert, case with
21243         cl-case, ecase with cl-ecase, loop with cl-loop and
21244         destructuring-bind with cl-destructuring-bind.
21246 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
21248         Switch Tramp to cl-lib
21250         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
21252         * lisp/net/tramp-ftp.el: Don't require cl.
21254         * lisp/net/tramp-gvfs.el: Don't require cl.
21255         (tramp-gvfs-handler-mounted-unmounted)
21256         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
21258         * lisp/net/tramp-sh.el: Don't require cl.
21259         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
21260         (tramp-sh-gvfs-monitor-dir-process-filter)
21261         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
21263         * lisp/net/tramp-smb.el: Don't require cl.
21264         (tramp-smb-read-file-entry): Use `cl-*' macros.
21266         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
21267         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
21268         (tramp-parse-passwd, tramp-parse-etc-group)
21269         (tramp-parse-putty): Use `cl-*' macros.
21271 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21273         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
21275 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21277         Port ATTRIBUTE_MAY_ALIAS to recent icc
21279         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
21280         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
21281         “warning #2621: attribute "__may_alias__" does not apply here”
21282         for constructs like ‘struct sockaddr *sa = (whatever);
21283         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
21284         = (struct sockaddr_in *) sa;’.
21286 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21288         Merge from gnulib
21290         This incorporates:
21291         2017-05-25 port to recent icc
21292         * lib/intprops.h: Copy from gnulib.
21294 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21296         Fix Tramp for python.el
21298         * lisp/net/tramp.el (tramp-get-connection-process): Check,
21299         that VEC is a `tramp-file-name' structure.
21301 2017-05-24  Alan Third  <alan@idiocy.org>
21303         Raise version of macOS we define instancetype for (bug#27059)
21305         * src/nsterm.m: Increase supported version number.
21307 2017-05-24  Alan Third  <alan@idiocy.org>
21309         Define new types on macOS 10.6 (bug#27041)
21311         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
21312         correct NSUInteger instead of int.
21314 2017-05-24  Glenn Morris  <rgm@gnu.org>
21316         Don't autoload new dns-mode command
21318         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
21319         Remove autoload cookie.
21321 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21323         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
21325         (sxhash_vector): Make it work on pseudo vectors as well.
21326         (sxhash): Treat records like vectors.
21328 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21330         Adapt tramp-tests.el according to new defstruct
21332         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
21333         Fix test according to new defstruct.
21334         (tramp-test29-environment-variables-and-port-numbers):
21335         Expect it now as passed.  Cleanup at the end.
21337 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21339         Introduce a defstruct `tramp-file-name' as central data structure.
21341         This solves also Bug#27009.
21343         * lisp/net/tramp.el (tramp-current-domain)
21344         (tramp-current-port): New defvars.
21345         (tramp-file-name): New defstruct.
21346         (tramp-file-name-user-domain, tramp-file-name-host-port)
21347         (tramp-file-name-equal-p): New defuns.
21348         (tramp-file-name-p, tramp-file-name-method)
21349         (tramp-file-name-user, tramp-file-name-host)
21350         (tramp-file-name-localname, tramp-file-name-hop)
21351         (tramp-file-name-real-user, tramp-file-name-domain)
21352         (tramp-file-name-real-host, tramp-file-name-port):
21353         Remove defuns.  They are provided by the defstruct, or not
21354         needed anymore.
21355         (tramp-dissect-file-name, tramp-buffer-name)
21356         (tramp-make-tramp-file-name, tramp-get-buffer)
21357         (tramp-set-connection-local-variables)
21358         (tramp-debug-buffer-name, tramp-message)
21359         (tramp-error-with-buffer, with-parsed-tramp-file-name)
21360         (tramp-completion-dissect-file-name1)
21361         (tramp-handle-file-name-as-directory)
21362         (tramp-handle-file-name-directory)
21363         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
21364         (tramp-handle-find-backup-file-name)
21365         (tramp-handle-insert-file-contents, tramp-process-actions)
21366         (tramp-check-cached-permissions, tramp-local-host-p)
21367         (tramp-get-remote-tmpdir, tramp-call-process)
21368         (tramp-call-process-region, tramp-read-passwd)
21369         (tramp-clear-passwd):
21370         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
21371         (tramp-adb-handle-expand-file-name)
21372         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
21373         (tramp-adb-handle-process-file)
21374         (tramp-adb-maybe-open-connection):
21375         * lisp/net/tramp-cache.el (tramp-get-hash-table)
21376         (tramp-get-file-property, tramp-set-file-property)
21377         (tramp-flush-file-property, tramp-flush-directory-property)
21378         (tramp-get-connection-property)
21379         (tramp-set-connection-property, tramp-connection-property-p)
21380         (tramp-flush-connection-property, tramp-cache-print)
21381         (tramp-list-connections, tramp-dump-connection-properties)
21382         (tramp-parse-connection-properties):
21383         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
21384         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
21385         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
21386         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
21387         (tramp-gvfs-handler-mounted-unmounted)
21388         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
21389         (tramp-gvfs-get-remote-gid)
21390         (tramp-gvfs-maybe-open-connection):
21391         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
21392         (tramp-do-copy-or-rename-file-out-of-band)
21393         (tramp-sh-handle-expand-file-name)
21394         (tramp-sh-handle-start-file-process)
21395         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
21396         (tramp-maybe-open-connection)
21397         (tramp-make-copy-program-file-name, tramp-get-remote-path)
21398         (tramp-get-inline-coding):
21399         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
21400         (tramp-smb-handle-expand-file-name)
21401         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
21402         (tramp-smb-handle-set-file-acl)
21403         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
21405 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
21407         Fix and improve UI of scroll bar menu (bug#27047)
21409         In addition, since the Emacs manual writes "scroll bar", "tool
21410         bar" and "menu bar", use this convention in the Show/Hide menues
21411         and tooltips as well.
21413         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
21414         pressing a radio button in the menu actually show that it was
21415         pressed.  Replace the two radio buttons to turn the horizontal
21416         scroll bar on and off with a single check-box toggle and add a
21417         separator between this and the vertical scroll bar radio
21418         buttons.  Use conventional spelling.
21419         (menu-bar-horizontal-scroll-bar)
21420         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
21421         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
21422         (menu-bar-mode): Use conventional spelling.
21424 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
21426         Remove string-as-unibyte
21428         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
21429         (canlock-make-cancel-key): No need to use string-as-unibyte.
21431 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
21433         Fix concatenation of "^" with diff-file-junk-re
21435         This regexp contains "\\|", thus a concatenation
21436         of "^" with it just matches the beginning of line for the
21437         first alternative in diff-file-junk-re.
21438         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
21439         diff-file-junk-re wrapped in a shy group.
21441 2017-05-24  Glenn Morris  <rgm@gnu.org>
21443         Suppress intermittent test failure on hydra
21445         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21446         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
21448 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
21450         New dns-mode command for IPv6 address conversion
21452         This converts IPv6 addresses to a format suitable for
21453         reverse lookup zone files.  (Bug#26820)
21454         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
21455         Add dns-mode-ipv6-to-nibbles.
21456         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
21457         New functions.
21458         * test/lisp/dns-mode-tests.el: New file.
21460 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21462         Protect *Backtrace* from being killed (Bug#26650)
21464         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
21465         `kill-buffer-hook'.
21467 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21469         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
21471         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
21472         (lisp-mode-variables): Use it.
21474 2017-05-23  Philipp Stephani  <phst@google.com>
21476         vc-hg.el: Silence byte compiler warning
21478         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
21480 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21482         Don't warn about missing brances on macOS
21484         On macOS, removing -Wmissing-braces is not enough; the warning has to
21485         be disabled explicitly.
21487 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
21489         Don't treat ' as a string delimiter in RPM spec files
21491         ' is commonly used as an apostrophe in the prose sections of spec
21492         files, which was erroneously highlighted as strings. See for example
21493         http://kmymoney2.sourceforge.net/phb/rpm-example.html
21495         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
21496           punctuation in RPM spec files.
21498 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21500         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
21502         (common-lisp-indent-function-1): Remove unused var `last-point`.
21503         (lisp-indent-error-function): Move defvar before first use.
21505 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21507         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
21509         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
21511         * lisp/net/shr.el: Use cl-lib instead of cl.
21513 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21515         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
21517         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
21518         (binding-test-makunbound, data-tests-varalias-watchers)
21519         (data-tests-local-variable-watchers): Silence compiler warnings.
21521 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21523         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
21525 2017-05-23  Alan Third  <alan@idiocy.org>
21527         Fix GNUstep build
21529         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
21530         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
21531         GNUstep and old versions of macOS.
21532         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
21533         works in cocoa, not GNUstep.
21535 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
21537         Add test for Bug#27009 in tramp-tests.el
21539         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
21540         Check `tramp-file-name-real-host' for being a local host.
21542         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
21544         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
21545         Declare default host for mock method.
21546         (tramp-test29-environment-variables-and-port-numbers): New test.
21548 2017-05-23  Glenn Morris  <rgm@gnu.org>
21550         Don't advertise s_client in tls.el docs
21552         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
21553         Don't mention s_client in docs.
21555         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
21557 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
21559         Remove s_client usage from tls.el
21561         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
21562         Ref http://bugs.debian.org/766397
21563         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
21566         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
21568 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21570         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
21572 2017-05-22  Sam Steingold  <sds@gnu.org>
21574         Fix "g" in hg&git push&pull buffers
21576         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
21577         `compilation-directory' and `compilation-arguments'.
21578         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
21580 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
21582         Fix current-line hscrolling in buffers with header-line
21584         * src/xdisp.c (display_line): When testing the glyph row's
21585         vertical position against the cursor position, account for header
21586         line, if any.  (Bug#27014)
21588 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21590         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
21592         (rfc2047-decode-encoded-words): Use dolist.
21593         (rfc2047-decode-string): Avoid string-to-multibyte.
21594         (rfc2047-pad-base64): Use pcase.
21596 2017-05-21  Dima Kogan  <dima@secretsauce.net>
21598         Make ff-find-other-file symmetric for C++ (Bug#20192)
21600         `cc-other-file-alist' has a mapping of file extensions to switch
21601         between headers and sources, but the mappings weren't completely
21602         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
21603         to .cpp.
21605         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
21606         C++ extensions to make them symmetric with the C++ extensions that map
21607         to them.  This lets repeated invocations of `ff-find-other-file'
21608         toggle between all pairs of sources/headers.
21610 2017-05-21  Philipp Stephani  <phst@google.com>
21612         Fix definition of whitespace in JSON
21614         See
21615         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
21617         * lisp/json.el (json-skip-whitespace): Fix definition.
21618         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
21619         test.
21621 2017-05-21  Philipp Stephani  <phst@google.com>
21623         Improve module function terminology
21625         Module functions were previously called "function environments" when
21626         the functions created by module_make_functions were lambdas.  Now we
21627         can adapt the terminology and rename "function environments" to
21628         "module functions" everywhere.  This also removes the name clash
21629         between "function environments" and "module environments."
21631         * src/emacs-module.c (module_make_function): Adapt comment to reality;
21632         stop using "function environment" terminology.
21633         (funcall_module): Stop using "function environment" terminology.
21635 2017-05-21  Philipp Stephani  <phst@google.com>
21637         Avoid uninitialized read
21639         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
21641 2017-05-21  Philipp Stephani  <phst@google.com>
21643         Fix call of registerServicesMenuSendTypes
21645         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
21646         returnTypes; pass an empty array instead.
21648 2017-05-21  Philipp Stephani  <phst@google.com>
21650         Clean up code around 'ns-list-services'
21652         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
21653         branch NS_IMPL_COCOA cannot be defined.
21654         (interpret_services_menu): Define only if called to avoid compiler
21655         warnings about unused static functions.
21657 2017-05-21  Philipp Stephani  <phst@google.com>
21659         Remove unused automatic variables
21661         * src/nsterm.m (ns_read_socket):
21662         * src/macfont.m (macfont_open): Remove unused automatic variables.
21664 2017-05-21  Philipp Stephani  <phst@google.com>
21666         Nextstep: Replace deprecated enumerators
21668         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
21669         deprecated enumerator.
21671 2017-05-21  Philipp Stephani  <phst@google.com>
21673         Nextstep: remove some deprecated method calls
21675         * src/nsterm.m (mouseDown:):
21676         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
21677         deprecated method.  The return value is always nil.
21678         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
21680 2017-05-21  Philipp Stephani  <phst@google.com>
21682         Remove trailing semicolons in method definitions
21684         These semicolons are ignored and cause compiler warnings.
21686         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
21687         * src/nsterm.m (init, updateFrameSize:):
21688         (setFrame:): Remove trailing semicolon.
21690 2017-05-21  Philipp Stephani  <phst@google.com>
21692         Remove calls to deprecated setUsesScreenFonts
21694         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
21695         (mac_font_shape_1): Remove screen_font_p parameter.
21696         (mac_screen_font_shape): Remove screen_font_p argument.
21698 2017-05-21  Philipp Stephani  <phst@google.com>
21700         Make a function static that isn't used outside this file
21702         * src/kqueue.c (kqueue_directory_listing): Make static.
21704 2017-05-21  Philipp Stephani  <phst@google.com>
21706         Use NSCharacterCollection instead of CTCharacterCollection
21708         This should not cause behavior changes, but fixes a compiler warning
21709         due to implicit conversions between the enums.
21711         * src/macfont.m (macfont_cache, macfont_lookup_cache)
21712         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
21713         (macfont_variation_glyphs): Use NSCharacterCollection.
21715 2017-05-21  Philipp Stephani  <phst@google.com>
21717         Remove unused function print_regions
21719 2017-05-21  Philipp Stephani  <phst@google.com>
21721         Declare Nextstep unexec functions in lisp.h
21723         This removes compiler warnings about missing prototypes on macOS.
21725 2017-05-21  Philipp Stephani  <phst@google.com>
21727         Nextstep: Use instancetype explicit return type
21729         This removes compiler warnings on macOS and improves type safety.
21731         * src/nsterm.m (initFrameFromEmacs:):
21732         (menuDown:):
21733         (toolbarClicked:):
21734         (toggleToolbar:):
21735         (setMiniwindowImage:):
21736         (initFrame:window:):
21737         (condemn, reprieve, setPosition:portion:whole:):
21738         (repeatScroll:):
21739         * src/nsmenu.m (initWithTitle:):
21740         (initWithTitle:frame:):
21741         (initForView:withIdentifier:):
21742         (init, initWithContentRect:styleMask:backing:defer:):
21743         (initFromContents:isQuestion:):
21744         * src/nsimage.m (allocInitFromFile:):
21745         (initFromXBM:width:height:fg:bg:):
21746         (setXBMColor:):
21747         (initForXPMWithDepth:width:height:): Use instancetype as return
21748         type instead of implicit id.
21750 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
21752         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
21754 2017-05-21  Alan Mackenzie  <acm@muc.de>
21756         Enhance mode-line percentage offset facility, with "%o" and "%q"
21758         "%o" will display the percentage "travel" of the window through the buffer.
21759         "%q" will display a combination of the percentage offsets of the top and
21760         bottom of the window.  The new user option mode-line-percent-position will
21761         facilitate selecting a setting for this part of the mode line.
21763         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
21764         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
21766         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
21768         * doc/lispref/modes.texi (Mode Line Variables): Document
21769         mode-line-percent-position.
21770         (%-Constructs): Document %o and %q.
21772         * etc/NEWS: Add an entry for these new facilities.
21774 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21776         Work around macOS bug in create_process, too
21778         * src/process.c (create_process) [DARWIN_OS]:
21779         Reset SIGCHLD after vfork here, too.
21781 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21783         Work around macOS bug with vforked child
21785         * src/callproc.c (call_process) [DARWIN_OS]:
21786         Include workaround for apparent macOS bug.
21788 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21790         Pacify --enable-gcc-warnings without modules
21792         * src/print.c (print_vectorlike): New function, taken from
21793         part of print_object.  This one is indented properly, and
21794         pacifies --enable-gcc-warnings by using a default case
21795         instead of listing all the enum values, sometimes
21796         incompletely.
21797         (print_object): Use it.
21799 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21801         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
21803         It does not appear to be needed (Bug#24441).
21804         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
21805         * src/fileio.c (file_name_case_insensitive_p):
21806         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
21808 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21810         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
21812         * etc/PROBLEMS: Document this (Bug#24441).
21813         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
21814         with _PC_CASE_SENSITIVE, if it works, to
21815         DARWIN_OS_CASE_SENSITIVE_FIXME code.
21816         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
21817         which matches the Apple documentation more precisely.
21819 2017-05-21  Tom Tromey  <tom@tromey.com>
21821         Fix mhtml-mode fontification bug
21823         Bug#26922
21824         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
21825         sgml-syntax-propertize-inside if not in a submode.
21826         * test/manual/indent/html-multi-4.html: New file.
21828 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
21830         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
21832         * lisp/ido.el (ido-set-matches-1): Only check first character of
21833         item if it's non-empty.
21835 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
21837         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
21839 2017-05-21  Glenn Morris  <rgm@gnu.org>
21841         Prevent loading vc-bzr writing to ~/.bzr.log
21843         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
21845 2017-05-21  Glenn Morris  <rgm@gnu.org>
21847         Prevent running vc-tests writing to ~/.bzr.log
21849         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
21850         (vc-test--register, vc-test--working-revision)
21851         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
21853 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
21855         Don't end non-hook variable with "-hook" (Bug#26623)
21857         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
21858         follow-inside-post-command-hook, update uses.
21860 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
21862         Fix macOS mouse movement
21864         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
21865         function (Lisp).
21866         (set-mouse-absolute-pixel-position): Change it to call
21867         `ns-set-mouse-absolute-pixel-position' on macOS.
21868         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
21869         function.
21870         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
21871         screen's height as a base for calculating global coordinates.
21872         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
21873         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
21874         movement of mouse relative to frame.
21876 2017-05-21  Alan Third  <alan@idiocy.org>
21878         Show tooltip on correct screen (bug#26905)
21880         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
21881         tooltip and constrain it to that screen.
21883 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
21885         Don't save unrelated buffers before recompiling directory (Bug#25964)
21887         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
21888         buffers visiting lisp files under the directory being compiled.
21890 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21892         Minor fixes for arity ranges in emacs modules
21894         * src/emacs-module.c (module_make_function):
21895         Check that arities fit into fixnums, for func-arity’s benefit.
21896         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
21897         (module_function_arity): Allow arities greater than SHRT_MAX.
21899 2017-05-20  Philipp Stephani  <phst@google.com>
21901         Reimplement module functions
21903         Instead of a lambda, create a new type containing all data required to
21904         call the function, and support it in the evaluator.  Because this type
21905         now also needs to store the function documentation, it is too big for
21906         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
21907         that we don't have to add special support to the garbage collector.
21909         Since the new type is user-visible, give it a predicate.
21911         Now we can easily support 'help-function-args' and 'func-arity'; add
21912         unit tests for these.
21914         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
21915         (XMODULE_FUNCTION): New pseudovector type 'module function'.
21917         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
21918         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
21919         functions.
21920         (Ffunc_arity): Add support for detecting the arity of module
21921         functions.
21923         * src/emacs-module.c (module_make_function): Adapt to new structure.
21924         Return module function object directly instead of wrapping it in a
21925         lambda; remove FIXME.
21926         (funcall_module): New function to call module functions.  Replaces
21927         `internal--module-call' and is called directly from eval.c.
21928         (syms_of_module): Remove internal helper function, which is no longer
21929         needed.
21930         (module_function_arity): New helper function.
21932         * src/data.c (Ftype_of): Adapt to new implementation.
21933         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
21934         that module functions are first-class objects, they deserve a
21935         predicate.  Define it even if not compiled with --enable-modules so
21936         that Lisp code doesn't have to check for the function's existence.
21938         * src/doc.c (Fdocumentation): Support module functions.
21940         * src/print.c (print_object): Adapt to new implementation.
21942         * src/alloc.c (mark_object): Specialized garbage collector support is
21943         no longer needed.
21945         * lisp/help.el (help-function-arglist): Support module functions.
21946         While there, simplify the arity calculation by using `func-arity',
21947         which does the right thing for all kinds of functions.
21949         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
21950         the argument list.
21952         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
21953         new docstring.
21954         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
21955         is gone, the backtrace has changed and no longer leaks the
21956         implementation.
21957         (module--func-arity): New test for `func-arity'.
21958         (module--help-function-arglist): New test for `help-function-arglist'.
21960 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
21962         Avoid crashes in GC due to unescaped characters warning
21964         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
21965         Lisp objects from stack-based variables.  (Bug#26961)
21967 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
21969         New commands: find-library-other-window, find-library-other-frame
21971         * lisp/emacs-lisp/find-func.el (find-library-other-window)
21972         (find-library-other-frame): New commands to complement the
21973         existing 'find-library' command.  (Bug#26712)
21974         (read-library-name): New function to read a library name.
21975         * etc/NEWS: Mention 'find-library-other-window' and
21976         'find-library-other-frame'.
21978 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
21980         Fix automatic hscrolling of only the current line
21982         * src/xdisp.c (display_line): When hscrolling only the current
21983         line, increment iterator's first_visible_x and last_visible_x
21984         values to account for the hscroll.  This propagates the hscroll
21985         effect on the iterator geometry all the way down to the
21986         subroutines called by display_line, and avoids scrolling bugs
21987         under large hscroll values.  (Bug#26994)
21989 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21991         Add handlerlist assertion to module code
21993         * src/emacs-module.c (module_reset_handlerlist):
21994         Check handlerlist.  Suggested by Philipp Stephani in:
21995         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
21997 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21999         Port --enable-gcc-warnings to clang 3.9.1
22001         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
22002         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
22003         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
22005 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
22007         Limit integers printed as characters (Bug#16828)
22009         * lisp/simple.el (eval-expression-print-maximum-character): New
22010         variable.
22011         (eval-expression-print-format): Only display value as character if
22012         it's less than or equal to `eval-expression-print-maximum-character'.
22013         (eval-expression-get-print-arguments): Check
22014         eval-expression-print-maximum-character, allow negative arg to
22015         override it.
22016         (eval-expression):
22017         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
22018         (elisp--eval-last-sexp-print-value): Handle new variable.
22019         * doc/emacs/building.texi (Lisp Eval): Document new variable and
22020         behavior.
22021         * etc/NEWS: Announce it.
22022         * test/lisp/progmodes/elisp-mode-tests.el
22023         (eval-last-sexp-print-format-small-int)
22024         (eval-last-sexp-print-format-small-int-echo)
22025         (eval-last-sexp-print-format-large-int)
22026         (eval-last-sexp-print-format-large-int-echo):
22027         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
22028         (eval-expression-print-format-small-int-echo)
22029         (eval-expression-print-format-large-int)
22030         (eval-expression-print-format-large-int-echo): New tests.
22032 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
22034         Refactor lisp eval result printing
22036         * lisp/simple.el (eval-expression-print-format): Don't check
22037         `standard-output' or `current-prefix-arg'.
22038         (eval-expression-get-print-arguments): New function, centralizes
22039         decision about how to print results of `eval-expression' and
22040         `eval-last-sexp'.
22041         (eval-expression):
22042         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
22043         Use it.
22045 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22047         Check that signed right shift is arithmetic
22049         * src/data.c (ash_lsh_impl): Verify that signed right shift is
22050         arithmetic; if we run across a compiler that uses a logical shift
22051         we’ll need to complicate the code before removing this
22052         compile-time check.  Help the compiler do common subexpression
22053         elimination better.
22055 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22057         Minor .gitignore fixes
22059         * .gitignore: modules/mod-test/Makefile was renamed to
22060         test/data/emacs-module/Makefile.
22061         Omit [0-9]*.core, subsumed by *.core.
22062         test/indent/*.new was renamed to test/manual/indent/*.new.
22063         Add *.swp, for Vim.
22065 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22067         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
22069 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22071         Describe problems with Microsoft Intellipoint
22073         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
22074         mouse-2 events.  For the details, see
22075         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
22077 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
22079         Fix turning off whitespace-mode
22081         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
22082         the original buffer-display-table is saved and restored when
22083         global-whitespace-mode is active.  (Bug#26892)
22085         * test/lisp/whitespace-tests.el
22086         (whitespace-tests-whitespace-mode-on): New function.
22087         (whitespace-tests-display-tables): New test.
22089 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22091         Minor tweaks in tramp-tests.el
22093         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
22094         (tramp-test05-expand-file-name-relative): Use it.
22095         (tramp-test38-unload): Run only in batch mode.
22097 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22099         Fix a problem with OpenSSH 7 in Tramp
22101         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
22102         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
22104 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22106         Improve documentation of 'split-string'
22108         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
22109         make it more readable.  (Bug#26925)
22111 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
22113         Fix typos in doc strings
22115         * lisp/mail/rfc2231.el (rfc2231-encode-string):
22116         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
22117         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
22118         strings.  (Bug#26103)
22120 2017-05-19  Philipp Stephani  <phst@google.com>
22122         Fix module tests on some systems
22124         If dladdr(3) isn't available or didn't work, the printed
22125         representation of a module function will not include the file name,
22126         but only the address.  Make the tests pass in that case.
22128         * test/src/emacs-module-tests.el (module-function-object): Fix match for
22129         module function printed representation
22131 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22133         Add an optional arguments to string-trim
22135         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
22136         (string-trim): Add optional args that serve as defaults per the
22137         original behavior.  (Bug#26908)
22139 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
22141         Fix typo in last change to auto-hscroll-mode
22143         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
22145 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22147         Support remote editing in emacsclient via Tramp
22149         * lib-src/emacsclient.c (main, decode_options)
22150         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
22151         specifies how emacs should use tramp to find remote files.
22153         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
22154         the various knobs to tune server.el for TCP opereation.
22155         (emacsclient Options): Reference "TCP Emacs server" from description of
22156         --server-file.  Document the new '--tramp' / '-T' options.
22157         * doc/emacs/emacs.texi (Top): Update the top-level menu.
22159         * etc/NEWS: Mention the new option.
22161 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22163         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
22165 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22167         Attempt to work around macOS vfork bug
22169         Problem reported by YAMAMOTO Mitsuharu in:
22170         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
22171         This is related to the fix for Bug#26397.
22172         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
22173         Report internal error if wait_for_termination fails.
22174         * src/sysdep.c (get_child_status): Return -1 if waitpid is
22175         buggy, instead of aborting.
22176         (wait_for_termination): Return bool success value.
22177         All callers changed.
22179 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22181         Adjust defcustom form for 'auto-hscroll-mode'
22183         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
22184         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
22186 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22188         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
22190         * src/fileio.c (file_name_case_insensitive_p):
22191         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
22192         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
22193         Problem reported by Philipp Stephani in:
22194         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22196 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22198         Port --enable-gcc-warnings to clang 3.9.1
22200         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
22201         Problem reported by Philipp Stephani in:
22202         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22204 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22206         Clean up compiler warning in emacs-module.c
22208         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
22209         instead of leaving it unused, to pacify picky compilers.
22210         (module_reset_handlerlist): Now takes a dummy pointer to a struct
22211         handler *, instead of a dummy pointer to an int.  All uses changed.
22213 2017-05-19  Philipp Stephani  <phst@google.com>
22215         Clean up some compiler warnings
22217         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
22218         Remove unused locals.
22220 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22222         Support hscrolling only the current line
22224         * src/xdisp.c (hscrolling_current_line_p): New function.
22225         (init_iterator): If auto-hscrolling just the current line, don't
22226         increment the iterator's first_visible_x and last_visible_x
22227         variables.
22228         (hscroll_window_tree): Recompute window's hscroll when moving
22229         vertically to another screen line.
22230         (redisplay_window): If we are hscrolling only the current line,
22231         disable the optimizations that rely on the current matrix being
22232         up-to-date.
22233         (display_line): Accept an additional argument CURSOR_VPOS, the
22234         vertical position of the current screen line which might need
22235         hscrolling; all callers changed.  Compute first_visible_x and
22236         last_visible_x specially when auto-hscrolling current line, by
22237         repeating the calculation that is done in init_iterator in other
22238         modes.
22239         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
22240         accept a 3rd value 'current-line, to turn on the mode where
22241         only the current line is hscrolled.
22243         * etc/NEWS: Mention the new auto-hscroll-mode value.
22245 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22247         Fix last change in line-move-finish
22249         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
22250         regression in C-n and C-p when lines are truncated, introduced by the
22251         change in 2017-05-10.
22253 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
22255         Expand docstring for CSS mode
22257         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
22258         Expand docstrings.
22260 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22262         Use the expression angle units while simplifying it
22264         Don't use the angle mode, use the angle units included
22265         in the expression instead (Bug#23889).
22266         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
22267         (math-simplify): Use it.
22268         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
22269         Don't use calc-angle-mode if math-simplifying-units is non-nil.
22270         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
22271         (math-to-radians-2, math-from-radians-2): Don't convert angle
22272         to radians if math-simplifying-units is non-nil.
22273         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
22275 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22277         Revert "Ignore angle mode while simplifying units"
22279         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
22280         This commit causes Bug#25652.
22282 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22284         Avoid undefined behavior in struct sockaddr
22286         Problem noted by Philipp Stephani in:
22287         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
22288         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
22289         New macros.
22290         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
22291         (connect_network_socket, network_interface_info)
22292         (server_accept_connection): Use it when aliasing non-char objects.
22294 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
22296         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
22298         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
22299         Add autoload cookie.
22300         (smerge--refine-forward): Rename from smerge-refine-forward.
22301         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
22302         Assume that its `beg` arg is a marker.
22303         (smerge--refine-highlight-change): Rename from
22304         smerge-refine-highlight-change.  Remove `buf` arg.
22305         (smerge-refine-subst): Redefine as an obsolete alias.
22307 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22309         Work around AddressSanitizer bug with vfork
22311         Problem reported by Jim Meyering in:
22312         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
22313         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
22314         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
22315         vforked child messes up the parent’s shadow memory.  This is too
22316         bad, as we’d rather have AddressSanitizer catch memory-access bugs
22317         related to vfork.
22319 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22321         Catch IPv4/IPv6 issues at compile time
22323         * src/process.c (connect_network_socket): Use verify,
22324         not eassert, so that any problems are caught at compile-time.
22325         Avoid dodgy cast by using a local var of the correct type.
22327 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22329         Pacify --enable-gcc-warnings --with-x-toolkit=no
22331         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
22332         Avoid unused local.
22334 2017-05-17  Glenn Morris  <rgm@gnu.org>
22336         * admin/update_autogen (commit): Pull before push.
22338 2017-05-17  Glenn Morris  <rgm@gnu.org>
22340         autoload-rubric no longer provides a feature by default
22342         * lisp/emacs-lisp/autoload.el (autoload-rubric):
22343         Stop providing a feature unless explicitly requested.
22344         (autoload-find-generated-file): Update autoload-rubric call.
22346 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
22348         Remove redundant code in connect_network_socket
22350         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
22351         Remove redundant type-casting and variables.  Don't call
22352         'getsockname' to find the port for AF_LOCAL sockets.
22353         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
22354         and IPv6 structures are at the same offset and have the same size.
22356 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22358         Fix minor timezone memory leak
22360         * src/editfns.c (wall_clock_tz): Remove; unused.
22362 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22364         Do not discard AddressSanitizer stderr
22366         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
22367         Do not close stderr.
22369 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22371         Simplify procname code to avoid GCC bug
22373         * src/process.c (server_accept_connection): Simplify and avoid
22374         multiple calls and struct literals in the last case of a switch.
22375         The old code ran afoul of GCC bug 80659, which caused an internal
22376         compiler error.  Problem reported by Jim Meyering in:
22377         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
22378         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
22380 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22382         Pacify GCC 7 with --enable-gcc-warnings
22384         * src/regex.c (regex_compile): Swap labels, so that the
22385         FALLTHROUGH immediately precedes the case label.
22387 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22389         Merge with gnulib, pacifying GCC 7
22391         This incorporates:
22392         2017-05-16 manywarnings: update for GCC 7
22393         2017-05-15 sys_select: Avoid "was expanded before it was required"
22394         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
22395         -Wformat-overflow=2 options, due to too many false alarms.
22396         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
22397         Copy from gnulib.
22398         * m4/gnulib-comp.m4: Regenerate.
22399         * src/coding.c (decode_coding_iso_2022):
22400         Fix bug uncovered by -Wimplicit-fallthrough.
22401         * src/conf_post.h (FALLTHROUGH): New macro.
22402         Use it to mark all switch cases that fall through.
22403         * src/editfns.c (styled_format): Use !, not ~, on bool.
22404         * src/gtkutil.c (xg_check_special_colors):
22405         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
22406         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
22407         this bug was actually caught by Clang.
22408         * src/search.c (boyer_moore):
22409         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
22410         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
22411         Tell GCC that glyph->u.glyphless.ch must be a character.
22413 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22415         Make autoloading Tramp more robust
22417         * lisp/net/tramp.el (tramp-file-name-for-operation):
22418         Use `default-directory' where appropriate.
22419         (tramp-file-name-handler): Do not autoload.
22420         (tramp-autoload-file-name-handler): Reintroduce function.
22421         (tramp-register-autoload-file-name-handlers): Use it.
22423 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22425         Extend tramp-tests.el
22427         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
22428         Remove declaration, not needed anymore.
22429         (tramp-test05-expand-file-name-relative): New test.
22430         (tramp-test10-write-region): Extend test.
22432 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22434         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
22436 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22438         Make `indent-line-to' respect field boundaries (Bug#26891)
22440         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
22441         of `backward-to-indentation'.
22443 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22445         Make sure indent-sexp stops at end of sexp (Bug#26878)
22447         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
22448         indenting.
22449         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
22450         test.
22452 2017-05-16  Glenn Morris  <rgm@gnu.org>
22454         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
22456         * test/lisp/epg-tests.el (with-epg-tests):
22457         Also set GNUPGHOME in the environment of child processes.
22458         This avoids problems if gpg does not pass --homedir to spawned agent.
22460 2017-05-16  Glenn Morris  <rgm@gnu.org>
22462         Add oldxmenu to system-configuration-features
22464         * configure.ac (HAVE_OLDXMENU): New.
22465         (emacs_config_features): Add oldxmenu.
22467 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
22469         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
22471 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
22473         Remove unneeded stuff from nt/inc/sys/time.h
22475         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
22476         (timercmp, timerclear): Don't define.  Instead, include the system
22477         header sys/time.h, and add only the interval timers stuff.  This
22478         avoids compiler warnings about 'gettimeofday's prototype, and also
22479         avoids redefinition of macros from system headers.
22481 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
22483         Fix address violation found by AddressSanitizer
22485         * src/process.c (connect_network_socket):
22486         Use struct sockaddr_storage, not struct sockaddr_in, to store info
22487         about a socket address.  Problem reported by Philipp Stephani in:
22488         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
22489         This fix is based on a patch by Philipp in:
22490         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
22492 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
22494         Make edebug-step-in work on generic methods (Bug#22294)
22496         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
22497         New function to implement the edebug-form-spec property of
22498         the symbol cl-generic-method-args.
22499         (edebug-instrument-function): If the function is a generic
22500         function, find and instrument all of its methods. Return a list
22501         instead of a single symbol.
22502         (edebug-instrument-callee): Now returns a list. Update docstring.
22503         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
22504         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
22505         cl-generic-method-args in its Edebug spec.
22506         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
22507         cl-generic-method-args in its Edebug spec.
22508         * lisp/subr.el (method-files): New function.
22509         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
22510         (subr-tests--method-files--nonexistent-methods): New tests.
22512 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22514         Merge from gnulib
22516         This incorporates:
22517         2017-05-14 same-inode: Adapt for windows-stat-inodes
22518         2017-05-14 windows-stat-inodes: New module
22519         2017-05-14 stat-time: Adapt for windows-stat-timespec
22520         * lib/gnulib.mk.in: Regenerate.
22521         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
22522         Copy from gnulib.
22524 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22526         Remove gettimeofday from w32 sources
22528         * lib-src/ntlib.c (gettimeofday):
22529         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
22530         function 'gettimeofday' and all of its supporting code.
22532 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22534         Fix the MS-Windows build
22536         * nt/inc/sys/time.h (gettimeofday):
22537         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
22539 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22541         More accurate documentation of the ':box' face attribute
22543         * doc/lispref/display.texi (Face Attributes): Fix the description
22544         of negative width of the ':box' attribute.  (Bug#26920)
22546 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22548         Merge from gnulib
22550         This incorporates:
22551         2017-05-13 largefile: Simplify
22552         2017-05-13 largefile: Improve and document
22553         2017-05-13 truncate: New module
22554         2017-05-13 windows-stat-timespec: New module
22555         2017-05-13 windows-stat-override: New module
22556         2017-05-11 getopt-posix: port to mingw
22557         2017-05-11 gettimeofday: Increase precision on mingw
22558         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
22559         2017-05-10 Implement a way to opt out from MSVC support
22560         2017-05-09 tzset: Expand comment about TZ problem on native Windows
22561         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
22562         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
22563         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
22564         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
22565         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
22566         * m4/unistd_h.m4: Copy from gnulib.
22567         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22569 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
22571         Merge branch 'fix/bug-21072'
22573 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
22575         * .gitlab-ci.yml: Add setup for GitLab CI builds.
22577 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
22579         New minor mode 'pixel-scroll-mode'
22581         * lisp/pixel-scroll.el: New file.
22583         * etc/NEWS: Mention pixel-scroll-mode.
22585 2017-05-13  Philipp  <phst@google.com>
22587         Make `old-style-backquotes' variable internal
22589         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
22590         (syms_of_lread): Rename `old-style-backquotes' to
22591         `lread--old-style-backquotes', and clarify that it's for internal
22592         use only.
22593         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
22594         variable.
22595         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
22596         unit test.
22597         * test/lisp/emacs-lisp/bytecomp-tests.el
22598         (bytecomp-tests--old-style-backquotes): Add unit test.
22600 2017-05-13  Philipp Stephani  <phst@google.com>
22602         Improve unescaped character literal warnings
22604         * src/lread.c (load_warn_unescaped_character_literals)
22605         (syms_of_lread):
22606         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
22607         formatting of unescaped character literal warnings.
22609         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
22610         test/lisp/emacs-lisp/bytecomp-tests.el
22611         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
22613 2017-05-12  Alan Mackenzie  <acm@muc.de>
22615         Fontify C++ for loop variable as variable, even when followed by parentheses
22617         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
22618         getting fontified as a function, due to insufficient checking of the tokens
22619         between it and "()".
22621         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
22622         lang-consts/vars.
22624         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
22625         declarator's identifier, check for a ":" token inside a for's parentheses, and
22626         abort the search for "(" if this is found.
22628 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
22630         Make Tramp backward compatible
22632         * lisp/net/tramp-cmds.el (tramp-change-syntax):
22633         Set tramp-autoload cookie.
22635         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
22636         startup, if necessary.
22638         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
22639         (tramp-register-autoload-file-name-handlers): Do not mark
22640         `operations' for `tramp-file-name-handler'.
22641         (tramp-register-file-name-handlers): Remove also
22642         `tramp-autoload-file-name-handler' for backward compatibility.
22643         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
22645         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
22647 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22649         Modify `beginning-of-defun-comments'
22651         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
22652         in the middle of a multiline comment.
22654 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22656         Fix elisp-tests-with-temp-buffer compilation
22658         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
22659         Don't refer to the =!NAME= as "markers" since they produce variables
22660         with just plain positions, not marker objects.  Explicitly specify
22661         that CONTENTS is evaluated at compile time.  Don't re-evaluate
22662         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
22663         to BODY not using =!NAME= variables.
22664         (elisp-test-point-position-regex): Rename from
22665         `elisp-test-point-marker-regex'.
22666         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
22668 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22670         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
22672 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
22674         Fix Bug#21072 and rework `mark-defun'
22676         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
22677           New variable
22678         (mark-defun-no-arg-region-inactive)
22679         (mark-defun-no-arg-region-active)
22680         (mark-defun-arg-region-active)
22681         (mark-defun-pos-arg-region-inactive)
22682         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
22683         the new `mark-defun'.
22685         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
22686           New function.
22687         (beginning-of-defun-comments): New function.
22688         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
22689         to accept a numerical prefix argument.
22691 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
22693         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
22695 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
22697         Improve doc strings in net-utils.el
22699         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
22700         (route, traceroute, nslookup, ftp, smbclient)
22701         (smbclient-list-shares, finger, whois)
22702         (network-connection-to-service, network-service-connection)
22703         (network-connection-reconnect): Improve doc strings.
22705 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
22707         Extend DNS lookup commands to allow specifying the name server
22709         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
22710         'net-utils-machine-at-point' obviating this autoloaded
22711         function (Bug#25426).
22712         (dig-program-options): New customization variable.
22713         (nslookup-host, dns-lookup-host, run-dig): Can now specify
22714         optional name server argument interactively (by prefix arg) and
22715         non-interactively.
22717         * etc/NEWS: Mention the extension of DNS lookup commands.
22719 2017-05-12  Glenn Morris  <rgm@gnu.org>
22721         Don't hard-code loaddefs files in lisp/Makefile
22723         * lisp/Makefile.in (loaddefs): New variable.
22724         (AUTOGENEL): Use $loaddefs, and include directory.
22725         (bootstrap-clean): Update for AUTOGENEL change.
22727 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
22729         Kill modified buffers silently when quitting (bug#26862)
22731         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
22732         sure that latest drafts are saved, and kill modified buffers silently.
22734 2017-05-10  Perry E. Metzger  <perry@piermont.com>
22736         Implement 1-based column numbering in mode line
22738         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
22740         * lisp/bindings.el (column-number-indicator-zero-based): New
22741         defcustom.
22742         (mode-line-position): Use %C when
22743         column-number-indicator-zero-based is nil.
22745         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
22746         * src/buffer.c (syms_of_buffer) <mode-line-format>:
22747         * doc/lispref/modes.texi (%-Constructs):
22748         * doc/lispref/frames.texi (Frame Titles): Document the %C
22749         construct.
22751         * doc/emacs/display.texi (Optional Mode Line): Document
22752         'column-number-indicator-zero-based'.
22754         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
22755         %C construct.
22757 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
22759         Ensure cursor's foreground color is in sync with 'default' face
22761         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
22762         foreground color is different from the background of the glyph
22763         string's face.  (Bug#26851)
22765 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
22767         Fix vertical cursor motion when columns are of unequal size
22769         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
22770         vertical-motion to move to the goal column, as the goal column
22771         should in that case be interpreted in units of frame's canonical
22772         character width.  (Bug#26852)
22774 2017-05-10  Glenn Morris  <rgm@gnu.org>
22776         Fix finding test .el files
22778         * test/Makefile.in (ELFILES): Exclude the data/ directory.
22779         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
22781 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
22783         Tweak a recent test
22785         This test fails in my local machine because the data files
22786         are compiled, and the test doesn't expect that.
22787         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
22788         ending with '.elc' when the data files are compiled.
22790 2017-05-10  Glenn Morris  <rgm@gnu.org>
22792         Put license information in each generated uni-*.el
22794         * admin/unidata/unidata-gen.el (unidata-gen-file):
22795         Get Copyright line from copyright.html.
22796         Put information in file header, not separate README.
22797         (unidata-gen-charprop): Mention the source location.
22798         * lisp/international/README: Remove file.
22800 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
22802         Fix lisp-indent-region and indent-sexp (Bug#26619)
22804         The new lisp-indent-region introduced in 2017-04-22 "Add new
22805         `lisp-indent-region' that doesn't reparse the code." is broken because
22806         it doesn't save the calculated indent amounts for already seen sexp
22807         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
22808         code.  Furthermore, only preserve position 2 of the running parse
22809         when the depth doesn't change.
22810         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
22811         corresponds with the start point when calling parse-partial-sexp.
22812         (lisp-indent-state): New struct.
22813         (lisp-indent-calc-next): New function, extracted from indent-sexp.
22814         (indent-sexp, lisp-indent-region): Use it.
22815         (lisp-indent-line): Take indentation, instead of parse state.
22816         * test/lisp/emacs-lisp/lisp-mode-tests.el
22817         (lisp-mode-tests--correctly-indented-sexp): New constant.
22818         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
22819         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
22820         tests.
22822 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22824         Simplify url-encode-url and add a test
22826         * lisp/url/url-util.el (url-encode-url): Simplify.
22827         url-generic-parse-url copes with multibyte strings just fine
22828         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
22830         * test/lisp/url/url-parse-tests.el
22831         (url-generic-parse-url/multibyte-host-and-path): New test.
22833 2017-05-10  Glenn Morris  <rgm@gnu.org>
22835         More informative error when required feature missing
22837         * src/fns.c (Frequire): Include file name in missing feature error.
22838         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
22840 2017-05-10  Glenn Morris  <rgm@gnu.org>
22842         Put re-loaded file back at start of load-history (bug#26837)
22844         * src/lread.c (readevalloop): Fix the "whole buffer" check to
22845         operate in the correct buffer.
22846         (Feval_buffer): Move point back to the start after checking
22847         for lexical binding.
22848         * test/src/lread-tests.el (lread-test-bug26837): New test.
22849         * test/data/somelib.el, test/data/somelib2.el: New test data files.
22851 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
22853         Improve documentation of 'gnutls-verify-error'
22855         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
22856         doc string.  (Bug#26845)
22858 2017-05-09  Glenn Morris  <rgm@gnu.org>
22860         Don't duplicate autoload code in package.el
22862         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
22863         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
22864         (package-autoload-ensure-default-file): Use autoload-rubric.
22866 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
22868         * test/lisp/net/tramp-tests.el: Keep additional test.
22870 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
22872         Add elisp-tests-with-temp-buffer, a new testing macro
22874         * test/lisp/emacs-lisp/lisp-tests.el
22875         (elisp-test-point-marker-regex) New variable.
22876         (elisp-tests-with-temp-buffer): New macro to help test functions
22877         moving the point and/or mark.
22879 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
22881         Revert "Output number of characters added to file (Bug#354)"
22883         The extra message text turned out to be quite annoying in practice,
22884         and is generally more trouble than it's worth.  Also revert several
22885         related changes.
22887         Partially revert "Handle `write-region' messages in Tramp properly"
22888         Revert "New var write-region-verbose, default nil"
22889         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
22890         Revert "Minor tuneup of write-region change"
22891         Revert "Adjust write-region so file name is at the beginning again"
22892         Revert "Fix handling of non-integer START param to write-region"
22893         Revert "Output number of characters added to file (Bug#354)"
22895         * doc/emacs/files.texi (Misc File Ops):
22896         * etc/NEWS:
22897         * lisp/epa-file.el (epa-file-write-region):
22898         * lisp/gnus/mm-util.el (mm-append-to-file):
22899         * lisp/jka-compr.el (jka-compr-write-region):
22900         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22901         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
22902         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22903         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22904         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
22905         * lisp/net/tramp.el (tramp-handle-write-region-message):
22906         * src/fileio.c (write_region, syms_of_fileio):
22907         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
22908         extra characters from file writing messages.
22910 2017-05-09  Noah Friedman  <friedman@splode.com>
22912         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
22913         because $ptr is modified by ygetptr and we use $ptr immediately at the
22914         beginning.
22916 2017-05-08  Ken Brown  <kbrown@cornell.edu>
22918         Skip a test from filenotify-tests.el on Cygwin
22920         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
22921         Skip the last part of the test on Cygwin; it fails due to timing
22922         issues.
22923         (file-notify--test-read-event):  Remove `sit-for' that was added
22924         for Cygwin.
22926 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22928         Merge from gnulib
22930         This incorporates:
22931         2017-05-08 intprops: don’t depend on ‘verify’
22932         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
22933         2017-05-07 utimens: Improve error code on native Windows
22934         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
22936 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
22938         Fix various verilog-mode.el issues.
22940         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
22941         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
22942         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
22943         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
22944         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
22945         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
22946         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
22947         msg2143. Reported by Galen Seitz.
22948         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
22949         compile-command is globally set, bug1119.  Reported by Galen Seitz.
22951 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
22953         Handle `write-region' messages in Tramp properly
22955         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
22956         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
22957         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22958         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22959         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
22961         * lisp/net/tramp.el (tramp-password-prompt-regexp)
22962         (tramp-completion-mode-p):
22963         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
22964         (tramp-append-tramp-buffers):
22965         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
22966         Use `bound-and-true-p'.
22968         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
22969         Don't check for `boundp' anymore.
22971         * test/lisp/net/tramp-tests.el (ert-x): Require it.
22972         (tramp--test-messages): New defvar.
22973         (tramp-test10-write-region): Extend test.
22975 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22977         Fix glyph string generation for multi-font compositions (Bug#26742)
22979         * src/xdisp.c (glyph_string_containing_background_width): New function.
22980         (draw_glyphs): Use it to get correct background width.
22981         (compute_overhangs_and_x): Don't change x in the middle of composite
22982         characters.
22984 2017-05-07  Philipp Stephani  <phst@google.com>
22986         Fix all unescaped character literals
22988 2017-05-07  Alan Mackenzie  <acm@muc.de>
22990         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
22992         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
22993         e.g., between the two characters of an opening comment "/*", and additionally
22994         there were an odd number of quote marks (apostrophes) in the comment.  This
22995         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
22996         buffer position 615001.
22998         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
22999         pps-extended-state to mean that there are at least 11 elements in the parser
23000         state.
23002         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
23003         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
23004         types which indicate potentially being inside two-char constructs.
23005         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
23006         functions.
23008 2017-05-07  Glenn Morris  <rgm@gnu.org>
23010         Silence an mh-compat compiler warning
23012         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
23014 2017-05-07  Glenn Morris  <rgm@gnu.org>
23016         Evaluate mh-require when compiling
23018         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
23019         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
23020         Evaluate mh-require when compiling, as require is automatically.
23021         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
23023 2017-05-07  Glenn Morris  <rgm@gnu.org>
23025         Remove obsolete method of changing byte-compile-dest-file
23027         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
23028         Define unconditionally.
23030 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23032         New var write-region-verbose, default nil
23034         By popular demand, write-region char counts are now off by default
23035         (Bug#26796).
23036         * src/fileio.c (write-region-verbose): New Lisp var.
23037         (write_region): Output char count only if the var is non-nil.
23038         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
23040 2017-05-07  Glenn Morris  <rgm@gnu.org>
23042         Write autoloads file atomically
23044         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
23045         New function, to save buffer atomically.
23046         (autoload-save-buffers, update-directory-autoloads):
23047         Use autoload--save-buffer.
23048         * lisp/Makefile.in ($(lisp)/loaddefs.el):
23049         No longer write to a temp file by hand.
23051 2017-05-07  Glenn Morris  <rgm@gnu.org>
23053         Write autoloads file once only
23055         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
23056         Simplify.  Don't bother about ensuring the output file exists.
23057         (autoload-generated-file): Add doc.
23058         (autoload-ensure-writable): Update doc.
23059         (autoload-ensure-file-writeable): Handle non-existing file.
23060         (autoload-ensure-default-file): Remove function.
23062 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23064         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
23066         * src/.gdbinit (Lisp_Object_Printer.to_string):
23067         Explicitly convert integer val to 'int', so that
23068         older GDBs do not complain about the conversion.
23069         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
23070         Give the struct a tag, so that older GDB pretty-printers have a
23071         tag to hang their hat on.
23073 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23075         Pretty-print const Lisp_Objects in .gdbinit
23077         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
23078         Compare unqualified type to Lisp_Object, to do the right thing
23079         when the expression has type ‘Lisp_Object const’.
23080         Problem reported by Eli Zaretskii in:
23081         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
23083 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23085         Pacify GCC setjmp/longjmp warning
23087         * src/eval.c (internal_lisp_condition_case): Do not modify local
23088         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
23089         cases mistakenly diagnoses VAR possibly being modified between a
23090         setjmp and a longjmp.
23092 2017-05-06  Philipp  <phst@google.com>
23094         Fix bootstrap build of files.el
23096         * lisp/files.el (file-name-non-special): Don't use cl-letf.
23098 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23100         Fix last change for MS-Windows
23102         * test/src/emacs-module-tests.el (module-function-object): Port to
23103         MS-Windows.
23105 2017-05-06  Philipp Stephani  <phst@google.com>
23107         Introduce new misc type for module function
23109         This resolves a couple of FIXMEs in emacs-module.c.
23111         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
23113         * src/alloc.c (make_module_function): New function.
23114         (mark_object): GC support.
23116         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
23118         * src/print.c (print_object): Print support for new type.
23120         * src/emacs-module.c (module_make_function, Finternal_module_call):
23121         Use new module function type, remove FIXMEs.
23122         (module_format_fun_env): Adapt and give it external linkage.
23124         * test/src/emacs-module-tests.el (module-function-object): Add unit
23125         test.
23127 2017-05-06  Philipp Stephani  <phst@google.com>
23129         Fix quoted files for 'verify-visited-file-modtime'
23131         Fixes Bug#25951.
23133         * lisp/files.el (file-name-non-special): Set the file name for the
23134         correct buffer.
23136         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
23137         Add unit test.
23138         (files-tests--with-advice, files-tests--with-temp-file): New helper
23139         macros.
23141 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23143         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
23145 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23147         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
23149         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
23150         ENABLE_CHECKING is defined.
23151         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
23152         instead of being defined.
23154 2017-05-06  Tom Tromey  <tom@tromey.com>
23156         Fix erc-join with channel password
23158         Bug#25349
23159         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
23160         server names.
23161         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
23162         Likewise.
23163         (erc-server-join-channel): Move to erc.el.
23164         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
23165         (erc-cmd-JOIN): Use erc-server-join-channel.
23167 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
23169         Ensure the created temp file in a test is new
23171         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
23172         to create the temp file.
23174 2017-05-06  Glenn Morris  <rgm@gnu.org>
23176         Decruftify dns-mode.el a little bit
23178         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
23179         New constant.
23180         (dns-mode-control-entity, dns-mode-bad-control-entity)
23181         (dns-mode-type, dns-mode-class): New faces.
23182         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
23183         (dns-mode-type-face, dns-mode-class): Make these variables use the
23184         new faces, and mark as obsolete.
23185         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
23187 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23189         Pretty-print Lisp_Object values in GDB
23191         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
23192         GDB displays them as "XIL(0xXXX)" rather than displaying them
23193         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
23194         otherwise.
23196 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
23198         Tweak dns-mode font-lock
23200         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
23201         Highlight $TTL as a control entity.  (Bug#26780)
23203 2017-05-05  Glenn Morris  <rgm@gnu.org>
23205         Fontify the doc-string in some CL forms as such
23207         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
23208         Add the doc-string-elt property.  (Bug#26778)
23210 2017-05-05  Glenn Morris  <rgm@gnu.org>
23212         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
23214 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23216         cl-defmethod: Make the edebug spec more technically correct
23218         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
23219         edebug spec part for qualifiers as [&rest atom], per
23220         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
23222 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
23224         Fix MH-E not to load cl at runtime (Bug#25552)
23226         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
23227         compile time, whether the target is bound.
23228         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
23229         mh-acros at compile time.
23230         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
23231         <npostavs@users.sourceforge.net>
23233 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
23235         Multiline support in NS "Open Selected File" service.
23237         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
23238         original call in a (split-string) to create as many calls as there
23239         are lines.
23240         (ns-spi-service-call): Call `ns-open-file-service' instead of
23241         `dnd-open-file'.
23243 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
23245         Require cl-lib at runtime in vc-hg
23247         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
23249 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
23251         Inherit incompatible/obsolete package faces from error
23253         Don't use the same face for installed packages as for incompatible
23254         or obsolete ones.
23255         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
23257 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
23259         Set process property `adjust-window-size-function' to `ignore' in Tramp
23261         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
23262         (tramp-adb-maybe-open-connection):
23263         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
23264         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
23265         (tramp-maybe-open-connection):
23266         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
23267         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
23268         (tramp-smb-maybe-open-connection): Set process property
23269         `adjust-window-size-function' to `ignore'.
23271 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
23273         * lisp/emacs-lisp/seq.el: Bump seq version.
23275 2017-05-04  Damien Cassou  <damien@cassou.me>
23277         Add seq-set-equal-p to test for set equality
23279         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
23280           two lists as if they were sets.
23282         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
23283           for seq-set-equal-p.
23285 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23287         Spelling fixes
23289         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
23290         Rename from nndiary-last-occurence.
23291         (nndiary-next-occurrence):
23292         Rename from nndiary-next-occurence.  All uses changed.
23294 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23296         Merge from pkg-config
23298         * m4/pkg.m4: Copy from pkg-config 0.29.1.
23300 2017-05-04  Tom Tromey  <tom@tromey.com>
23302         Add color highlighting to css-mode
23304         Bug#25525
23305         * lisp/textmodes/css-mode.el (css--color-map): New constant.
23306         (css-value-class-alist): Use css--color-map.
23307         (css--number-regexp, css--percent-regexp)
23308         (css--number-or-percent-regexp, css--angle-regexp): New constants.
23309         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
23310         functions.
23311         (css--colors-regexp): New constant.
23312         (css--hex-color, css--named-color, css--compute-color)
23313         (css--contrasty-color, css--fontify-colors)
23314         (css--fontify-region): New functions.
23315         (css-mode): Set font-lock-fontify-region-function.
23316         (css-mode-syntax-table): Set syntax on more characters.
23317         (css-fontify-colors): New defcustom.
23318         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
23319         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
23320         Update.
23321         (css-test-rgb-parser, css-test-hsl-parser)
23322         (css-test-named-color): New tests.
23323         * etc/NEWS: Add entry.
23325 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
23327         Fix Bug#26763
23329         * lisp/files.el (delete-directory): Call file name handler
23330         with `trash' argument.
23332         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
23333         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
23334         Add TRASH arg.  Implement it.  (Bug#26763)
23335         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
23337         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
23338         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
23339         Add _TRASH arg.
23341 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23343         Use ptrdiff_t, not int, for stack sizes
23345         * src/thread.c (invoke_thread_function):
23346         * src/xterm.c (x_cr_export_frames):
23347         Don’t assume SPECPDL_INDEX fits in ‘int’.
23349 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23351         Check list object type if --enable-gcc-warnings
23353         * configure.ac (--enable-check-lisp-object-type):
23354         Default to "yes" if --enable-gcc-warnings is not "no".
23355         * etc/NEWS: Mention this.
23356         * src/eval.c (internal_lisp_condition_case): Fix some glitches
23357         with 'volatile' uncovered by the above: in particular, 'clauses'
23358         should be a pointer to volatile storage on the stack, and need not
23359         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
23360         Don’t bother gathering binding count if VAR is nil.  Use
23361         more-specific local names to try to clarify what’s going on.
23363 2017-05-02  Glenn Morris  <rgm@gnu.org>
23365         Tweak auth-source-pass.el to avoid run-time subr-x
23367         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
23368         Avoid needing subr-x at run-time.
23370 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
23372         Constrain non-child frames to screen area in OS X
23374         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
23375         frames in OS X, if they would otherwise go offscreen.
23377         (Bug#25818)
23379 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
23381         Fix error in completion for separate Tramp syntax
23383         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
23384         Tweak regexp.
23386         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
23387         Run method and host name completion for all syntaxes.
23389 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23391         Avoid compilation warnings
23393         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
23394         * src/w32term.c (x_draw_glyph_string):
23395         * src/w32fns.c (compute_tip_xy):
23396         * src/w32font.c (w32font_text_extents):
23397         * src/w32menu.c (set_frame_menubar):
23398         * src/search.c (Freplace_match): Avoid compiler warnings in
23399         optimized builds.
23401 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23403         Merge from gnulib
23405         This incorporates:
23406         2017-05-02 utimens: port to Emacs + MS-Windows
23407         * lib/utimens.c: Copy from gnulib.
23409 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
23411         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
23413         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
23414         to make Edebug generate a new symbol for each method (Bug#24753) and
23415         to support a string following :extra (Bug#23995).
23416         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
23417         make Edebug generate a new symbol for each method (Bug#24753).
23419 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23421         Temporary fix for the MS_Windows build
23423         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
23424         to be consistent with Gnulib's utimens.c.  This is because utimens.c
23425         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
23426         previous definition here conflicted with that.
23428 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23430         Port format-time-string to MS-Windows better
23432         * test/src/editfns-tests.el (format-time-string-with-zone):
23433         Port test cases to MS-Windows.
23435 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23437         Merge from gnulib
23439         This incorporates:
23440         2017-05-01 New module 'localtime-buffer'
23441         2017-04-30 utimens: Add support for native Windows
23442         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
23443         * configure.ac (tzset): No need for Emacs itself to check now.
23444         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
23445         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
23446         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23447         * lib/localtime-buffer.c, lib/localtime-buffer.h:
23448         * m4/localtime-buffer.m4: New files, copied from gnulib.
23449         * src/editfns.c (init_editfns): Assume tzset is callable.
23451 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23453         Speed up project-find-regexp for simple regexps
23455         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
23456         New function.
23457         (xref--collect-matches): Use it.  Don't try to enable the
23458         appropriate major mode and file-local variables if the regexp
23459         does not depend on the buffer's syntax (bug#26710).
23460         (xref--collect-matches-1): Don't syntax-propertize in that
23461         case either.
23463 2017-05-01  Philipp Stephani  <phst@google.com>
23465         Warn about missing backslashes during load
23467         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
23468         (syms_of_lread): Warn if unescaped character literals are
23469         found (Bug#20152).
23470         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
23471         unescaped character literals during byte compilation.
23472         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
23473         unit test.
23474         (lread-tests--with-temp-file, lread-tests--last-message): Helper
23475         functions for unit test.
23476         * test/lisp/emacs-lisp/bytecomp-tests.el
23477         (bytecomp-tests--unescaped-char-literals): New unit test.
23478         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
23479         Helper macro for unit test.
23481 2017-05-01  Ken Brown  <kbrown@cornell.edu>
23483         * configure.ac: Suggest Mailutils on Cygwin.
23485 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23487         Don’t stress-test time zones near the Epoch
23489         * test/src/editfns-tests.el (format-time-string-with-zone)
23490         (format-time-string-with-outlandish-zone): Don’t format
23491         timestamps near the Epoch, as this runs into bugs on MS-Windows,
23492         and we don’t want to worry about those bugs.
23494 2017-05-01  Glenn Morris  <rgm@gnu.org>
23496         Tweak vc-tests.el for bzr
23498         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
23499         Handle test environments where HOME does not exist.
23501 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23503         vc-git-state: Return `ignored' as appropriate with newer Git
23505         * lisp/vc/vc-git.el
23506         (vc-git--program-version): New variable.
23507         (vc-git--program-version): New function.
23508         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
23510 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23512         vc-git-state: Bring back CentOS 6 compatibility
23514         * lisp/vc/vc-git.el (vc-git-state):
23515         Bring back CentOS 6 compatibility (bug#19343).
23517 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
23519         Rewrite w32fns.c's `x_set_menu_bar_lines'
23521         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
23522         regardless of whether menu bar is added or removed.  Clear
23523         under internal border iff a W32 window exists.  Store either 0
23524         or 1 as new parameter value.
23525         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
23526         FRAME_X_WINDOW.
23528 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
23530         Fix filenotify-tests.el for cygwin
23532         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
23533         Add an additional `sit-for'.
23534         (file-notify-test02-rm-watch): Add an additional
23535         `file-notify--test-read-event' call.
23537 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
23539         Speed up vc-git-status and make it more precise
23541         * lisp/vc/vc-git.el (vc-git-state)
23542         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
23543         'git status', so that 'vc-git-state' can now return 'ignored',
23544         'conflict', or 'unregistered' when appropriate.  Discussed in
23545         bug#26066.  Fixes bug#19343.
23547 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23549         Fix Git revision navigation in currently removed directories
23551         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
23552         default-directory because FILE's parent directory might not exist
23553         anymore (bug#26345).
23555 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23557         Merge from gnulib
23559         This incorporates:
23560         2017-04-30 strftime-fixes: New module
23561         2017-04-30 mktime: Work around TZ problem on native Windows
23562         2017-04-30 ctime, localtime: New modules
23563         2017-04-30 gettimeofday: Provide higher resolution on native Windows
23564         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
23565         2017-04-29 Make use of module 'utime-h'
23566         2017-04-30 Fix a few typos
23567         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
23568         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
23569         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
23570         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
23571         Copy from gnulib.
23572         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23574 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
23576         Don't lose key bindings on mis-spelled text in flyspell-mode
23578         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
23579         explicitly.
23580         (make-flyspell-overlay): If the mis-spelled text already has a
23581         'keymap' property, make that keymap the parent of
23582         flyspell-mouse-map, so as not to lose the parent's bindings.
23583         (Bug#26672)
23585 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
23587         Fix `delete-frame' behavior including Bug#26682
23589         * src/frame.c (other_frames): Accept two arguments now.  Don't
23590         care about minibuffer window.  Don't care about visibility when
23591         called from delete_frame with FORCE true (Bug#26682).
23592         (delete_frame, Fmake_frame_invisible): Adjust other_frames
23593         calls.
23594         * src/w32term.c (w32_read_socket): Don't add a move frame event
23595         for an invisible frame.
23596         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
23597         attempting to delete a surrogate minibuffer frame.
23599 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23601         Merge from gnulib
23603         This avoids incorporating the following, which I suspect are
23604         more trouble for Emacs than they’re worth:
23605         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
23606         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
23607         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23608         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
23610 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23612         Fix buffer overflow in make-docfile
23614         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
23615         overflow when reading an identifier.  Use a static buffer for NAME
23616         rather than a small dynamically-allocated buffer.
23618 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23620         Merge from gnulib
23622         This incorporates:
23623         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23624         * lib/getopt-pfx-ext.h: Copy from gnulib.
23625         * lib/gnulib.mk.in: Regenerate.
23627 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
23629         Fix dependency error during bootstrap
23631         * lisp/files.el: Require pcase and easy-mmode at compile time.
23633 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
23635         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
23637 2017-04-29  Philipp Stephani  <phst@google.com>
23639         Reimplement auto-saving to visited files
23641         This reacts to confusing behavior of 'auto-save-visited-file-name',
23642         cf. Bug#25478.
23644         * lisp/files.el (auto-save-visited-interval): New customization option.
23645         (auto-save-visited-mode): New global minor mode.
23646         (auto-save-visited-file-name): Make obsolete.
23647         (auto-save--timer): New internal helper variable.
23649         * doc/emacs/files.texi (Auto Save Files): Document
23650         'auto-save-visited-mode' instead of obsolete
23651         'auto-save-visited-file-name'.
23652         (Auto Save Control): Document customization option
23653         'auto-save-visited-interval'.
23655 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23657         Allow bypassing of some checks when merging
23659         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
23661 2017-04-29  Philipp Stephani  <phst@google.com>
23663         Integrate module test with normal test suite
23665         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
23666         configured.
23667         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
23668         correctly even if Emacs changes the current directory.
23669         ($(srcdir)/src/emacs-module-tests.log)
23670         ($(test_module)): Proper dependency tracking for test module.
23672         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
23673         Remove 'check' target and EMACS variable, which are no longer
23674         necessary.
23675         (SO): Change to include period.
23677         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
23678         environment variable to reliably find test data.
23680         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
23681         substitutions.
23683 2017-04-28  Glenn Morris  <rgm@gnu.org>
23685         Broaden comint-password-prompt-regexp
23687         * lisp/comint.el (comint-password-prompt-regexp):
23688         Broaden the regexp, for non-English locales.  (Bug#26698)
23690 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
23692         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
23694 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
23696         Don't pass the value of point to 'push-mark', as that's the default.
23698         * lisp/textmodes/bib-mode.el (mark-bib):
23699         * lisp/simple.el (mark-whole-buffer, yank):
23700         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
23701         * lisp/progmodes/xscheme.el (xscheme-yank):
23702         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
23703         * lisp/progmodes/perl-mode.el (perl-mark-function):
23704         * lisp/progmodes/pascal.el (pascal-mark-defun):
23705         * lisp/progmodes/meta-mode.el (meta-mark-defun):
23706         * lisp/progmodes/icon.el (mark-icon-function):
23707         * lisp/progmodes/cc-cmds.el (c-mark-function):
23708         * lisp/obsolete/vip.el (ex-goto):
23709         * lisp/obsolete/vi.el (vi-put-before):
23710         * lisp/mouse.el (mouse-yank-primary):
23711         * lisp/menu-bar.el (menu-bar-select-yank):
23712         * lisp/mail/sendmail.el (mail-yank-original):
23713         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
23714         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
23715         (viper-mark-end-of-buffer):
23716         * lisp/cedet/semantic/senator.el (senator-mark-defun):
23717         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
23718         `(point)' from calls to `push-mark'.  (Bug#25565)
23720 2017-04-28  Glenn Morris  <rgm@gnu.org>
23722         Merge from origin/emacs-25
23724         784602b1050 (origin/emacs-25) ; Add release notice
23725         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
23726         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
23727         2b0d1118199 ; CONTRIBUTE: Remove stray header.
23728         f2ab09ec60d Fix a typo in indexing the user manual
23729         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
23730         a6d50401b4b Document 'line-pixel-height'
23731         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
23732         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
23733         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
23734         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
23735         84938d79698 default-directory: Remark that it must be a directory name
23736         3f0d047d2eb Delete confuse statement in manual
23737         ee1bd94dd0c Improve packaging documentation
23738         fb18bff91f0 Expand manual section on quitting windows
23739         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
23740         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
23741         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
23742         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
23743         e0e9db4c84a ; Spelling fix
23745         # Conflicts:
23746         #       README
23747         #       etc/AUTHORS
23748         #       etc/HISTORY
23749         #       lisp/ldefs-boot.el
23751 2017-04-28  Glenn Morris  <rgm@gnu.org>
23753         * doc/misc/auth.texi: Commas don't work in node names.
23755         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
23757 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23759         Test format-time-string with zone arg
23761         * test/src/editfns-tests.el (format-time-string-with-zone)
23762         (format-time-string-with-outlandish-zone): New tests.
23764 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23766         Merge from gnulib
23768         This incorporates:
23769         2017-04-24 time_rz: fix heap buffer overflow vulnerability
23770         2017-04-23 stat-time: Update comments.
23771         2017-04-22 ftoastr: cite a newer paper
23772         2017-04-21 gettext-h: Avoid -Wundef warning.
23773         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
23774         * m4/getopt.m4: Copy from gnulib.
23775         * m4/gnulib-comp.m4: Regenerate.
23777 2017-04-27  Damien Cassou  <damien@cassou.me>
23779         auth-source-pass: Add documentation; fix tests and indentation.
23781         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
23782           instead of @enumerate.
23783         * lisp/auth-source-pass.el: Fix indentation.
23784           (auth-source-pass--remove-directory-name): Remove.
23785         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
23787 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
23789         auth-source-pass: Enable finding entries by "host/username"
23791         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
23792         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
23794 2017-04-27  Damien Cassou  <damien@cassou.me>
23796         Integrate auth-source with password-store
23798         * lisp/auth-source-pass.el: auth-source backend for password-store.
23799         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
23800           behavior.
23802 2017-04-27  Damien Cassou  <damien@cassou.me>
23804         * lisp/auth-source.el: Document parser functions.
23806 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
23808         auth-source: factor out parsers and add tests
23810         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
23811         * test/lisp/auth-source-tests.el: Add tests.
23813 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
23815         Fix doc and customization type of `window-combination-limit' (Bug#26673)
23817         * src/window.c (Vwindow_combination_limit): Fix doc-string.
23818         * lisp/cus-start.el (window-combination-limit): Fix
23819         customization type.
23820         * doc/lispref/windows.texi (Recombining Windows): Fix
23821         documentation of `window-combination-limit'.
23823 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
23825         Drop face from hi-lock--unused-faces only when used
23827         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
23828         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
23829         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
23831 2017-04-26  Alan Third  <alan@idiocy.org>
23833         Fix macOS version check (bug#26664)
23835         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
23836         macOS versions 10.12+.
23838 2017-04-26  Glenn Morris  <rgm@gnu.org>
23840         Make charprop.el provide a feature
23842         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23843         Provide a feature.
23844         * lisp/loadup.el: Use the charprop feature.
23846 2017-04-26  Glenn Morris  <rgm@gnu.org>
23848         * lisp/loadup.el: Get charprop.el into etc/DOC again.
23850 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23852         * lisp/ido.el (ido-everywhere): Use add-function.
23854 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
23856         Try to fix latest fix of w32_mouse_position
23858         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
23859         latest fix and try to make the affected code more rigorous.
23861 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
23863         Avoid segfaults when 'find-font' is invoked for a TTY frame
23865         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
23866         text-mode frame.  (Bug#26646)
23868 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
23870         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
23872         New defun.
23874 2017-04-26  Glenn Morris  <rgm@gnu.org>
23876         * src/Makefile.in (leimdir): Remove variable, no longer used.
23878 2017-04-26  Glenn Morris  <rgm@gnu.org>
23880         Generate leim-list via lisp/Makefile, not src/Makefile
23882         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
23883         (emacs$(EXEEXT)): Don't depend on leim-list.
23884         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
23886 2017-04-25  Alan Third  <alan@idiocy.org>
23888         Fix define for GNUstep builds
23890         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
23891         doesn't see the code.
23893 2017-04-25  Glenn Morris  <rgm@gnu.org>
23895         Suppress intermittent test failure on hydra
23897         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
23898         (eieio-test-method-order-list-6): Skip on hydra.
23900 2017-04-25  Alan Third  <alan@idiocy.org>
23902         Fix some NS frame handling issues
23904         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
23905         defines intended to make things tidier.
23906         (x_set_undecorated): Use the new defines.
23907         (windowWillResize): Don't use new macOS 12+ only feature.
23908         (initFrameFromEmacs): Use the new defines, and disable automatic
23909         window tabbing feature in macOS 12.
23910         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
23911         x_set_z_group): Add NSTRACE notices.
23913 2017-04-25  Glenn Morris  <rgm@gnu.org>
23915         Avoid parallel race condition
23917         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
23919 2017-04-25  Glenn Morris  <rgm@gnu.org>
23921         Generate each unicode lisp file independently
23923         This is better for parallel builds, eg it eliminates race
23924         conditions from having one process write multiple files.
23925         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
23926         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
23927         (all): Explicitly list the output lisp files.
23928         (PHONY_EXTRAS): Remove.
23929         (${unidir}/charprop.el): Change rule to just be for this file.
23930         (${unifiles}): New rule to write each unicode lisp file.
23931         (extraclean): Simplify.
23932         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23933         Quieten in batch mode.
23934         (unidata-gen-files): Remove, no longer used.
23935         * lisp/loadup.el: Update command-line parser.
23937 2017-04-25  Glenn Morris  <rgm@gnu.org>
23939         Further refactoring in unidata-gen.el
23941         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23942         New function, split from unidata-gen-files.
23943         (unidata-gen-files): Use unidata-gen-charprop.
23945 2017-04-25  Glenn Morris  <rgm@gnu.org>
23947         Allow unidata-gen-file to work independently
23949         * admin/unidata/unidata-gen.el (unidata-gen-file):
23950         Make it work as a stand-alone function in batch mode.
23951         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
23953 2017-04-25  Glenn Morris  <rgm@gnu.org>
23955         Preparatory refactoring in unidata-gen.el
23957         * admin/unidata/unidata-gen.el (unidata-gen-file):
23958         New function, split from unidata-gen-files.
23959         (unidata-gen-files): Use unidata-gen-file.
23961 2017-04-25  Glenn Morris  <rgm@gnu.org>
23963         Write each generated character property lisp file only once
23965         * admin/unidata/unidata-gen.el (unidata-file-alist):
23966         Rename from unidata-prop-alist.  All users changed.
23967         Use file name rather than property name as the key.
23968         (unidata-prop-prop): New function.
23969         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
23970         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
23971         Change to parse the argument rather than unidata-prop-alist.
23972         (unidata-gen-table-character, unidata-gen-table)
23973         (unidata-gen-table-symbol, unidata-gen-table-integer)
23974         (unidata-gen-table-numeric, unidata-gen-table-word-list)
23975         (unidata-gen-table-name, unidata-gen-table-decomposition)
23976         (unidata-gen-table-special-casing): Pass index as an argument.
23977         (unidata-check): Adapt to unidata-file-alist.
23978         Pass index to generator functions.
23979         (unidata-gen-files): Adapt to unidata-file-alist.
23980         Write each output file once only.  Overwrite rather than delete.
23982 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
23984         Fix requesting sparse articles in gnus
23986         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
23987         sparse article number from the list, not its id.
23989 2017-04-25  Glenn Morris  <rgm@gnu.org>
23991         Don't advertise s_client in tls.el docs
23993         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
23994         Don't mention s_client in docs.
23996 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
23998         Remove s_client usage from tls.el
24000         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
24001         Ref http://bugs.debian.org/766397
24002         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
24004 2017-04-25  Glenn Morris  <rgm@gnu.org>
24006         Further robustify cedet bootstrap to loaddefs not yet built
24008         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
24009         Avoid void-function error when bootstrapping and semantic/loaddefs.el
24010         does not yet exist.
24012 2017-04-24  Alan Third  <alan@idiocy.org>
24014         Fix XBM color rendering in NS port (bug#22060)
24016         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
24018 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
24020         Add support for IRCv3 message tags.
24022         * lisp/erc/erc-backend.el:
24023           erc-response: Add `tags' element.
24024           Add (erc-parse-tags).
24025           (erc-parse-server-response): Use (erc-parse-tags) to parse message
24026           tags (if any), and store them in `erc-resopnse' struct.
24028         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
24029           properties of the corresponding message line.
24031 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
24033         Add image sizing tests for an image that's narrow
24035         Needlessly refactor tests for clarity
24037 2017-04-23  Philipp Stephani  <phst@google.com>
24039         Add missing remappings for Ido mode
24041         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
24043         * lisp/ido.el (ido-mode): Remap missing commands.
24044         (ido-file-internal, ido-visit-buffer): Add support for new
24045         methods.
24046         (ido-display-buffer-other-frame)
24047         (ido-find-alternate-file-other-window, ido-dired-other-window)
24048         (ido-dired-other-frame): New commands.
24050         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
24051         test for the bindings.
24053 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
24055         Let w32_mouse_position pick a child window only if it has a child frame
24057         * src/w32term.c (w32_mouse_position): When using a frame found
24058         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
24059         maybe).
24061 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
24063         Don't require bytecomp for running ert tests
24065         "Fix ert-tests when running compiled" 2016-12-06 accidentally
24066         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
24067         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
24068         on bytecomp was masked by loading other libraries until recently.
24070         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
24071         `byte-compile-macro-environment' if it's bound.
24072         * test/src/eval-tests.el: Add defvar for dynamic variable
24073         `byte-compile-debug'.
24075 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24077         Eliminate unneeded warp-to-article in gnus article referral
24079         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
24080         (gnus-summary-refer-article): Remove gnus-warp-to article call.
24082 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24084         Allow limiting gnus summary buffers to a thread
24086         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
24087         an optional argument to allow limiting the summary buffer to just the
24088         thread-related articles.
24089         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
24090         to control whether thread-referral adds the thread to the summary
24091         buffer or limits to just the thread.
24092         (gnus-summary-refer-thread): Use the new variable.
24094 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24096         Correct gnus-newsgroup-limits in gnus when including thread
24098         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
24099         only add one list of thread-related articles to gnus-newsgroup-limits
24100         rather than two.
24102 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24104         Improve gnus thread matching of similar subjects
24106         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
24107         Use the more liberal gnus-general-simplify-subject regexp to
24108         find thread articles with similar subjects.
24110 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24112         Add new `lisp-indent-region' that doesn't reparse the code.
24114         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
24115         to get initial state, so they will no longer indent string literal
24116         contents.
24118         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
24119         `syntax-ppss', but with a more dependable item 2.
24120         (lisp-indent-region): New function, like `indent-region-line-by-line'
24121         but additionally keep a running parse state to avoid reparsing the
24122         code repeatedly.  Use `lisp-ppss' to get initial state.
24123         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
24124         `calculate-lisp-indent', use `lisp-ppss' if not given.
24125         (lisp-mode-variables): Set `indent-region-function' to
24126         `lisp-indent-region'.
24128 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24130         Remove ignored argument from lisp-indent-line
24132         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
24133         argument, the behavior has long since been handled in
24134         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
24135         variables and use `indent-line-to'.
24137 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24139         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
24141 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24143         Don't reparse the sexp in indent-sexp (Bug#25122)
24145         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
24146         PARSE-START be a parse state that can be reused.
24147         (indent-sexp): Pass the running parse state to calculate-lisp-indent
24148         instead of the sexp beginning position.  Saving the
24149         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
24150         needed.  Don't bother stopping if we don't descend below init-depth,
24151         since we now alway scan the whole buffer (via syntax-ppss) anyway.
24152         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
24153         line to test case.
24155 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24157         Add cond test cases for singleton clauses.
24159         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
24160           the default clause is a single non-nil expression.
24162 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24164         b-c--cond-jump-table-info: Use correct body for singleton clauses
24166         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
24167         When a clause's body consists of a single constant expression, use
24168         that expression as the body to be compiled. This fixes switch bytecode
24169         evaluating to nil to such clauses.
24171 2017-04-22  Philipp Stephani  <phst@google.com>
24173         ffap: Don't switch window unless needed
24175         When using ffap-other-window, don't change the window configuration
24176         unless a new buffer has actually been created (Bug#25352).
24178         * lisp/ffap.el (ffap-other-frame): Don't change the window
24179         configuration if no new buffer has been created.
24180         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
24181         test.
24183 2017-04-22  Alan Mackenzie  <acm@muc.de>
24185         Fix fontification of C++ declaration with type FOO::FOO.
24187         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
24188         cfd-top-level properly.
24189         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
24190         before deciding it is a constructor.
24192         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
24193         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
24194         (simple bug fix).
24196 2017-04-22  Philipp Stephani  <phst@google.com>
24198         Fix usage of FRAME_Z_GROUP
24200         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
24201         Lisp object, cf. Bug#26597.
24203 2017-04-22  Alan Third  <alan@idiocy.org>
24205         Fix GNUstep build
24207         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
24208         compatibility.
24209         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
24211 2017-04-21  Alan Third  <alan@idiocy.org>
24213         Add no-accept-focus and frame-list-z-order to NS port
24215         * lisp/frame.el (frame-list-z-order): Add NS.
24216         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
24217         (Fx_create_frame): Handle no-accept-focus parameter.
24218         (ns_window_is_ancestor):
24219         (Fns_frame_list_z_order): New functions.
24220         * src/nsterm.m (x_set_no_accept_focus): New function.
24221         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
24222         non-fullscreen windows.
24223         (EmacsWindow:canBecomeKeyWindow): New function.
24225 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24227         Improve prefix handling for dash.el
24229         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
24230         Don't drop dash's "-<letter>" prefixes.
24232 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24234         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
24236         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
24237         and use a different fix for bug#26068.
24238         (cl--symbol-macro-key): New function.
24239         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
24240         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
24241         Failure is not expected any more.
24243 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
24245         Avoid infinite loop in redisplay when header-line-format is invalid
24247         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
24248         string has an invalid %-construct in it and is displayed as part
24249         of mode-line or header-line.  (Bug#26586)
24251 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24253         Add tests to check image scaling functionality
24255         This is in preparation to doing further work in this area to avoid
24256         regressions.
24258         * test/data/image/blank-200x100.png: New file for testing
24259         image scaling.
24261         * test/manual/image-size-tests.el: New file.
24263 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24265         Allow svg-image to take all create-image PROPS
24267         * lisp/svg.el (svg-image): Allow passing in PROPS when
24268         creating an image for convenience.
24270 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
24272         Treat non-erroring lisp call as successful eshell command (Bug#26161)
24274         This lets a compound command like 'cd .. && echo ok' print 'ok',
24275         similar to how most other shells behave.
24277         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
24278         last exit code was zero, rather than first checking whether the last
24279         command returned nil.
24280         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
24282 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
24284         Fix reading of tab settings in whitespace-mode
24286         lisp/whitespace.el (whitespace-indent-tabs-mode)
24287         whitespace-tab-width): Remove these variables. The underlying
24288         variables `indent-tabs-mode' and `tab-width' are already buffer-local
24289         when needed, and whitespace-mode never changes them.
24290         (whitespace-ensure-local-variables): Remove this function, which only
24291         existed to set the above variables.
24292         (whitespace-cleanup-region, whitespace-regexp)
24293         (whitespace-indentation-regexp, whitespace-report-region)
24294         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
24295         use `indent-tabs-mode' and `tab-width' directly, and not call
24296         `whitespace-ensure-local-variables'.
24298 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24300         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
24302         by simplifying ascii-test.
24304 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
24306         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
24308         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
24309           FORM if the bytecode uses the byte-switch instruction. It is
24310           impossible to guess the correct stack depth while inlining such
24311           bytecode, resulting in faulty code.
24313 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
24315         Set Emacs version to 25.2 and update AUTHORS file
24317         * README: Set Emacs version to 25.2.
24318         * etc/HISTORY: Add release log.
24319         * lisp/ldefs-boot.el:
24320         * etc/AUTHORS:
24321         * ChangeLog.2: Update.
24323 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
24325         Don't register "def" as an autoload prefix (Bug#26412)
24327         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
24328         accept "def" as a prefix.
24330 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24332         Use substring completion for Info menus and index
24334         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
24335         (Info-menu): Simplify now that we use the `default' arg of completing-read.
24336         * lisp/minibuffer.el (completion-category-defaults): Use substring
24337         completion for `info-menu`.
24339 2017-04-19  Glenn Morris  <rgm@gnu.org>
24341         Remove some explicit runtime loads of pcase
24343         Pcase is macros, so these should have used eval-when-compile.
24344         Anyway, pcase entry points are autoloaded, so the compiler handles it.
24345         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
24346         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
24347         * lisp/progmodes/xref.el: No need to require pcase.
24349 2017-04-19  Glenn Morris  <rgm@gnu.org>
24351         Stop cl-lib loading pcase at runtime
24353         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
24354         * lisp/emacs-lisp/autoload.el (make-autoload):
24355         Treat pcase-defmacro like defmacro.
24357 2017-04-19  Alan Third  <alan@idiocy.org>
24359         Note frame documentation exceptions for NS builds
24361         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
24362         NS differences.
24364 2017-04-19  Alan Third  <alan@idiocy.org>
24366         Fix bug introduced by my last commit
24368         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
24370 2017-04-19  Alan Third  <alan@idiocy.org>
24372         Add new frame functionality to NS port
24374         * lisp/frame.el (frame-restack): Call ns-frame-restack.
24375         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
24376         MOVE_FRAME_EVENT handling.
24377         * src/frame.h:
24378         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
24379         definitions.
24380         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
24381         x_set_undecorated (Cocoa only) to handler struct.
24382         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
24383         frame parameter.
24384         (Fns_frame_restack): New function.
24385         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
24386         FRAME_TOOLBAR_HEIGHT is no longer a variable.
24387         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
24388         Add #defines to find the screen position of the parent frame.
24389         (NS_TOP_POS): Remove defun.
24390         (EmacsView): Remove redundant toolbar variables and add createToolbar
24391         method.
24392         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
24393         values instead of storing them in a variable.
24394         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
24395         position into account when positioning frames.
24396         (initFrameFromEmacs): Remove toolbar creation code and handle new
24397         frame parameters.
24398         (x_set_window_size): Remove toolbar height calculation.
24399         (x_set_z_group):
24400         (x_set_parent_frame):
24401         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
24402         (x_destroy_window): Detach parent if child closes.
24403         (updateFrameSize): Change NSTRACE message to reflect new reality and
24404         no longer reset frame size.
24405         (windowWillResize): Don’t change NS window name when the titlebar
24406         is invisible.
24407         (createToolbar): Move toolbar creation code into it’s own method.
24408         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
24409         are no longer variables.
24410         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
24412 2017-04-19  Glenn Morris  <rgm@gnu.org>
24414         Tweak bytecomp's loading of cl-extra
24416         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
24417         post-bootstrap emacs where cl-loaddefs does exist.
24419 2017-04-19  Glenn Morris  <rgm@gnu.org>
24421         Avoid unnecessary loading of subr-x at run-time
24423         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
24424         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
24425         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
24426         No need to load subr-x at run-time.
24427         * lisp/gnus/nnheader.el: No need to load subr-x.
24429 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
24431         Use iteration in math-factorial-iter
24433         * lisp/calc/calc-comb.el (math-factorial-iter):
24434         Use iteration instead of recursion to avoid max-specpdl-size problem.
24436 2017-04-18  Glenn Morris  <rgm@gnu.org>
24438         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
24440 2017-04-18  Glenn Morris  <rgm@gnu.org>
24442         Avoid ert test failures
24444         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
24445         Avoid errors related to undefined byte-compile-macro-environment.
24446         Somehow masked until very recently because loading seq (eg)
24447         loads bytecomp.  http://hydra.nixos.org/build/51730765
24449 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
24451         Fix a typo in indexing the user manual
24453         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
24455 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
24457         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
24459         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
24460         Rename from find-library--from-load-path.  Check for `load-history'
24461         entries with nil FILE-NAMEs.  Simplify by not double
24462         checking for suffixes and making use of `locate-file'.
24464 2017-04-18  Alan Third  <alan@idiocy.org>
24465             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24467         Use vfork if possible on Darwin (bug#26397)
24470         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
24471         (vfork): Don't define.
24472         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
24473         set, otherwise vfork.
24474         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
24475         the controlling terminal instead of setsid.
24477 2017-04-18  Fran Litterio  <flitterio@gmail.com>
24479         Small erc-kill-channel fix (bug#23700)
24481         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
24483 2017-04-18  Glenn Morris  <rgm@gnu.org>
24485         ediff: use user-error rather than debug-ignored-errors
24487         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
24488         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
24489         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
24490         (ediff-check-version):
24491         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
24492         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
24493         (ediff-append-custom-diff, ediff-meta-show-patch)
24494         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
24495         (ediff-get-meta-info, ediff-patch-file-form-meta):
24496         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
24497         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
24498         (ediff--check-ancestor-exists, ediff-toggle-read-only)
24499         (ediff-toggle-wide-display, ediff-toggle-multiframe)
24500         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
24501         (ediff-next-difference, ediff-previous-difference)
24502         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
24503         (ediff-save-buffer):
24504         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
24505         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
24506         (ediff-directories-internal, ediff-directory-revisions-internal)
24507         (ediff-regions-wordwise, ediff-regions-linewise)
24508         (ediff-load-version-control): Use user-error.
24509         (debug-ignored-errors): No longer modify.
24511 2017-04-18  Glenn Morris  <rgm@gnu.org>
24513         mh-e: use user-error rather than debug-ignored-errors
24515         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
24516         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
24517         (debug-ignored-errors): No longer modify.
24519 2017-04-18  Glenn Morris  <rgm@gnu.org>
24521         ispell.el: use user-error rather than debug-ignored-errors
24523         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
24524         (debug-ignored-errors): No longer modify.
24526 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24528         * src/xterm.c (x_fill_rectangle): Now static.
24530 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24532         Tighten recently-added UTF-8 check
24534         * src/coding.c (encode_coding_utf_8): Now extern.
24535         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
24536         Check for UTF-8, not just for multibyte.
24538 2017-04-17  David Engster  <deng@randomsample.de>
24540         xml: Properly handle symbol-qnames for attribute parsing
24542         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
24543           xml-ns argument (reverts aea67018) (Bug#26533).
24544           (xml-maybe-do-ns): Properly handle default namespace by not
24545           interning new symbol when 'special' flag is set.
24547         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
24548           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
24550 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24552         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
24554 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
24556         Fix assertion violations when displaying thread-related error
24558         * src/process.c (Faccept_process_output): Don't assume a thread's
24559         name is always a string.
24561 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24563         dired ‘M’ should not complain about ‘.’ and ‘..’
24565         * lisp/dired-aux.el (dired-do-redisplay):
24566         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
24568 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24570         Remove unused coding enums
24572         * src/coding.h (enum coding_system_type, enum end_of_line_type):
24573         Remove; unused.
24575 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24577         Work around bug with unibyte Linux consoles
24579         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
24580         the terminal's coding system is unibyte (Bug#26396).
24582 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
24584         Fix org-agenda's command for calendar-lunar-phases
24586         Function org-agenda-phases-of-moon tries to call a non-existing
24587         function calendar-phases-of-moon. The correct function is
24588         calendar-lunar-phases.
24590 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
24592         Tuning for `separate' Tramp syntax
24594         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
24595         (tramp-completion-file-name-regexp-separate): Simplify.
24597         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
24598         Extend test.
24600 2017-04-16  Alan Mackenzie  <acm@muc.de>
24602         Fix bug #26529: C-h k errors with a lambda function bound to a key.
24604         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
24605         `function' is a symbol before trying to get property `reader-construct' from
24606         it.
24608 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
24610         Fix highlighting of short selectors in CSS mode
24612         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
24613         selectors where the part before a colon is only one character long,
24614         such as `a:hover'.
24616 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24618         Fix redisplay performance problems with some fonts
24620         * src/font.c (font_list_entities): Revert part of the changes
24621         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
24622         zero_vector in the font-cache is an important indication that
24623         cannot be removed.  (Bug#21028)
24625 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24627         Add assertion to STRING_SET_CHARS
24629         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
24630         to prevent incorrect usage.  For details, see this discussion:
24631         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
24633 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24635         Avoid compilation warnings on MS-Windows
24637         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
24638         parentheses around assignment.
24639         * src/w32fns.c (w32_createwindow): Remove unused variable
24640         dwStyle.  Use "|=" where appropriate.
24642 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24644         Merge from gnulib
24646         This incorporates:
24647         2017-04-14 intprops: try to avoid tickling similar bugs
24648         2017-04-14 intprops: port to Oracle Studio 12.3 x86
24649         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
24651 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
24653         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
24655         * lisp/window.el (with-displayed-buffer-window): When a
24656         'window-height' action alist entry specifies a function, call
24657         `temp-buffer-window-show' with a '(window-height . t)' dummy
24658         entry so `window--try-to-split-window' will bind
24659         `window-combination-limit' to t and that function does not
24660         resize any other window but the one we split this one off
24661         (Bug#25055, Bug#25179).
24662         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
24663         we steal space only from windows in the same combination.
24664         Stealing space from other windows would not allow us to return
24665         that space later when this window is deleted (Bug#25055,
24666         Bug#25179).
24668 2017-04-15  Glenn Morris  <rgm@gnu.org>
24670         Avoid userlock queries hanging forever in batch mode
24672         * lisp/userlock.el (ask-user-about-lock)
24673         (ask-user-about-supersession-threat): Abort in batch mode.
24675 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
24677         Fix segfault when calling frame_ancestor_p (Bug#26493)
24679         * src/xterm.c (handle_one_xevent): Check that hf was not reset
24680         before calling frame_ancestor_p (Bug#26493).
24682 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
24684         A few additional copy-edits in documentation of frames
24686         * doc/lispref/frames.texi (Frame Layout)
24687         (Implied Frame Resizing): Windows -> MS-Windows.
24688         (Deleting Frames): Fix typo.
24690 2017-04-14  Glenn Morris  <rgm@gnu.org>
24692         Use user-error for some ert.el errors
24694         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
24695         (ert-results-find-test-at-point-other-window, ert-describe-test):
24696         Use user-error.
24698 2017-04-14  Glenn Morris  <rgm@gnu.org>
24700         Use user-error for customize's "invalid face" error
24702         * lisp/cus-edit.el (customize-face): Use user-error.
24703         (debug-ignored-errors): No more need to add "Invalid face".
24705 2017-04-14  Glenn Morris  <rgm@gnu.org>
24707         Remove duplicate lisp-eval-defun definition
24709         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
24710         Autoload rather than defining a stub.
24712 2017-04-14  Glenn Morris  <rgm@gnu.org>
24714         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
24716 2017-04-14  Glenn Morris  <rgm@gnu.org>
24718         Create generated lisp files before main loaddefs.el
24720         This should improve reproducibility of lisp/loaddefs.el.
24721         * lisp/Makefile.in (gen-lisp): New phony target.
24722         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
24723         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
24724         * lisp/cedet/semantic.el (semantic-mode):
24725         * lisp/cedet/semantic/fw.el (top-level):
24726         * lisp/emacs-lisp/eieio-core.el (top-level):
24727         Robustify to generated input files maybe not yet existing.
24729 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24731         Fix minor quoting issues in Makefile.in
24733         * Makefile.in (install-arch-dep, uninstall):
24734         Quote EMACS and EMACS_NAME more consistently.
24736 2017-04-13  Glenn Morris  <rgm@gnu.org>
24738         * Makefile.in (install-etc): Use existing Makefile variables.
24740 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
24742         Minor copyedits of recent changes in documentation
24744         * doc/lispref/frames.texi (Frame Layout, Frame Position)
24745         (Frame Size, Frame Interaction Parameters, Input Focus)
24746         (Raising and Lowering, Child Frames): Improve wording and indexing.
24747         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
24749 2017-04-13  Glenn Morris  <rgm@gnu.org>
24751         Small src/Makefile simplification
24753         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
24754         ($(lispsource)/term/ns-win.elc): Combine rules.
24756 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
24758         Add grid layout module to CSS property list
24760         * lisp/textmodes/css-mode.el (css-property-alist)
24761         (css-value-class-alist): Add new properties and value classes from CSS
24762         Grid Layout Module.
24764 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
24766         Describe recent frame and window changes in manuals
24768         * doc/emacs/emacs.texi (Top):
24769         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
24770         "outer border" (for the X border which can be set from within
24771         Emacs) and "external border" (for the border which is added by
24772         the window manager).
24773         * doc/lispref/display.texi (Tooltips): Clarify slightly.
24774         * doc/lispref/elisp.texi (Top): Update node and section names.
24775         * doc/lispref/frames.texi (Frames): Describe difference between
24776         top-level and child frames.
24777         (Frame Layout): Describe outer border.  Add more details about
24778         how Emacs obtains the outer size and position of a frame and
24779         about menu bar/tool bar wrapping.  Add references to new frame
24780         parameters.
24781         (Size and Position): Remove subsection.
24782         (Frame Position): New subsection excerpted from the earlier Size
24783         and Position subsection.  Clarify positioning concepts and
24784         some of their shortcomings.  Describe `move-frame-functions'.
24785         (Frame Size): New subsection excerpted from the earlier Size
24786         and Position subsection.  Describe how to track frame size
24787         changes and the new function `frame-size-changed-p'.
24788         (Position Parameters): Describe child frame positioning.  Warn
24789         about negative offsets.  Describe 'z-group' parameter.
24790         (Size Parameters): Describe 'text-pixels' specification
24791         facility and new 'min-width' and 'min-height' parameters.
24792         (Layout Parameters): Clarify description of 'tool-bar-lines' and
24793         'menu-bar-lines' parameters.
24794         (Frame Interaction Parameters): New subsubsection describing
24795         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
24796         'no-other-frame' parameters.
24797         (Management Parameters): Describe 'skip-taskbar',
24798         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
24799         'override-redirect' parameters.
24800         (Deleting Frames): Describe handling of 'delete-before'
24801         parameter and child frames for `delete-frame' and
24802         `delete-other-frames'.
24803         (Finding All Frames): Describe `frame-list-z-order' and handling
24804         of 'no-other-frame' parameter by `next-frame'.
24805         (Minibuffers and Frames): Minor clarifications.
24806         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
24807         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
24808         (Visibility of Frames): Describe mapping and how the visibility
24809         of a parent frame affects that of its child frames.
24810         (Raising and Lowering): Describe restacking of frames and
24811         z-groups.
24812         (Child Frames): New section.
24813         * doc/lispref/windows.texi (Selecting Windows): Describe
24814         additional semantics of NORECORD argument of `select-window' and
24815         how `buffer-list-update-hook' can emulate a "select window
24816         hook".
24817         (Mouse Window Auto-selection): New section.
24819 2017-04-13  Damien Cassou  <damien@cassou.me>
24821         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
24823         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
24824           pairs.
24825         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
24827 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
24829         Avoid unnecessary regeneration of the entire loaddefs.el
24831         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
24832         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
24833         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
24834         loaddefs.tmp before running 'batch-update-autoloads' on it, to
24835         avoid slow regeneration of the full contents.  (Bug#26459)
24836         Use 'move-if-change' instead of 'mv', to avoid producing a new
24837         Emacs binary when not necessary.
24839 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
24841         Handle indentation of nested ternary operators in JS
24843         * lisp/progmodes/js.el (js--looking-at-operator-p):
24844         Handle nested ternary operators.
24846 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24848         Don't call 'kill-this-buffer' outside of menus
24850         * lisp/simple.el (kill-current-buffer): New function.
24851         (completion-list-mode-map): Use it instead of kill-this-buffer.
24852         * lisp/type-break.el (type-break-mode):
24853         * lisp/term/ns-win.el (global-map):
24854         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
24855         (gdb-disassembly-mode-map, gdb-frames-mode-map)
24856         (gdb-locals-mode-map, gdb-registers-mode-map):
24857         * lisp/org/org-mhe.el (org-mhe-follow-link):
24858         * lisp/net/secrets.el (secrets-mode-map):
24859         * lisp/net/eudc.el (eudc-mode-map):
24860         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
24861         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
24863 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24865         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
24867 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
24869         New internal-border face and args for select-window and x-focus-frame
24871         Add `internal-border' face and handle it whenever clearing the
24872         internal border.  If NORECORD equals the symbol
24873         'mark-for-redisplay', `select-window' will not record the window
24874         but still mark it for redisplay.  The new argument NOACTIVATE
24875         for `x-focus-frame' tries to not activate FRAME when set.
24877         * lisp/faces.el (internal-border): New face.
24878         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
24879         `mark-for-redisplay'.
24880         * lisp/scroll-bar.el (scroll-bar-drag)
24881         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
24882         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
24883         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
24884         with `mark-for-redisplay'.
24885         * lisp/window.el (handle-select-window): When
24886         `focus-follows-mouse' is not 'auto-raise' try to not activate
24887         FRAME.
24888         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
24889         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
24890         * src/frame.h (x_focus_frame): Update extern declaration.
24891         * src/gtkutil.c (xg_clear_under_internal_border): Remove
24892         function.
24893         (xg_frame_resized, xg_frame_set_char_size): Call
24894         x_clear_under_internal_border.
24895         (xg_tool_bar_callback): Adapt x_focus_frame call.
24896         * src/gtkutil.h (xg_clear_under_internal_border): Remove
24897         declaration.
24898         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
24899         * src/w32fns.c (x_clear_under_internal_border): Fill border
24900         with internal-border background if specified.
24901         * src/w32term.h (x_clear_under_internal_border): Add extern
24902         declaration.
24903         * src/w32term.c (x_after_update_window_line): Fill border
24904         with internal-border background if specified.
24905         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
24906         (x_scroll_bar_clear, w32_read_socket): Call
24907         x_clear_under_internal_border.
24908         (x_focus_frame): New argument NOACTIVATE.
24909         * src/window.c (select_window): Mark WINDOW for redisplay when
24910         NORECORD equals 'mark-for-redisplay'.
24911         (Fselect_window): Update doc-string.
24912         (syms_of_window): Define Qmark_for_redisplay.
24913         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
24914         (redisplay_internal): Call x_clear_under_internal_border.
24915         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
24916         and `internal-border' faces.
24917         (realize_basic_faces): Realize `internal-border' face.
24918         (syms_of_xfaces): Define Qinternal_border.
24919         * src/xfns.c (x_set_internal_border_width): Remove call for
24920         xg_clear_under_internal_border.
24921         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
24922         activate frame.
24923         * src/xterm.c (x_fill_rectangle): No more static.
24924         (x_clear_under_internal_border, x_after_update_window_line):
24925         Fill border with internal-border background if specified.
24926         (xt_horizontal_action_hook): Rewrite.
24927         (handle_one_xevent): Call x_clear_under_internal_border.
24928         * src/xterm.h (x_fill_rectangle): Add extern declaration.
24930 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24932         Port recent frame changes to --enable-gcc-warnings
24934         * src/frame.c (next_frame, prev_frame):
24935         Remove now-redundant assertions.
24936         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
24938 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
24940         Scroll right and left using wheel-right and wheel-left.
24942         These changes also make use of touchpad and trackpad (Bug#26347).
24944         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
24945         scrolling using the mouse wheel.
24947         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
24948         (mwheel-tilt-scroll-p, mwheel-flip-direction)
24949         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
24950         defcustoms.
24951         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
24952         events that calls wheel-left/right.
24954         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
24956 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24958         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
24960 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
24962         Add new frame parameters and associated functions
24964         Add new frame parameters `undecorated', `override-redirect',
24965         `parent-frame', `skip-taskbar', `no-focus-on-map',
24966         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
24967         `mouse-wheel-frame', `min-width', `min-height'.  Add new
24968         functions `frame-restack' and `frame-list-z-order'.
24970         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
24971         type.
24972         * lisp/frame.el (handle-delete-frame): Handle child and
24973         `delete-before' frames.
24974         (other-frame): Stop looking for other frame after one round.
24975         (frame-list-z-order, frame-restack): New functions.
24976         (delete-other-frames): Handle child frames.
24977         * lisp/frameset.el (frameset-persistent-filter-alist)
24978         (frameset--record-relationships): Handle `delete-before',
24979         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
24980         latter from `frameset--record-minibuffer-relationships'.
24981         (frameset--restore-frame): Handle ‘parent-frame’ parameter
24982         specially.
24983         (frameset-restore): Handle `delete-before', `parent-frame' and
24984         `mouse-wheel-frame' parameters.
24985         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
24986         parameter.
24987         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
24988         (mouse-autoselect-window-select, handle-select-window): Major
24989         rewrite.  Try to not ignore errors.  Handle auto-selection of
24990         child frames and different values of `focus-follows-mouse'.
24991         * src/frame.c (frame_windows_min_size): Handle new `min-width'
24992         and `min-height' frame parameters.
24993         (make_frame): Initialize new frame structure members.
24994         (do_switch_frame): Don't reset internal_last_event_frame for
24995         descendant frames.
24996         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
24997         functions.
24998         (candidate_frame): Don't return `no-other-frame' frame.
24999         (other_frames): New function replacing other_visible_frames.
25000         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
25001         (Fmake_frame_invisible): Call other_frames.
25002         (store_frame_param): Check `delete-before' and `parent-frame'
25003         parameters for circular dependencies.
25004         (frame_parms, syms_of_frame): Add entries for and define new
25005         frame parameters.
25006         (focus_follows_mouse): New meaningful value `auto-raise'.
25007         * src/frame.h (z_group): New enumeration type.
25008         (frame): New slots parent_frame, undecorated, override_redirect,
25009         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
25010         (fset_parent_frame): New inlined function.
25011         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
25012         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
25013         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
25014         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
25015         (FRAME_Z_GROUP_BELOW): New macros.
25016         (frame_ancestor_p): Add declaration.
25017         * src/gtkutil.c (xg_create_frame_widgets): Handle
25018         `undecorated' and `override-redirect' frame parameters.
25019         (x_wm_set_size_hint): None for child frames.
25020         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
25021         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
25022         (xg_set_override_redirect): New functions.
25023         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
25024         Don't let scrollbars obscure child frames.
25025         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
25026         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
25027         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
25028         declarations.
25029         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
25030         frame parameters.
25031         (Fx_create_frame): Install `min-width' and `min-height' frame
25032         parameters.
25033         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
25034         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
25035         (x_real_positions): Handle child frames.
25036         (x_set_menu_bar_lines): Don't for child frames.
25037         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
25038         (x_set_no_focus_on_map, x_set_no_accept_focus)
25039         (x_set_z_group): New functions.
25040         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
25041         scroll bars over child frames.
25042         (w32_createwindow): Handle new frame parameters and child frames.
25043         (w32_wnd_proc): Let mouse clicks into a child frame activate
25044         the frame.  Try to handle the `no-accept-focus' parameter.  Do
25045         SetFocus when our window is brought to top or becomes the
25046         foreground window.
25047         (w32_window): Don't initialize menu bar for child frames.
25048         (Fx_create_frame): Handle new frame parameters.
25049         (x_create_tip_frame): Set explicit_parent slot.
25050         (w32_dialog_in_progress): New function.
25051         (Fx_file_dialog): Handle `z-group-above' frames.
25052         (w32_frame_list_z_order, Fw32_frame_list_z_order)
25053         (w32_frame_restack, Fw32_frame_restack): New functions.
25054         (w32_frame_parm_handlers): Add entries for new frame
25055         parameters.
25056         * src/w32font.c (Fx_select_font): Handle `z-group-above'
25057         frames during font selection dialogue.
25058         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
25059         event from F's w32 window.
25060         (w32_mouse_position): Handle child frames.
25061         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
25062         Don't draw scroll bars over child frames.
25063         (w32_read_socket): Always erase background of child frames.
25064         When generating SELECT_WINDOW_EVENTs handle new value of
25065         `focus-follows-mouse' and handle `no-accept-focus' parameter.
25066         Handle `mouse-wheel-frame' parameter.
25067         (x_calc_absolute_position, x_set_offset, x_set_window_size):
25068         Handle child frames.
25069         (x_make_frame_visible): Handle child frames specially.  Handle
25070         `no-focus-on-map' parameter.
25071         * src/w32term.h (w32_dialog_in_progress): Add external
25072         declaration.
25073         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
25074         for child frames.
25075         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
25076         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
25077         non-Motif, non-GTK case.
25078         (x_real_pos_and_offsets): Handle child frames.
25079         (x_set_undecorated, x_set_parent_frame)
25080         (x_set_no_focus_on_map, x_set_no_accept_focus)
25081         (x_set_override_redirect): New functions.
25082         (x_set_menu_bar_lines): Not for child frames.
25083         (x_window): Handle `undecorated' and `override_redirect' cases.
25084         (Fx_create_frame): Handle new frame parameters.
25085         (frame_geometry): Handle child frames and outer border.
25086         (x_frame_list_z_order, Fx_frame_list_z_order)
25087         (x_frame_restack, Fx_frame_restack): New functions.
25088         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
25089         (x_frame_parm_handlers): Add entries for new frame parameters.
25090         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
25091         frames.
25092         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
25093         for child frames.
25094         (XTmouse_position): Handle child frames.
25095         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
25096         bars obscure child frames.
25097         (handle_one_xevent): Handle child frame positions.  If necessary
25098         set `skip-taskbar' and reassign proper `z-group' when we are
25099         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
25100         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
25101         Let mouse clicks into a child frame activate the frame.
25102         (x_calc_absolute_position, x_set_offset): Handle child frames
25103         specially.
25104         (x_set_skip_taskbar, x_set_z_group): New functions.
25105         (x_make_frame_visible): Handle child frames.
25106         (ATOM_REFS_INIT): Add entries for
25107         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
25108         Xatom_net_wm_state_below.
25109         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
25110         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
25111         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
25113 2017-04-11  Glenn Morris  <rgm@gnu.org>
25115         Update a package test for hydra
25117         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
25118         Also bind package-gnupghome-dir, see eg
25119         http://hydra.nixos.org/build/51462182 .
25121 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25123         Frame movement, focus and hook related changes
25125         New hook `move-frame-functions'.  Run `focus-in-hook'
25126         after switching to frame that gets focus.  Don't run
25127         XMoveWindow for GTK.
25129         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
25130         functions.
25132         * src/frame.c (do_switch_frame): Simplify code.
25133         (Fhandle_switch_frame): Switch frame before running
25134         `handle-focus-in'.
25135         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
25136         (Vmove_frame_functions): New hook variable.
25137         * src/keyboard.c (kbd_buffer_get_event): Handle
25138         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
25139         (head_table): Add Qmove_frame entry.
25140         (syms_of_keyboard): Add Qmove_frame.
25141         (keys_of_keyboard): Define key for `move-frame'.
25142         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
25143         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
25144         * src/window.c (run_window_size_change_functions): Record size of
25145         FRAME's minibuffer window too.
25146         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
25147         (x_set_offset): For GTK call gtk_widget_move instead of
25148         XMoveWindow.
25150 2017-04-11  Werner LEMBERG  <wl@gnu.org>
25152         Avoid abort in ftfont.c due to faulty fonts
25154         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
25155         hinting, before aborting.  (Bug#25945)
25157 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
25159         Document 'line-pixel-height'
25161         * doc/lispref/display.texi (Size of Displayed Text): Document
25162         line-pixel-height.  Suggested by Tak Kunihiro
25163         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
25165 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
25167         Introduce customizable variable 'package-gnupghome-dir'
25169         * lisp/emacs-lisp/package.el (package-import-keyring)
25170         (package--check-signature-content, package-check-signature):
25171         Use new variable package-gnupghome-dir to control which GnuPG
25172         homedir to use.
25173         * doc/emacs/package.texi: Mention package-gnupghome-dir.
25174         * etc/NEWS: Mention package-gnupghome-dir.
25176 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25178         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
25180         This activates a change that was installed a few weeks ago but whose
25181         ChangeLog was inadvertently dropped during its commit.  The proper
25182         ChangeLog is included below as part of the present commit.
25184         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
25185         is set avoid calling x_gtk_parse_geometry (Bug#25851).
25186         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
25187         PPosition, USPosition and USSize flags if requested.
25188         * src/xterm.c (x_set_offset): With GTK when
25189         x_gtk_use_window_move is set, leave it entirely to
25190         gtk_window_move to position the window and skip any
25191         post-adjustments (Bug#25851 and Bug#25943).
25192         (x_gtk_use_window_move): New variable.
25194 2017-04-10  Alan Mackenzie  <acm@muc.de>
25196         Fix a loop in C Mode caused by inadequate analysis of comments.
25198         After M-;, and the insertion of the opening "/*", the CC Mode after-change
25199         function got confused, since the new comment opener matched the end of a
25200         subsequent comment, but moving back over that comment did not come back to the
25201         starting point.  Fix this.
25203         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
25204         point is left if no end-of-macro is found before it.
25205         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
25206         non-nil except where we have an unclosed block comment at the end of a macro.
25207         This enables us to populate the cache more fully, at the cost of some run
25208         time.
25210 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
25212         Add PVSIZE function to return the size of a pseudovector.
25214         * src/lisp.h (PVSIZE): New function.
25216         * src/chartab.c (copy_char_table):
25217         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
25218         * src/doc.c (Fdocumentation, store_function_docstring):
25219         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
25220         * src/fns.c (Flength, Fcopy_sequence):
25221         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
25222         * src/lread.c (substitute_object_recurse):
25223         * src/print.c (print_object):
25224           Use it.
25226 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
25228         Add Tramp tests
25230         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
25232         * test/lisp/net/tramp-tests.el
25233         (tramp-test01-file-name-syntax-simplified)
25234         (tramp-test01-file-name-syntax-separate)
25235         (tramp-test02-file-name-dissect-simplified)
25236         (tramp-test02-file-name-dissect-separate): New tests.
25238 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
25240         Make sure that `shell' makes BUFFER current
25242         * lisp/shell.el (shell): Restrict scope of recently added
25243         `with-current-buffer' to make sure that BUFFER is current when
25244         `shell' returns.
25246 2017-04-10  Jim Blandy  <jimb@red-bean.com>
25248         Default to PCRE syntax when reading .hgignore
25250         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
25251         Default to the PCRE syntax (bug#26249).
25253 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
25255         Document Tramp changes
25257         * doc/misc/tramp.texi (Change file name syntax): New node.
25259         * etc/NEWS: Mention `tramp-change-syntax'.
25261         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
25262         External packages uses it.
25263         (tramp-syntax): Set also `tramp-file-name-regexp'.
25265 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25267         Merge from gnulib (Bug#26398)
25269         This incorporates:
25270         2017-04-08 getopt: prefer - to _ in new file names
25271         2017-04-08 getopt: port recent getopt changes to macOS
25272         * .gitignore: Add lib/getopt-cdefs.h.
25273         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25274         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25275         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25276         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25277         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25278         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
25279         Copy from Gnulib.
25280         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25282 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
25284         Write updated loaddefs to a temporary file and rename into place.
25286         In a parallel build, byte compilation can be running at the same times
25287         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
25288         loaddefs.el is read at startup and must always be in a usable state.
25290         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
25291         loaddefs.el.new and then rename it to loaddefs.el.
25293 2017-04-09  Glenn Morris  <rgm@gnu.org>
25295         In the manual, mention pops and imaps
25297         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
25298         Mention pops and imaps protocols.
25300 2017-04-09  Glenn Morris  <rgm@gnu.org>
25302         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
25304 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
25306         Fix rmail handling of movemail protocols (bug#18278)
25308         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
25309         (rmail-parse-url): Return protocol in second list element.
25310         Only use passwords with remote mailboxes.
25311         (rmail-insert-inbox-text): Handle non-simple local
25312         mailboxes (maildir, MH, etc.).
25314 2017-04-09  Glenn Morris  <rgm@gnu.org>
25316         Fix typos in manual re movemail local mailboxes
25318         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
25319         Fix examples of local mailbox urls.
25321 2017-04-08  Glenn Morris  <rgm@gnu.org>
25323         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
25325 2017-04-08  Glenn Morris  <rgm@gnu.org>
25327         Remove references to OS/2 in code, doc, and comments
25329         * lisp/gnus/nnheader.el (nnheader-read-timeout)
25330         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
25331         * lisp/emulation/viper-util.el (viper-color-defined-p):
25332         * lisp/net/pop3.el (pop3-read-timeout):
25333         * lisp/net/imap.el (imap-read-timeout):
25334         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
25335         * lisp/emulation/viper-ex.el (viper-glob-function):
25336         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
25337         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
25338         * doc/emacs/msdos-xtra.texi (MS-DOS):
25339         * doc/misc/gnus.texi (Various Various):
25340         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
25342 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
25344         Tune Tramp syntax
25346         * lisp/net/tramp-cmds.el (tramp-change-syntax):
25347         Use `tramp-syntax-values'.
25349         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
25351         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
25352         (tramp-syntax-values): New defun.
25353         (tramp-prefix-format, tramp-method-regexp)
25354         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
25355         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
25356         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
25357         and changed values.
25358         (tramp-completion-file-name-regexp-default): Rename from
25359         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
25360         (tramp-completion-file-name-regexp-simplified): Rename from
25361         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
25362         (tramp-initial-completion-file-name-regexp):
25363         Use `tramp-completion-file-name-regexp-default'.
25364         (tramp-run-real-handler): Do not autoload any longer.
25366 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25368         Replace more nested ifs with cond
25370         This is a continuation of d526047 "Replace more nested ifs with cond".
25371         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
25372         when and cond where appropriate.
25374 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25376         Adjust the edebug spec of if-let*
25378         This was fixed in Bug#24748, but now looking more closely, using gate in
25379         the spec seems correct.  See (info "(elisp) Backtracking").
25380         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
25382 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25384         Replace some uses of cl-member-if with apply
25386         From the mhtml-mode series.  Some of the uses of cl-lib are not
25387         necessary.
25388         * lisp/align.el: Don't require cl-lib.
25389         (align-region): Use apply instead of cl-member-if.
25390         * lisp/emulation/viper.el: Don't require cl-lib.
25391         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
25392         cl-member-if.
25394 2017-04-08  Philipp Stephani  <phst@google.com>
25396         Validate SPEC of `dolist', cf. Bug#25477.
25398         * lisp/subr.el (dolist): Test type and length of SPEC.
25399         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
25400         Add unit test.
25402 2017-04-08  Philipp Stephani  <phst@google.com>
25404         Add unit test for Bug#26378
25406         * test/lisp/vc/ediff-diff-tests.el
25407         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
25409 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
25411         Fix circular read syntax for records.
25413         * src/lread.c (substitute_object_recurse): Work with records.
25415         * test/src/lread-tests.el (lread-record-1): New test.
25417 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25419         Deprecate copy-record in favor of copy-sequence
25421         Since copy-sequence seems to be needed anyway for records, have it
25422         work on records, and remove copy-record as being superfluous.
25423         * doc/lispref/records.texi (Records, Record Functions):
25424         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
25425         * lisp/emacs-lisp/eieio.el (make-instance, clone):
25426         * test/src/alloc-tests.el (record-3):
25427         Use copy-sequence, not copy-record, to copy records.
25428         * doc/lispref/sequences.texi (Sequence Functions)
25429         (Array Functions): Document that aref and copy-sequence
25430         work on records.
25431         * etc/NEWS: Omit copy-record.
25432         * src/alloc.c (Fcopy_record): Remove.
25433         * src/data.c (Faref): Document that arg can be a record.
25434         * src/fns.c (Fcopy_sequence): Copy records, too.
25436 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25438         Fix dependency checking in src/Makefile.in
25440         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
25441         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
25442         Otherwise, some dependencies will be missed.
25444 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25446         Minor tuneup of write-region change
25448         * src/fileio.c (write_region): Use SCHARS, not Flength,
25449         on a value known to be a string.
25451 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25453         Adjust write-region so file name is at the beginning again
25455         * lisp/epa-file.el (epa-file-write-region):
25456         * lisp/gnus/mm-util.el (mm-append-to-file):
25457         * lisp/jka-compr.el (jka-compr-write-region):
25458         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25459         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25460         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25461         * src/fileio.c (write_region): Put file name at the beginning and move
25462         number of characters to the end of the message.
25464 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
25466         Check that file argument is a string
25468         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
25469           passed to `file-local-copy' is a string (Bug#26378).  Also fix
25470           the existing comment for this function, and convert it to its
25471           doc-string.
25473 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25475         Fix handling of non-integer START param to write-region
25477         The previous patch for Bug#354 incorrectly assumed that START would
25478         always be an integer.
25480         * lisp/epa-file.el (epa-file-write-region):
25481         * lisp/jka-compr.el (jka-compr-write-region):
25482         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25483         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25484         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25485         * src/fileio.c (write_region): Handle nil and string values of START.
25487 2017-04-07  Glenn Morris  <rgm@gnu.org>
25489         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
25491 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
25493         Add Tramp versions to `customize-package-emacs-version-alist'
25495         * lisp/net/trampver.el (customize-package-emacs-version-alist):
25496         Add Tramp versions to `customize-package-emacs-version-alist'.
25498 2017-04-07  Tom Tromey  <tom@tromey.com>
25500         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
25502 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
25504         * doc/lispref/records.texi (Record Functions): fix typo.
25506 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25508         More casefiddle minor fixes
25510         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
25511         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
25512         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
25514 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
25516         Output number of characters added to file (Bug#354)
25518         * src/fileio.c (write_region):
25519         * lisp/epa-file.el (epa-file-write-region):
25520         * lisp/jka-compr.el (jka-compr-write-region):
25521         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25522         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25523         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25524         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
25525         characters written in addition to file name.
25526         * doc/lispref/files.texi: Added documentation to write-region and
25527         append-to-file describing their output.
25529 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
25531         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
25533         The recent changes to src/casefiddle.c cause build failure as seen
25534         below:
25536             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
25537                 --batch --load loadup bootstrap
25538             [Thread debugging using libthread_db enabled]
25539             Using host libthread_db library "/usr/lib/libthread_db.so.1".
25540             Loading loadup.el (source)...
25541             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
25542                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
25543                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
25544                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
25545                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
25546                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
25547             Loading emacs-lisp/byte-run (source)...
25548             Loading emacs-lisp/backquote (source)...
25549             Loading subr (source)...
25550             Loading version (source)...
25551             Loading widget (source)...
25552             Loading custom (source)...
25553             Loading emacs-lisp/map-ynp (source)...
25554             Loading international/mule (source)...
25555             Loading international/mule-conf (source)...
25557             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
25559             Breakpoint 1, terminate_due_to_signal at emacs.c:363
25560             363   signal (sig, SIG_DFL);
25561             (gdb) bt
25562             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
25563             #1  0x000000000060ec33 in die at alloc.c:7352
25564             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
25565             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
25566             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
25567             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
25568             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
25569             #7  0x00000000006325ac in eval_sub at eval.c:2219
25570             #8  0x0000000000632368 in eval_sub at eval.c:2184
25571             #9  0x000000000063446c in apply_lambda at eval.c:2875
25572             #10 0x00000000006329af in eval_sub at eval.c:2294
25573             #11 0x000000000062d462 in Fprogn at eval.c:449
25574             #12 0x000000000062d4cf in prog_ignore at eval.c:461
25575             #13 0x000000000062f19c in Fwhile at eval.c:982
25576             #14 0x00000000006321f4 in eval_sub at eval.c:2172
25577             #15 0x000000000062d462 in Fprogn at eval.c:449
25578             #16 0x000000000062f0c4 in Flet at eval.c:963
25579             #17 0x00000000006321f4 in eval_sub at eval.c:2172
25580             #18 0x0000000000632963 in eval_sub at eval.c:2290
25581             #19 0x000000000062d462 in Fprogn at eval.c:449
25582             #20 0x000000000062f0c4 in Flet at eval.c:963
25583             #21 0x00000000006321f4 in eval_sub at eval.c:2172
25584             #22 0x0000000000668caa in readevalloop at lread.c:1927
25585             #23 0x0000000000667253 in Fload at lread.c:1332
25586             #24 0x0000000000632683 in eval_sub at eval.c:2233
25587             #25 0x0000000000668caa in readevalloop at lread.c:1927
25588             #26 0x0000000000667253 in Fload at lread.c:1332
25589             #27 0x0000000000632683 in eval_sub at eval.c:2233
25590             #28 0x0000000000631be5 in Feval at eval.c:2041
25591             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
25592             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
25593             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
25594             #32 0x000000000062f51e in internal_catch at eval.c:1091
25595             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
25596             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
25597             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
25598             #36 0x000000000057b55b in main at emacs.c:1687
25600             Lisp Backtrace:
25601             "capitalize" (0xffffcf70)
25602             "format" (0xffffd130)
25603             "define-charset" (0xffffd370)
25604             "while" (0xffffd560)
25605             "let" (0xffffd7c0)
25606             "dolist" (0xffffd910)
25607             "let" (0xffffdb70)
25608             "load" (0xffffdfe0)
25609             "load" (0xffffe4a0)
25611         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
25612         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
25613         Qspecial_titlecase.
25614         (prepare_casing_context): Use aforementioned symbols.
25616 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25618         Merge from gnulib
25620         This merges some getopt fixes from Zack Weinberg, and affects only
25621         non-GNUish platforms.  It incorporates:
25622         2017-04-06 getopt-gnu: omit some duplicate code
25623         2017-04-06 getopt-posix: use angle-bracket include
25624         2017-04-06 getopt: annotate files with relationship to glibc
25625         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
25626         2017-04-06 getopt: better handling of ambiguous options
25627         2017-04-06 getopt: refactor long-option handling
25628         2017-04-06 getopt: tidy up _getopt_initialize a bit
25629         2017-04-06 getopt: merge from glibc: repetition reduction
25630         2017-04-06 getopt: clean up error reporting
25631         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
25632         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
25633         2017-04-06 getopt: harmonize comments with glibc
25634         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
25635         2017-04-06 getopt: tabify, in preparation for merge with glibc
25636         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
25637         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
25638         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
25639         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
25640         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
25641         Copy from gnulib.
25642         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
25643         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
25644         New files, taken from gnulib.
25645         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
25646         Regenerate.
25648 2017-04-07  Hong Xu  <hong@topbug.net>
25650         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
25651         doc (Bug#25193).
25653 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
25655         Mention that processes start in default-directory (Bug#18515)
25657         * doc/lispref/processes.texi (Synchronous Processes):
25658         (Asynchronous Processes):
25659         * lisp/subr.el (start-process):
25660         * src/callproc.c (call-process): Mention that the subprocess starts in
25661         `default-directory' when local, suggest `start-file-process' and
25662         `process-file' otherwise.
25664 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
25666         * src/xdisp.c (vmessage, message): Clarify commentary.
25668 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25670         Minor casefiddle.c cleanups
25672         * src/casefiddle.c: Redo recent changes to match GNU style,
25673         and prefer C99-style decls within blocks.
25674         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
25675         we are merely using the Unicode name, and make it a constant
25676         rather than a macro.  All uses changed.
25677         (SMALL_SIGMA): Remove; unused.
25678         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
25679         and make it a constant rather than a macro.  All uses changed.
25680         (do_casify_multibyte_string): Use ‘verify’ rather than an
25681         unportable static_assertion local.
25683 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25685         * lisp/international/README: Update to match current list.
25687 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25689         Fix 'make clean' in lib subdirectory
25691         * lib/Makefile.in (clean): Remove *-t files.
25692         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
25693         This removes files like lib/getopt.h that should be removed
25694         even if this configuration did not need to build them.
25695         (maintainer-clean): Remove TAGS here, not in distclean,
25696         to be consistent with ../src/Makefile.in.
25698 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
25700         Add new Tramp syntax
25702         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
25704         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
25705         Add :set function.
25706         (tramp-prefix-port-format): Simplify.
25707         (tramp-file-name-regexp-separate): Remove.
25708         (tramp-initial-file-name-regexp)
25709         (tramp-completion-file-name-regexp-old-style)
25710         (tramp-initial-completion-file-name-regexp): New defconst.
25711         (tramp-prefix-format, tramp-prefix-regexp)
25712         (tramp-method-regexp, tramp-postfix-method-format)
25713         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
25714         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
25715         (tramp-postfix-ipv6-regexp)
25716         (tramp-postfix-host-format, tramp-postfix-host-regexp)
25717         (tramp-remote-file-name-spec-regexp)
25718         (tramp-file-name-structure, tramp-file-name-regexp)
25719         (tramp-completion-file-name-regexp)
25720         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
25721         (tramp-tramp-file-p, tramp-find-method)
25722         (tramp-dissect-file-name, tramp-make-tramp-file-name)
25723         (tramp-completion-make-tramp-file-name)
25724         (tramp-rfn-eshadow-update-overlay)
25725         (tramp-register-autoload-file-name-handlers)
25726         (tramp-register-file-name-handlers)
25727         (tramp-unload-file-name-handlers)
25728         (tramp-completion-handle-file-name-all-completions)
25729         (tramp-completion-dissect-file-name, tramp-clear-passwd):
25730         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
25731         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
25732         (tramp-compute-multi-hops): Use them.
25734 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25736         Implement special sigma casing rule  (bug#24603)
25738         In Greek, a sigma character has two lower case forms which depend on
25739         their position in the word.  Implement logic determining it.
25741         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
25742         assume inword is true when flag is CASE_UP and false when flag is
25743         CASE_DOWN.  For final sigma detection we need this information tracked
25744         reliably;.
25745         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
25746         Unicode code point of different forms of sigma letter.
25747         (case_character): Implement support for final sigma casing.
25748         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
25749         changes to case_character.
25751         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
25752         cases for final sigma.
25754 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25756         Support casing characters which map into multiple code points  (bug#24603)
25758         Implement unconditional special casing rules defined in Unicode standard.
25760         Among other things, they deal with cases when a single code point is
25761         replaced by multiple ones because single character does not exist (e.g.
25762         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
25763         into SS).
25765         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
25766         standard distribution.
25767         * admin/unidata/README: Mention SpecialCasing.txt.
25769         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
25770         unidata-gen-table-special-casing--do-load): New functions generating
25771         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
25772         character Unicode properties built from the SpecialCasing.txt Unicode
25773         data file.
25775         * src/casefiddle.c (struct casing_str_buf): New structure for
25776         representing short strings used to handle one-to-many character
25777         mappings.
25779         (case_character_imlp): New function which can handle one-to-many
25780         character mappings.
25781         (case_character, case_single_character): Wrappers for the above
25782         functions.  The former may map one character to multiple (or no)
25783         code points while the latter does what the former used to do (i.e.
25784         handles one-to-one mappings only).
25786         (do_casify_natnum, do_casify_unibyte_string,
25787         do_casify_unibyte_region): Use case_single_character.
25788         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
25789         features of case_character.
25790         * (do_casify_region): Updated to reflact do_casify_multibyte_string
25791         changes.
25793         (casify_word): Handle situation when one character-length of a word
25794         can change affecting where end of the word is.
25796         (upcase, capitalize, upcase-initials): Update documentation to mention
25797         limitations when working on characters.
25799         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
25800         Add test cases for the newly introduced character properties.
25801         (casefiddle-tests-casing): Update test cases which are now passing.
25803         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
25804         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
25805         and ‘downcase’.
25806         (char-fold--test-match-exactly): Use the new functions.  This is needed
25807         because otherwise fi and similar characters are turned into their multi-
25808         -character representation.
25810         * doc/lispref/strings.texi: Describe issue with casing characters versus
25811         strings.
25812         * doc/lispref/nonascii.texi: Describe the new character properties.
25814 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25816         Split up casify_region function  (bug#24603)
25818         No functional changes at this time but splitting casify_region into
25819         a function dealing with multibyte and another dealing with unibyte
25820         buffers will make future code changes slightly easier.
25822         * src/casefiddle.c (casify_region): Move most of the code into two
25823         new functions:
25824         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
25826 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25828         Add support for title-casing letters  (bug#24603)
25830         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
25831         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
25832         property table if capitalization has been requested.
25833         (case_character): Make use of the titlecase_char_table to title-case
25834         initial characters when capitalising.
25836         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
25837         casefiddle-tests-casing): Update test cases which are now passing.
25839 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25841         Introduce case_character function
25843         Move single-character casing logic into a separate function so that
25844         it is collected in a single place.  This will make future changes to
25845         the logic easier.  This commit introduces no functionality changes.
25847         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
25848         structure for saving casing context and function to initialize it.
25849         (case_character): New function which cases character base on provided
25850         context.
25851         (do_casify_integer, do_casify_multibyte_string,
25852         do_casify_unibyte_string, casify_object, casify_region): Convert to
25853         use casing_context and case_character.
25855 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25857         Split casify_object into multiple functions
25859         casify_object had three major cases to cover and those were mostly
25860         independent of each other.  Move those branches to separate function
25861         so it’s easier to comprehend each individual case.
25863         While at it, use somewhat more descriptive ch and cased variable names
25864         rather than c and c1.
25866         This commit introduces no functional changes.
25868         * src/casefiddle.c (casify_object): Split into…
25869         (do_casify_integer, do_casify_multibyte_string,
25870         do_casify_unibyte_string): …new functions.
25872 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
25874         Update documentation for type semantics of records.
25876         * doc/lispref/objects.texi (Record Type): improve description of what
25877         `type-of' returns for records.
25878         (Type Descriptors): new section.
25879         * doc/lispref/elisp.texi: reference it.
25880         * doc/lispref/records.texi (Records): reference it.  Document
25881         behavior when type slot is a record.
25883         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
25885 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25887         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
25889 2017-04-06  Tom Tromey  <tom@tromey.com>
25891         require cl-lib to fix fallout from mhtml series
25893         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
25894         lisp/emulation/viper.el: Require cl-lib.
25896 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25898         In CANNOT_DUMP builds, allow editing of files named "dump".
25900         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
25901         calling dump-emacs only if dump-emacs is defined; otherwise, don't
25902         treat those command-line argument specially.
25904 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25906         In CANNOT_DUMP builds, don't prepare for unexec.
25908         Having a command-line argument of "dump" or "bootstrap" would trigger
25909         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
25910         we should get signal handlers installed regardless of whatever funny
25911         file names we decide to edit.
25913         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
25914         alterations to initialization that prepares the process for unexec.
25916 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25918         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
25920         During a bootstrap, loading rmail.el invokes movemail to determine its
25921         flavor, but call-process doesn't work if exec-path is nil.
25923         * lisp/loadup.el: Only clear exec-path if dumping.
25925 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25927         Fix CANNOT_DUMP build on Darwin/macOS.
25929         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
25930         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
25931         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
25933 2017-04-05  Tom Tromey  <tom@tromey.com>
25935         add two more mhtml tests
25937         * test/manual/indent/html-multi-2.html: New file.
25938         * test/manual/indent/html-multi-3.html: New file.
25940 2017-04-05  Tom Tromey  <tom@tromey.com>
25942         enable mhtml-mode by default
25944         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
25945         html-mode.
25946         (magic-fallback-mode-alist): Likewise.
25947         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
25949 2017-04-05  Tom Tromey  <tom@tromey.com>
25951         add mhtml-mode.el
25953         * etc/NEWS: Update.
25954         * lisp/textmodes/mhtml-mode.el: New file.
25955         * test/manual/indent/html-multi.html: New file.
25956         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
25957         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
25959 2017-04-05  Tom Tromey  <tom@tromey.com>
25961         change sgml-mode to help multi-html mode
25963         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
25964         defconst.
25965         (sgml-syntax-propertize): Use it.
25966         (sgml--find-<>-backward): New function.
25967         (sgml-parse-tag-backward): Use it.
25969 2017-04-05  Tom Tromey  <tom@tromey.com>
25971         make js.el respect prog-first-column
25973         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
25975 2017-04-05  Tom Tromey  <tom@tromey.com>
25977         make smie.el respect prog-first-column
25979         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
25981 2017-04-05  Tom Tromey  <tom@tromey.com>
25983         change viper to use derived-mode-p
25985         * lisp/subr.el (provided-mode-derived-p): New function.
25986         (derived-mode-p): Use it.
25987         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
25988         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
25989         (set-viper-state-in-major-mode): Use derived-mode-p.
25991 2017-04-05  Tom Tromey  <tom@tromey.com>
25993         change align to use derived-mode-p
25995         * lisp/align.el (align-region): Use derived-mode-p.
25997 2017-04-05  Tom Tromey  <tom@tromey.com>
25999         change org to use derived-mode-p
26001         * lisp/org/org-list.el (org-list-insert-radio-list): Use
26002         derived-mode-p.
26003         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
26004         derived-mode-p.
26006 2017-04-05  Tom Tromey  <tom@tromey.com>
26008         change semantic to use derived-mode-p
26010         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
26012 2017-04-05  Tom Tromey  <tom@tromey.com>
26014         change calc to use derived-mode-p
26016         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
26017         (calc-embedded-make-info): Use derived-mode-p.
26019 2017-04-05  Tom Tromey  <tom@tromey.com>
26021         change auto-insert to use derived-mode-p
26023         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
26025 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
26027         * lisp/info.el (Info-search): Fix typo in April 1 change.
26029 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
26031         Minor cleanups related to type-of
26033         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
26034         * src/data.c (syms_of_data):
26035         * src/frame.c (syms_of_frame): Put all the primitive type names
26036         together, under the "Types that type-of returns" comment.
26038 2017-04-05  Glenn Morris  <rgm@gnu.org>
26040         * doc/lispref/package.texi (Package Archives): Mention https.
26042 2017-04-05  Glenn Morris  <rgm@gnu.org>
26044         Advertise https for homepage of gnu.org packages
26046         * lisp/emacs-lisp/package.el (describe-package-1):
26047         Use https, if supported, for the homepage of packages on gnu.org.
26049 2017-04-05  Glenn Morris  <rgm@gnu.org>
26051         Default to https for elpa.gnu.org if gnutls available
26053         * lisp/emacs-lisp/package.el (package-archives):
26054         Default to https for elpa.gnu.org if gnutls is available.  Ref:
26055         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
26057 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
26059         Minor simplifications and doc for records
26061         * doc/lispref/records.texi (Records): Mention size limit.
26062         * etc/NEWS: Mention records.
26063         * src/alloc.c (allocate_pseudovector, allocate_record):
26064         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
26065         (allocate_record): Check arg range here, not in callers, as this
26066         simplifies the code.  Use allocate_vectorlike instead of
26067         allocate_vector, to avoid duplicate runtime tests.
26068         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
26069         the doc string, as it is not visible to the user.
26070         (Fmake_record, record, Fcopy_record):
26071         Prefer make_lisp_ptr to XSETVECTOR.
26072         (record): Broaden memcpy to copy the type, too.
26074 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
26076         Fix recent changes in record data type
26078         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
26079         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
26081 2017-04-04  Philipp Stephani  <phst@google.com>
26083         Make subprocess functions resolve the default directory
26085         `call-process' doesn't respect file name handlers in
26086         `default-directory', so `file-name-non-special' has to resolve them
26087         for `process-file', `start-file-process', and
26088         `shell-command' (Bug#25949).
26090         * lisp/files.el (file-name-non-special): Also resolve default
26091         directory for 'process-file', 'start-file-process', and
26092         'shell-command'.
26093         * test/lisp/files-tests.el
26094         (files-tests--file-name-non-special--subprocess): Add unit test.
26096 2017-04-04  Philipp Stephani  <phst@google.com>
26098         Make ediff handle remote and quoted file names
26100         Quoted file names need to be unquoted before passed to
26101         subprocesses (Bug#25950).
26103         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
26104         file names.
26105         * test/lisp/vc/ediff-diff-tests.el
26106         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
26108 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26110         Backward compatibility with pre-existing struct instances.
26112         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
26113         (cl-old-struct-compat-mode): New minor mode.
26115         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
26116         cl-struct-define to signal use of record objects.
26118         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
26119         cl-struct-define): Enable legacy defstruct compatibility.
26121         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
26122         old-struct): New tests.
26124         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
26125         `old-struct-compat'.
26127 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26129         Make the URL library use records.
26131         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
26132         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
26133         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
26135         * lisp/url/url-http.el (url-http): Check for type `url' instead of
26136         `vector'.
26138 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26140         Make EIEIO use records.
26142         * lisp/emacs-lisp/eieio-compat.el
26143         (eieio--generic-static-object-generalizer): Adjust to new tags.
26145         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
26146         directly as tag.
26147         (eieio--object-class): Adjust to new tag representation.
26148         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
26149         (eieio-defclass-internal): Use `make-record'.
26150         (eieio--generic-generalizer): Adjust generalizer code accordingly.
26152         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
26154         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
26155         Add `recordp'.
26157         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
26159 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26161         Make cl-defstruct use records.
26163         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
26164         (cl--describe-class-slots): Use the new `type-of'.
26166         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
26167         (cl--generic-struct-specializers): Adjust to new tag.
26169         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
26170         Use the type symbol as the tag.  Use copy-record to copy structs.
26171         (cl--defstruct-predicate): New function.
26172         (cl--pcase-mutually-exclusive-p): Use it.
26173         (cl-struct-sequence-type): Can now return `record'.
26175         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
26176         code to new format.
26177         (cl--struct-register-child): Work with records.
26178         (cl-struct-define): Don't touch the tag's symbol-value and
26179         symbol-function slots when we use the type as tag.
26181         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
26183         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
26184         New test.
26186         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
26188 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26190         Add record objects with user-defined types.
26192         * src/alloc.c (allocate_record): New function.
26193         (Fmake_record, Frecord, Fcopy_record): New functions.
26194         (syms_of_alloc): defsubr them.
26195         (purecopy): Work with records.
26197         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
26198         name if record's type holds class.
26199         (Frecordp): New function.
26200         (syms_of_data): defsubr it.  Define `Qrecordp'.
26201         (Faref, Faset): Work with records.
26203         * src/fns.c (Flength): Work with records.
26205         * src/lisp.h (prec_type): Add PVEC_RECORD.
26206         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
26208         * src/lread.c (read1): Add syntax for records.
26210         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
26211         (print_object): Add syntax for records.
26213         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
26214         New test.
26216         * test/src/alloc-tests.el (record-1, record-2, record-3):
26217         New tests.
26219         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
26220         doc/lispref/records.texi: Add documentation for records.
26222 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
26224         Fix a test in python-test.el
26226         Fix a test that breaks the test suite when it is run within a
26227         virtual environment.
26228         See following link for details:
26229         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
26230         * test/lisp/progmodes/python-tests.el
26231         (python-shell-calculate-process-environment-7): Bind
26232         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
26233         bind it to '/env'.
26235 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
26237         Throw a `search-failed' derived error in Info search
26239         The original fix for Bug#6106 switched from signaling `search-failed'
26240         to `user-error'.  However, this breaks incremental searching over
26241         multiple nodes because the isearch code doesn't expect a `user-error'.
26243         * src/search.c (syms_of_search): New error, `user-search-failed',
26244         with `user-error' and `search-failed' as parents.
26245         * doc/lispref/errors.texi (Standard Errors): Document it.
26246         * etc/NEWS: Announce it.
26247         * lisp/info.el (Info-search): Use it instead of `user-error' so that
26248         isearch will handle failed searches correctly.
26250 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
26252         Add Tramp test
26254         * doc/misc/tramp.texi (Remote processes): Fix typo.
26256         * lisp/shell.el (shell): Fix typo.
26258         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
26260         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
26261         New test.
26262         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
26263         (tramp-test31-vc-registered)
26264         (tramp-test32-make-auto-save-file-name)
26265         (tramp-test33-make-nearby-temp-file)
26266         (tramp-test34-special-characters)
26267         (tramp-test34-special-characters-with-stat)
26268         (tramp-test34-special-characters-with-perl)
26269         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
26270         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
26271         (tramp-test35-utf8-with-ls)
26272         (tramp-test36-asynchronous-requests)
26273         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
26275 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
26277         * lisp/ses.el: Silence byte-compiler warnings.
26279         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
26280         byte-compiler warnings.
26282 2017-04-02  Glenn Morris  <rgm@gnu.org>
26284         Belated fixes for admin.el's M-x make-manuals-dist
26286         * admin/admin.el (make-manuals-dist-output-variables): Additions.
26287         (make-manuals-dist--1): Also copy docstyle.texi.
26289 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
26291         Fix bugs in simplified test dependencies
26293         Problem reported by Glenn Morris in:
26294         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
26295         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
26296         (TESTS): Omit unnecessary patsubst.
26297         (test_template): Redo dependency heuristic, hopefully
26298         correctly this time.  It's the .log file that depends,
26299         not the phony test target.  Declare the phonies to be PHONY.
26300         Resurrect the exception for the *-tests subdirectory.
26301         Adjust to the fact that leading "./" is omitted now.
26303 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
26305         Fix typo in docstring
26307         * lisp/help.el: Fix typo.
26309 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
26311         Apply connecion-local variables for shells
26313         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
26314         variables.  Don't mention Emacs 23 anymore.
26315         (Frequently Asked Questions): Precise Emacs and MS Windows version.
26317         * lisp/files-x.el (connection-local-normalize-criteria):
26318         Suppress nil properties.
26319         (connection-local-set-profiles, with-connection-local-profiles):
26320         Adapt docstring.
26322         * lisp/shell.el (shell): Apply connecion-local variables.
26324 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
26326         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
26328         This prevents variables in signatures such as `sub add ($a, $b)' from
26329         being treated as punctuation.
26330         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
26331         Strictly match only prototype characters as punctuation.  (Bug#26037)
26333 2017-04-01  Tom Tromey  <tom@tromey.com>
26335         fix two js-mode syntax propertization bugs
26337         Bug#26070:
26338         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
26339         zero-or-one to regular expression.
26340         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
26341         literal up to END.
26342         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
26343         (js-mode-propertize-bug-2): New tests.
26345 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
26347         Simplify test dependency generation
26349         Generate default dependencies by using GNU extensions to ‘make’
26350         rather than via a hacky auxiliary program and script.
26351         * .gitignore: Remove test/make-test-deps.mk.
26352         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
26353         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
26354         (test_template): Infer dependency directly instead of via
26355         make-test-deps.mk.
26356         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
26357         (clean): No need to clean make-test-deps.mk.
26358         (make-test-deps.mk): Remove rule.
26359         * test/make-test-deps.emacs-lisp: Remove.
26361 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
26363         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
26365         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
26366         test suite.
26367         (cl-lib-symbol-macrolet-2): New test.
26369 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26371         Use only posix options in a ediff-ptch test
26373         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26374         Use just "-b" patch option.  Don't assume a particular suffix for
26375         the backup files.
26377 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
26379         Initial implementation of HTTP Digest qop for url
26381         This also refactors digest authentication functions in url-auth.el.
26383         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
26384         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
26385         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
26386         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
26387         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
26388         to simplify code and aid in unit testing.
26389         (url-digest-auth-build-response): Hook up new functionality, or fall
26390         back to previous.
26391         (url-digest-auth-make-request-digest-qop):
26392         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
26393         (url-digest-auth-name-value-string): Add new helper functions.
26394         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
26395         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
26396         (url-auth-test-digest-request-digest): Add a few tests as now more
26397         features are testable via intermediate functions.
26398         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
26399         the new implementation.  Parts of these were accidentally already
26400         merged in the past.
26402 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26404         Tweak ediff-ptch test in previous commit a bit more
26406         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26407         Apply patches without requiring a shell.  Add some comments.
26409 2017-03-31  Glenn Morris  <rgm@gnu.org>
26411         Tweak an ediff-ptch test
26413         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26414         Add skip conditions.  Avoid going through shell where not needed.
26416 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
26418         * lisp/net/tramp-smb.el (tramp-smb-errors):
26420         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
26422 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
26424         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
26426 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26428         dired-mark-suffix: New command
26430         Now dired-mark-extension prepends '.' to extension when not present.
26431         Add command dired-mark-suffix to preserve the previous
26432         behavior (Bug#25942).
26433         * lisp/dired-x.el (dired-mark-suffix): New command;
26434         mark files ending in a given suffix.
26435         (dired--mark-suffix-interactive-spec): New defun.
26436         (dired-mark-extension, dired-mark-suffix): Use it.
26437         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
26438         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
26440 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26442         default-directory: Remark that it must be a directory name
26444         * src/buffer.c (default-directory): Update docstring (Bug#26272).
26446 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26448         Delete confuse statement in manual
26450         * doc/misc/cl.texi (For Clauses): Delete confuse statement
26451         and its example (Bug#23550).
26453 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
26455         Use find -delete if available
26457         This shortens the ‘make’ output and should avoid some
26458         repetitive scanning of directories during a build.
26459         * configure.ac (FIND_DELETE): New var.
26460         * lisp/Makefile.in (compile-always, bootstrap-clean):
26461         * test/Makefile.in (clean, bootstrap-clean): Use it.
26462         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
26464 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
26466         Remove gnus-boundp
26468         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
26469         bound-and-true-p.
26470         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
26472 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
26474         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
26476         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
26477         end of line after deleting horizontal whitespace.
26479 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
26481         * src/inotify.c (add_watch): Add comment.
26483 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
26485         Minor filenotify.el fixes
26487         * lisp/filenotify.el: Require subr-x.
26488         (file-notify-callback): Use equal, not eq.
26490 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
26492         Improve packaging documentation
26494         * doc/lispref/package.texi (Packaging Basics):
26495         * doc/lispref/tips.texi (Library Headers): Clarify some header
26496         formats, relation between file headers and package
26497         attributes (Bug#13281).
26499 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
26501         Fix a small incompatibility in ibuffer
26503         Translate nil values from column functions to the empty string, so that
26504         subsequent calls to string-width don't signal an error (Bug#26317).
26505         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
26506         nil, treat it like the empty string.
26508 2017-03-30  Alan Mackenzie  <acm@muc.de>
26510         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
26512         Also implement the "asymmetric space" rule for fontifying otherwise
26513         ambiguous
26514         declarations/expressions.
26516         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
26517         c-new-BEG or c-new-END when there is no need.
26518         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
26519         space" rule.
26521         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
26522         extracted from c-font-lock-declarations.  Add to this function processing to
26523         make `context' 'decl for lines contained within parens when these are also
26524         declarations.
26525         (c-font-lock-declarations): Call the newly extracted function above in place
26526         of inline code.
26528         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
26529         c-literal-start.
26531         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
26533         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
26534         "asymmetric fontification" rule, including the variable
26535         c-asymmetric-fontification-flag.
26537 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26539         Some inotify cleanup
26541         This catches some problems with integer overflow and races
26542         that I noticed in inotify.c after reviewing the changes
26543         installed to fix Bug#26126.
26544         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
26545         * src/inotify.c (aspect_to_inotifymask):
26546         Check for cycles and for improper lists.
26547         (make_lispy_mask, lispy_mask_match_p): Remove.
26548         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
26549         (inotifyevent_to_event, add_watch):
26550         Don’t assume watch descriptors and cookies fit in fixnums.
26551         (add_watch): Use assoc_no_quit, not Fassoc.
26552         Avoid integer overflow in (very!) long-running processes where
26553         the Emacs watch ID could overflow.  Avoid some duplicate code.
26554         (find_descriptor): New function.
26555         (remove_descriptor): First arg is now the returned value from
26556         find_descriptor, rather than the descriptor.  This way, the
26557         value can be removed without calling Fdelete, which might quit.
26558         Wait until the end (when watch_list is consistent) before signaling
26559         any errors.
26560         (remove_watch, inotify_callback):
26561         Use find_descriptor to avoid the need for Fdelete.
26562         (inotify_callback): Use simpler tests for ioctl failure.
26563         Free temporary buffer if signaled, and put it on the stack if small.
26564         Use ssize_t to index through read results, to avoid a cast.
26565         (valid_watch_descriptor): New function, with a tighter check.
26566         (Finotify_rm_watch, Finotify_valid_p): Use it.
26567         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
26568         of Fassoc.  Do not assume the first assoc succeeds.
26569         * test/src/inotify-tests.el (inotify-valid-p-simple):
26570         Add inotify-valid-p tests, some of which dump core without
26571         the fixes noted above.
26573 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
26575         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
26577 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
26579         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
26581 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26583         Fix assoc_no_quit so that it does not quit
26585         The problem was that it called Fequal, which can quit.
26586         * src/fns.c (enum equal_kind):
26587         New enum, to be used in place of a boolean.
26588         (equal_no_quit): New function.
26589         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
26590         (assoc_no_quit): Use it to avoid quitting, the main point here.
26591         (internal_equal): Generalize bool to enum equal_kind arg, so that
26592         there are now 3 possibilities instead of 2.  Do not signal an
26593         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
26594         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
26595         changed.
26597 2017-03-29  Alan Mackenzie  <acm@muc.de>
26599         Amend gitmerge to recognize the injunction "don't merge".
26601         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
26602         well as "do not".
26604 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
26606         Add one more CSS pseudo-class
26608         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
26609         `focus-within'.
26611 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
26613         Update list of CSS pseudo-classes
26615         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
26616         pseudo-classes.
26618 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
26620         Adjust some search failure errors in info.el
26622         * lisp/info.el (Info-select-node): The search for beginning of node is
26623         an internal detail, and is not normally expected to fail, so it should
26624         not be a user error.
26625         (Info-complete-menu-item): Failing to find a menu indicates the user
26626         searched for a menu when there isn't one, so change to `use-error'.
26628 2017-03-28  Alan Mackenzie  <acm@muc.de>
26630         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
26632 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
26634         Don’t mishandle (format "%i" -1.0)
26636         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
26638 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
26640         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
26642 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
26644         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
26646 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
26648         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
26650         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
26651         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
26652         with (user-error "Search failed: "...).
26654 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
26656         Fix obsolete ‘test/automated’ references
26658         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
26659         (bootstrap-clean, maintainer-clean):
26660         Clean ‘test’, not ‘test/automated’.  Test for existence of
26661         subdirectory only for ‘test’, not for directories that should
26662         always exist.
26663         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
26664         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
26665         * lisp/man.el (Man-parse-man-k):
26666         * lisp/url/url-domsuf.el, make-dist:
26667         * test/file-organization.org:
26668         Fix obsolete references to test/automated.
26670 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
26672         shr-image-fetched: Work for narrowed Gnus article
26674         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
26676         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
26678 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
26680         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
26682 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
26684         Expand manual section on quitting windows
26686         * doc/lispref/windows.texi (Quitting Windows): Provide more
26687           information about the elements of the quit-restore window parameter,
26688           and how they affect the behavior of quit-restore-window.
26690 2017-03-26  Philipp Stephani  <phst@google.com>
26692         Add check for expected backtrace in module calls.
26694         * test/manual/cedet/tests/test.el
26695         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
26696         expected backtrace.
26698 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
26700         Fix redisplay glitches due to recent change in redisplay_internal
26702         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
26703         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
26704         for the problems caused by the original fix.
26706 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
26708         Fix Bug#26258
26710         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
26711         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
26712         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
26713         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
26714         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
26716         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
26717         (tramp-register-autoload-file-name-handlers)
26718         (tramp-register-file-name-handlers): Do not handle
26719         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
26720         the handlers are responsible for.
26721         (tramp-register-foreign-file-name-handler): New defun.
26723 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
26725         Fix docstring of dabbrev-abbrev-char-regexp
26727         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
26728         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
26729         previous character doesn't match, we search backwards for one that
26730         does, not throw an error.  Replace Lisp example with C based one to
26731         make it clear that "symbol" means a sequence of word and symbol
26732         constituent characters, not a Lisp symbol (Bug#358).
26734 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
26736         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
26738 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
26740         Minor fixes for inotify.c and filenotify.el
26742         * lisp/filenotify.el (file-notify--watch-absolute-filename):
26743         Add docstring.
26744         (file-notify-callback): Simplify.
26746         * src/inotify.c (Finotify_add_watch): Adapt docstring.
26748 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
26750         Fix issues regarding inotify file-notification
26752         Remove special code handling the inotify back-end.
26753         * lisp/filenotify.el (file-notify--watch): New struct
26754         representing a file-watch.
26755         (file-notify-descriptors): Use the new struct as hash-value.
26756         (file-notify-handle-event): Check that event is a cons.
26757         (file-notify--rm-descriptor, file-notify--event-watched-file)
26758         (file-notify--event-file-name, file-notify--event-file1-name)
26759         (file-notify-callback, file-notify-add-watch)
26760         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
26761         Remove special code handling inotify descriptors.  Remove code
26762         handling multiple clients per descriptor.
26763         (file-notify--descriptor): Remove unused function.
26765         Let inotify-add-watch return a unique descriptor on every
26766         call, like every other back-end does (Bug#26126).  Prevent
26767         multiple clients from interfering with each other, when
26768         watching a shared descriptor.
26769         * src/inotify.c (watch_list): Extend the format by including a
26770         id and the provided mask.
26771         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
26772         (make_watch_descriptor): Removed.
26773         (make_lispy_mask, lispy_mask_match_p): New functions.
26774         (inotifyevent_to_event): Match event against the mask provided
26775         by the client.
26776         (add_watch, remove_descriptor, remove_watch): New functions
26777         for managing the watch_list.
26778         (inotify_callback): Use the new functions.
26779         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
26780         flags from documentation.  Add check for validity of provided
26781         descriptor.  Use the new functions.  Use the default mask.
26782         (INOTIFY_DEBUG): Add new debug conditional.
26783         (inotify-watch-list, inotify-allocated-p): New debug functions.
26784         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
26786         * test/lisp/filenotify-tests.el:
26787         (file-notify-test02-rm-watch): Remove expected failure for inotify.
26789 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
26791         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
26793 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
26795         Stop edebug getting stuck on backquote (Bug#23651)
26797         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
26798         reading backquote or comma.
26800 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
26802         Expand manual section on quitting windows
26804         * doc/lispref/windows.texi (Quitting Windows): Provide more
26805           information about the elements of the quit-restore window parameter,
26806           and how they affect the behavior of quit-restore-window.
26808 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26810         Support in ispell.el multiple dictionaries loaded by Hunspell
26812         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
26813         Support Hunspell configurations that load more than one dictionary
26814         by default.  Doc fix.  (Bug#25830)
26816 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
26818         Simplify Tramp autoloading.
26820         * lisp/net/tramp.el (tramp-completion-file-name-handler):
26821         Simplify autoloading.  Give it the `operations' property.
26822         (tramp-completion-handle-expand-file-name): Remove.
26824 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26826         Fix a segfault due to failure to realize some faces
26828         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
26829         while redisplaying its windows, redisplay all of its windows
26830         again.  (Bug#26097)
26831         (init_iterator): When freeing all realized faces on all frames,
26832         reset the 'face_change' flag of the frame whose window we are
26833         about to iterate.
26835 2017-03-25  Philipp Stephani  <phst@google.com>
26837         Use a named function for 'safe-local-variable
26839         This improves the help screen for `version-control' (Bug#25431).
26841         * lisp/files.el (version-control-safe-local-p): New function.
26842         (version-control): Use it.
26844 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26846         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
26848 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
26850         Make it easier to abort a series of tests with C-g
26852         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
26853         interactively is true and a test was aborted then ask if the remaining
26854         tests should be aborted too.
26855         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
26856         interactively arg.
26858 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
26860         Don’t require chown/chgrp for game installation
26862         Problem reported by Joseph Mingrone in:
26863         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
26864         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
26865         chgrp fails with update-game-score and the game directory.
26866         Instead, expect the installer to fix this up afterwards.
26868 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26870         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
26872         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
26873         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
26875 2017-03-23  Philipp Stephani  <phst@google.com>
26877         Protect against an infloop in python-mode
26879         There appears to be an edge case caused by using `syntax-ppss' in a
26880         narrowed buffer during JIT lock inside of Python triple-quote strings.
26881         Unfortunately it is impossible to reproduce without manually
26882         destroying the syntactic information in the Python buffer, but it has
26883         been observed in practice.  In that case it can happen that the syntax
26884         caches get sufficiently out of whack so that there appear to be
26885         overlapping strings in the buffer.  As Python has no nested strings,
26886         this situation is impossible and leads to an infloop in
26887         `python-nav-end-of-statement'.  Protect against this by checking
26888         whether the search for the end of the current string makes progress.
26890         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
26891         against infloop.
26892         * test/lisp/progmodes/python-tests.el
26893         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
26895 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
26897         * doc/lispref/os.texi (File Notifications):
26899         Strengthen the recommendation to use filenotify.el.
26901 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
26903         Merge from gnulib
26905         This incorporates:
26906         2017-03-22 getopt: merge from glibc
26907         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
26908         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
26909         * lib/gnulib.mk.in: Regenerate.
26911 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
26913         Use lexical-bind in Tramp
26915         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
26917         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
26918         rather than `add-to-list'.
26919         (tramp-adb-get-device): Remove unused variable.
26921         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
26922         variable.
26924         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
26925         (tramp-find-file-name-coding-system-alist): Use `push' rather
26926         than `add-to-list'.
26928         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
26929         Require 'dired.  Move declarations up.
26930         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
26931         and `temporary-file-directory' calls with `with-no-warnings'.
26932         (tramp-test35-asynchronous-requests): Mark unused variable.
26934 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
26935             Noam Postavsky  <npostavs@gmail.com>
26937         Do not include comment start chars in ffap string
26939         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
26940         ensure that the returned string does not contain the comment start
26941         characters (especially for major modes that have '//' as comment start
26942         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
26943         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
26944         C-f" on a "//foo" comment will initiate an attempt to access a path
26945         "//foo" (Bug#24057).
26947 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
26949         c:/Temp/gtk-window-move/ChangeLog.txt
26951 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
26953         Fix filenotify.el issue for kqueue
26955         * lisp/filenotify.el (file-notify-add-watch): Use directory
26956         for remote file name handlers.
26958         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
26959         Create/delete temporary file only for "kqueue".
26960         (file-notify-test02-rm-watch): Create/delete temporary files.
26962 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
26964         Extend `file-notify-test02-rm-watch'
26966         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
26967         Expect it failed for inotify.  Divide tests into different
26968         `unwind-protect' clauses.  Check, that removing watch
26969         descriptors out of order do not harm.  (Bug#26126)
26971 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
26973         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
26975 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
26977         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
26979 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26981         Improve configure --with-pop etc. diagnostics
26983         * configure.ac: Improve diagnostics re --with-pop and
26984         --with-mailutils (Bug#26102).
26986 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
26988         Revert "Make --without-pop the default."
26990         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
26992 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26994         Don’t remove dependency files when configuring
26996         Problem reported by Tom Tromey in:
26997         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
26998         * configure.ac: Don’t remove */*.o and */deps/* when
26999         --enable-autodepend is in effect.
27001 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27003         Make --without-pop the default.
27005         Suggested by Angelo Graziosi in:
27006         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
27007         * configure.ac: Change the default from --with-pop to
27008         --without-pop.  Adjust diagnostics to match.
27010 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27012         Streamline dependency-file generation
27014         * configure.ac (AUTODEPEND_PARENTS): New var.
27015         mkdir the dependency directories here, to simplify ‘make’.
27016         Remove dependency files just before outputting Makefiles, so that
27017         they are preserved if ‘configure’ exits early due to some other problem.
27018         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
27019         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
27020         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
27021         number of processes spun off by ‘make’.
27022         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
27023         (distclean): Remove $(DEPDIR) itself.
27024         * lwlib/Makefile.in (all): Move to front, so that depdir includes
27025         do not alter default action.
27027 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27029         Port and simplify example sh script
27031         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
27032         don’t use ‘tail -1’, which is not portable.
27034 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
27036         Narrow scope of modification hook renabling in org-src fontification
27038         Modification hooks should be enabled while modifying text in the
27039         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
27040         org-src fontify buffers" the hooks were enabled also for modifications
27041         to the original org buffer.  This causes fontification errors when
27042         combined with certain packages, as reported in
27043         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
27045         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
27046         of inhibit-modification-hooks let-binding.
27048 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
27050         epatch: Save right backups in Git multipatches
27052         Multipatches on N Git files save wrong backups for
27053         N-1 files; only the last one has a correct backup (Bug#26084).
27054         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
27055         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
27056         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
27057         Rename from ibuffer-test-bug25010.
27058         (ediff-ptch-test-bug26084): New test.
27060 2017-03-21  Michael R. Mauger  <michael@mauger.com>
27062             * lisp/progmodes/sql.el: Version 3.6
27064             (sql-login-params): Added :must-match for completition of
27065             `server' and `database' login parameters.
27066             (sql-sqlite-login-params, sql-postgres-login-params): Set
27067             :must-match to `confirm'.
27068             (sql-get-login-ext): Use :must-match value to control
27069             `read-file-name' or `completing-read'.
27070             (sql-connect): Added optional BUF-NAME parameter; Reworked
27071             connection variable processing; Pass buffer name to
27072             `sql-product-interactive'.
27073             (sql-product-interactive): Pass buffer name along.
27074             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
27075             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
27076             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
27077             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
27078             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
27079             (sql-comint-vertica): Add optional BUF-NAME, pass to
27080             `sql-comint'.
27081             (sql-oracle--list-oracle-name): New function.
27082             (sql-oracle-list-all): Use it.
27083             (sql-oracle-completion-object): Enhanced.
27085 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
27087         Solve ses-recalculate-cell updating only current line bug.
27089         * lisp/ses.el (ses-recalculate-cell): Add optional argument
27090         ses--curcell to avoid overwriting ses--curcell when function is
27091         called from ses-recalculate-all.  Update docstring accordingly.
27092         (ses-recalculate-all): Call ses-recalculate-cell with argument
27093         ses--curcell to avoid its overwriting.
27095 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
27097         Fix problem with out-of-date dependencies
27099         Problem reported by Robert Marshall in:
27100         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
27101         Although this problem has been with us for a while, the recent
27102         change from Automake to GNU Make exposed it again.
27103         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
27104         leftover dependency and object files, since the previous sources'
27105         dependencies may disagree with the current ones.  Reconfiguring
27106         typically needs to force a rebuild anyway.
27108 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27110         Simpler filter implementation
27112         * lisp/play/dunnet.el (dun-endgame-question): Get or set
27113         dun-endgame-questions one time only.  Use dolist and an index to
27114         prune the list.
27116 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27118         * lisp/button.el (forward-button): Use user-error instead.
27120 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27122         Merge from gnulib
27124         This gets Emacs working again with HP-UX Itanium cc.
27125         It incorporates:
27126         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
27127         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
27128         2017-03-17 stat-time, timespec: Support header files in C++ mode
27129         2017-03-17 stdalign: Make it work with HP-UX cc
27130         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
27131         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
27132         2017-03-14 gnulib-tool: don't produce tests with only snippets
27133         2017-03-14 limits-h: Make it work with HP-UX cc.
27134         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
27135         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27136         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
27137         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
27138         Copy from gnulib.
27140 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27142         * ChangeLog.2: Merge from emacs-25.
27144 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27146         Fixups after merge from emacs-25
27148         * etc/NEWS: Remove stray entry.
27149         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
27150         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
27151         Make it nondecreasing.
27153 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27155         Merge from origin/emacs-25
27157         d71e071 Improve documentation of interactive "r".
27159 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27161         Merge from origin/emacs-25
27163         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
27164         1925dd9 Fix duplicate wording in Emacs manual
27165         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
27166         2d671fd Fix wording in Emacs manual
27167         a8766a2 Document how to customize input methods
27168         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
27169         aceac95 Fix warning message about native completion (Bug#25984)
27170         a314c1f Clarify documentation of 'raise' and 'height' display specs
27171         f366f6e Mention problems with GPaste in PROBLEMS
27172         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
27173         6406618 Fix doc strings in info.el
27174         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
27175         eed9677 Fix doc string of 'posn-at-point'
27176         0d5957e Documentation fix in elisp reference manual
27178 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27180         Merge from origin/emacs-25
27182         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
27183         2b774fa Mention "editor" in Emacs man page header
27184         ae60d0c Document problems with nerd-fonts
27185         2fdb5a9 ; Details about pinning Emacs to w32 task bar
27186         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
27187         4c51ef4 Clarify what is the "cursor"
27188         8303c32 ; * etc/NEWS: Copyedits.
27189         3f7493e ; Fix a typo in comment
27190         c54cf8d Improve commentary in lisp.h
27191         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
27192         0ba9932 Disable native completion for ipython (Bug#25067)
27193         38fc456 Fix a typo in ada-mode manual
27194         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
27195         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
27197         # Conflicts:
27198         #       etc/NEWS
27199         #       etc/PROBLEMS
27201 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27203         Merge from origin/emacs-25
27205         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
27207 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27209         Merge from origin/emacs-25
27211         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
27213 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27215         Merge from origin/emacs-25
27217         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
27218         7e02a47 Index byte-compile-debug
27219         7c1e598 Document `byte-compile-debug' in the ELisp manual
27220         4d81eb4 Document variable `byte-compile-debug'
27221         72ef710 Fix call to debugger on assertion failure
27222         ae8264c Call modification hooks in org-src fontify buffers
27223         b3139da ; Fix last change in doc/lispref/strings.texi
27224         c331f39 Improve documentation of 'format' conversions
27225         9f52f67 Remove stale functions from ert manual
27226         c416b14 Fix a typo in Eshell manual
27227         06695a0 ; Fix a typo in ediff-merg.el
27228         954e9e9 Improve documentation of hooks related to saving buffers
27229         9fcab85 Improve documentation of auto-save-visited-file-name
27230         2236c53 fix typo in mailcap-mime-extensions
27231         85a3e4e Fix typos in flymake.el
27232         a1ef10e More NEWS checking for admin.el's set-version
27234         # Conflicts:
27235         #       lisp/emacs-lisp/bytecomp.el
27237 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27239         Merge from origin/emacs-25
27241         5569e64 ; Spelling fixes
27242         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
27243         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
27244         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
27245         42eae54 Improve documentation of dabbrevs
27246         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
27247         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
27249         # Conflicts:
27250         #       lisp/textmodes/rst.el
27252 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27254         Merge from origin/emacs-25
27256         0e35405 Improve documentation of coding-systems
27257         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
27258         16fb50d Fix an error message in python.el
27259         a2a2073 Clarify major mode switching
27260         fc38671 Add helpful comment to compile-command's docstring
27261         ee65d85 Fix ':version' of 'select-enable-primary'
27263 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
27265         Fix bug in generator function with pcase (Bug#26068)
27267         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
27268         to symbol-name.
27270 2017-03-19  Alan Mackenzie  <acm@muc.de>
27272         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
27274         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
27275         invocation of c-on-identifier with a check we're not at the _end_ of an
27276         identifier.
27278         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
27279         perl versions of texi2dvi haven't implemented it.
27280         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
27281         in Pike Mode.
27282         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
27283         (FAQ): Add a question about "excessive" indentation of the contents of a C++
27284         lambda function, and how to get rid of it.
27286 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27288         Remove unused vars in cl-extra.el and tramp.el.
27290         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
27292         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
27293         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
27294         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
27296 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27298         Improve describe-symbol's layout of slots when describing types
27300         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
27301         (cl--describe-class-slots): Use it.
27303 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
27305         Fix Bug#26156
27307         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
27308         <expand-file-name>: Remove handler.  (Bug#26156)
27310 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
27312         * lisp/obarray.el (obarray-size): Avoid compiler warning.
27314 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
27316         Fix last change in lib/Makefile.in
27318         * lib/Makefile.in (srcdir): Define, as including
27319         $(srcdir)/../nt/gnulib-cfg.mk needs that.
27321 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27323         * configure.ac: Fix typo in diagnostic.
27325 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27327         Port out-of-source builds to windows-nt
27329         Problem reported by Angelo Graziosi in:
27330         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
27331         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
27332         to handle out-of-source builds if windows-nt.
27334 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27336         MS-Windows followup for switch from Automake
27338         * nt/INSTALL:
27339         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
27341 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27343         Improve documentation of interactive "r".
27345         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
27346         must be set for "r" to work.
27348 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27350         Fixups for GNU Make switchover
27352         This fixes some minor problems introduced in the recent switch to GNU
27353         Make, discovered by further testing.  Without some of these changes
27354         'make -j' would sometimes have race conditions caused by missing
27355         dependencies.  (Bug#26100)
27356         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
27357         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
27358         src/config.in, since the former's timestamp now represents
27359         the latter's.
27360         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
27361         with other autogen.sh invocations.
27362         ($(srcdir)/src/stamp-h.in):
27363         Remove rule, as this file is no longer created.
27364         * Makefile.in (top_distclean):
27365         * src/Makefile.in (bootstrap-clean):
27366         No need to remove stamp-h1, as that was an Automake byproduct
27367         and Automake is no longer in use.
27368         * lib/Makefile.in, src/Makefile.in:
27369         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
27370         (../config.status, Makefile): Simplify by limiting dependencies
27371         to files we care about and files in the repository, and by
27372         using just one file to represent the timestamps on multiple
27373         targets updated by the same rule.
27374         * autogen.sh: Do not create or use src/stamp-h.in.
27375         Instead, have 'find' test the two output files directly.
27377 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27379         Switch from Automake to GNU Make
27381         Emacs assumes GNU Make, and GNU Make has much of the functionality of
27382         Automake built-in.  The Emacs build process uses Automake primarily
27383         because Emacs uses some Gnulib code and Gnulib formerly required
27384         Automake.  Now that Gnulib no longer requires Automake, Emacs can
27385         stop using Automake and this should simplify Emacs maintenance
27386         in the future (Bug#26100).  Although this patch may look long, most of
27387         it is generated automatically: the changes to build-aux/config.guess,
27388         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
27389         all done by admin/merge-gnulib.
27390         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
27391         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
27392         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
27393         as they are no longer built by autogen.sh.
27394         Add lib/gnulib.mk, as it is now built by 'configure'.
27395         Remove nt/gnulib.mk, as it is no longer built by 'make'.
27396         * INSTALL.REPO, README, admin/make-tarball.txt:
27397         Remove mention of Automake.
27398         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
27399         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
27400         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
27401         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
27402         Remove.
27403         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
27404         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
27405         ($(srcdir)/src/config.in):
27406         Use autogen.sh instead of doing it by hand.
27407         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
27408         New vars, to simplify processing of avoided modules.
27409         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
27410         Add --gnu-make, and change makefile name to gnulib.mk.in.
27411         Copy config.guess, config.sub, and install-sh too, since
27412         Automake no longer does that for us.
27413         * admin/notes/copyright:
27414         * admin/update_autogen (genfiles):
27415         Update list of files.
27416         Remove hack for nt/gnulib.mk, a file that is no longer needed.
27417         * autogen.sh (progs): Remove Automake.
27418         (automake_min): Remove.
27419         Build aclocal.m4 so that autoreconf need not use aclocal.
27420         * build-aux/config.guess, build-aux/config.sub:
27421         * build-aux/install-sh:
27422         New files, copied from Gnulib.  These are now updated by
27423         admin/merge-gnulib instead by autogen.sh.
27424         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
27425         Remove.
27426         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
27427         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
27428         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
27429         (--disable-silent-rules): New option, since Automake no longer
27430         does this for us.
27431         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
27432         with AM_SUBST_NOTMAKE.
27433         (AC_PROG_INSTALL): Add call.
27434         (MAKEINFO): Do not bother with the 'missing' program.
27435         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
27436         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
27437         (SUBDIR_MAKEFILES): Remove duplication.
27438         * lib/Makefile.am: Remove, replacing with:
27439         * lib/Makefile.in: New file, with the old Makefile.am contents
27440         and with the following changes:
27441         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
27442         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
27443         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
27444         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
27445         Remove.
27446         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
27447         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
27448         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
27449         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
27450         New macros and rules, since Automake no longer does them.
27451         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
27452         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
27453         Include dependency files if AUTO_DEPEND.
27454         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
27455         New macros.
27456         (bootstrap-clean): Depend on distclean, not maintainer-clean,
27457         and remove gnulib.mk.
27458         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
27459         New macros and rules, copied from ../Makefile.in.
27460         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
27461         (.c.o, e-%.o): New generic rules.
27462         * lib/gnulib.mk: Remove.
27463         * lib/gnulib.mk.in: New file, which is built by autogen.sh
27464         and contains much of what used to be in lib/gnulib.mk.
27465         * m4/gnulib-common.m4: Copy from gnulib.
27466         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
27467         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
27468         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
27469         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
27470         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
27471         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
27472         * nt/gnulib-cfg.mk: New file, which supersedes ...
27473         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
27474         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
27475         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
27476         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
27477         Defer to parent Makefile.
27479 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27481         Don't suggest Mailutils on MS-Windows
27483         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
27484         hasn't been ported.
27486 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
27488         Fix bug: Range-check integer ‘alpha’ frame parm value
27490         Typo introduced 2013-04-01, "Prefer < to >
27491         in range checks such as 0 <= i && i < N".
27493         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
27495 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
27497         Fix bug: Range-check integer ‘alpha’ frame parm value
27499         Typo introduced 2013-04-01, "Prefer < to >
27500         in range checks such as 0 <= i && i < N".
27502         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
27504 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
27506         Fix Bug#26127
27508         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
27509         there is a function which could be called.  (Bug#26127)
27511         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
27512         Clear also `file-notify-descriptors'.
27513         (file-notify--test-make-temp-name): Move up.
27514         (file-notify-test02-rm-watch): New test.
27515         (file-notify-test03-events, file-notify-test04-autorevert)
27516         (file-notify-test05-file-validity)
27517         (file-notify-test06-dir-validity)
27518         (file-notify-test07-many-events, file-notify-test08-backup)
27519         (file-notify-test09-watched-file-in-watched-dir)
27520         (file-notify-test10-sufficient-resources): Rename.
27522 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27524         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
27526 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27528         Emacs 'movemail' is now a configure-time option
27530         The new configure option --with-mailutils lets the builder say
27531         that Emacs should assume that GNU Mailutils is installed, instead
27532         of continuing to build and install its own limited and insecure
27533         substitute for 'movemail'.
27534         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
27535         * configure.ac: Add --with-mailutils option.
27536         (with_mailutils): New variable.
27537         Do not bother configuring 'movemail' when not building it.
27538         Warn about issues relating to --with-mailutils.
27539         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
27540         (Movemail, Remote Mailboxes): Document port numbers in
27541         POP and IMAP URLs.
27542         * lib-src/Makefile.in (with_mailutils): New macro.
27543         (UTILITIES): Use it.
27545 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
27547         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
27549         * lisp/obarray.el (obarray-size): New function.
27551         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
27552         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
27553         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
27554         Use obarrayp.
27556         * test/lisp/obarray-tests.el (obarray-make-default-test)
27557         (obarray-make-with-size-test): Use it.
27559 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
27561         Document remote file name syntax change
27563         * doc/emacs/files.texi (Remote Files, Quoted File Names):
27564         * doc/misc/org.texi (dir): Change examples to use a method.
27566         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
27567         `Testing' menu entry.
27568         (History): Fix typos.  Mention syntax change.
27569         (Configuration, Default Host, File name Syntax)
27570         (File name completion, Frequently Asked Questions):
27571         Change examples to use a method.
27572         (External methods, Default Host, Multi-hops, Remote processes):
27573         Fix typos.
27574         (Default Method): Mention pseudo method "-".
27575         (External packages): Rewrite intention of `non-essential'.
27577         * etc/NEWS: Mark recent Tramp entries as documented.
27579 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
27581         (semantic-lex-type-invalid): Fix nested backquote.
27583         * lisp/cedet/semantic/lex.el: Use lexical-binding.
27584         (semantic-lex-type-invalid): Fix nested backquote.
27585         (semantic-lex-map-symbols, semantic-lex-type-symbol)
27586         (semantic-lex-keyword-symbol): Use obarrayp.
27588 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
27590         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
27592 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
27594         Write a named function
27596         * lisp/comint.el (comint-nonblank-p): New function.
27597         (comint-input-filter): Use it.
27599 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
27601         Replace more nested ifs with cond
27603         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
27604         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
27605         (dun-drop-check, dun-swim, dun-break): Use when and cond where
27606         appropriate.
27607         (dun-examine): Fix indentation.
27608         (dun-doverb): Use when.
27609         (dun-read-line): Refactor.
27611 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
27613         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
27615         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
27616         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
27617         causes the regex engine to backtrack a lot when searching for
27618         "\\s-+$" (Bug#26079).
27620         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
27621         syntax, search for "\\s-$" and then skip backward over trailing
27622         whitespace.
27624 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
27626         Merge from gnulib
27628         This incorporates:
27629         2017-03-14 snippets: move unadjusted snippet sources to lib
27630         2017-03-14 gnulib-tool: fix typo in comment output
27631         2017-03-14 snippets: work around GNU Make 3.82 VPATH
27632         2017-03-13 gnulib-tool: minor --gnu-make fixups
27633         2017-03-12 gnulib-tool: new option --gnu-make
27634         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
27635         lib/warn-on-use.h.  Change exception from
27636         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
27637         * admin/authors.el (authors-renamed-files-regexps):
27638         * admin/notes/copyright, make-dist:
27639         The snippet files moved from build-aux/snippet to lib.
27640         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
27641         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
27642         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
27643         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27644         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
27646 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
27648         Fix duplicate wording in Emacs manual
27650         * doc/emacs/programs.texi (Which Function): Delete duplicate
27651         wording.  (Bug#26098)
27653 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
27655         Reenable lost Tramp test case
27657         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
27658         Reenable lost test case.
27660 2017-03-14  Alan Third  <alan@idiocy.org>
27662         Revert "Remove NSEvent loop from ns_select (bug#25265)"
27664         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
27666 2017-03-14  Alan Third  <alan@idiocy.org>
27668         Revert "Add missing timeout value in ns_select"
27670         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
27672 2017-03-14  Alan Third  <alan@idiocy.org>
27674         Remove old macOS compatibility code
27676         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
27677         macOS versions below 10.6 as they are not supported in Emacs 25+.
27679 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
27681         Tune `tramp-completion-file-name-regexp-unified'
27683         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
27684         Extend this regexp to match also "/".
27686 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
27688         Show ancestor buffer in 3way merges
27690         Add an option ediff-show-ancestor', to control if the ancestor buffer
27691         must be shown in 3way merges (Bug#25493); set it non-nil by default.
27692         Add a toggle to change this option interactively; the original
27693         value of the option is restored on exit.
27695         Update the window setup so that the ancestor buffer is
27696         shown in 3way merges when ediff-show-ancestor is non-nil.
27698         Any operation on ediff windows must take in account the
27699         ancestor window as well, when this is shown.
27701         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
27702         (ediff--show-ancestor-orig): New defvar.
27703         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
27704         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
27705         Display ancestor buffer if ediff-show-ancestor is non-nil.
27706         (ediff-keep-window-config): Expect ancestor window in
27707         ediff-window-config-saved.
27708         (ediff-window-alist): Add entry for the ancestor window.
27709         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
27710         ediff-window-config-saved contains ancestor window.
27711         (ediff-show-ancestor): Delete this command.
27712         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
27713         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
27714         don't cheat it to think that is performing a comparison, that trick is not
27715         necessary anymore: simply call 'ediff-setup-diff-regions-function'
27716         with file-A, file-B and the file ancestor.
27717         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
27718         (ediff--check-ancestor-exists): New defun.
27719         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
27720         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
27721         (ediff-scroll-vertically, ediff-scroll-horizontally)
27722         (ediff-operate-on-windows): Consider the ancestor as well.
27723         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
27724         List ediff-toggle-show-ancestor.
27725         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
27727 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
27729         diff-mode: Improve default faces for buffer ancestor
27731         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
27732         (ediff-fine-diff-Ancestor): Use defaults consistent with
27733         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
27735 2017-03-14  Hong Xu  <hong@topbug.net>
27737         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
27739 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
27741         Fix make-dist typo
27743         * make-dist: Fix typo introduced in the Bug#25895 fix.
27745 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
27747         Fix wording in Emacs manual
27749         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
27750         (Bug#26086)
27752 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
27754         etc/NEWS: Remote file names require a method.
27756 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
27758         Require method in remote file name syntax
27760         * lisp/minibuffer.el (completion--nth-completion):
27761         Do not bind `non-essential'.
27763         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
27764         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
27765         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
27766         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
27767         `tramp-check-proper-method-and-host'.
27769         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
27770         (tramp-maybe-open-connection): Do not use argument for
27771         ´tramp-completion-mode-p'.
27773         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
27774         (tramp-prefix-format, tramp-postfix-method-format)
27775         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
27776         (tramp-prefix-port-format, tramp-postfix-host-format)
27777         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
27778         Use `eq' instead of `eqal'.
27779         (tramp-method-regexp, tramp-domain-regexp)
27780         (tramp-remote-file-name-spec-regexp)
27781         (tramp-file-name-regexp-unified)
27782         (tramp-completion-file-name-regexp-unified)
27783         (tramp-completion-file-name-regexp-separate): Adapt regexp.
27784         (tramp-completion-file-name-handler-alist)
27785         (tramp-run-real-handler): Autoload them.
27786         (tramp-find-method): Handle `tramp-default-method-marker'.
27787         (tramp-check-proper-method-and-host)
27788         (tramp-completion-run-real-handler): Remove them.
27789         (tramp-error-with-buffer, tramp-connectable-p): Do not use
27790         argument for ´tramp-completion-mode-p'.
27791         (tramp-find-foreign-file-name-handler): Remove COMPLETION
27792         argument.  Do not apply heuristic for completion.
27793         (tramp-file-name-handler): Do not modify `non-essential'.
27794         (tramp-completion-file-name-handler): Change implementation.
27795         (tramp-autoload-file-name-handler)
27796         (tramp-completion-handle-file-name-all-completions):
27797         Call `tramp-run-real-handler'.
27798         (tramp-completion-mode-p): Do not autoload.  Remove argument.
27799         Do not apply heuristic for completion.
27800         (tramp-completion-dissect-file-name): Simplify implementation.
27801         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
27803         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
27804         (tramp-test02-file-name-dissect)
27805         (tramp-test03-file-name-defaults)
27806         (tramp-test06-directory-file-name): Adapt to the new syntax.
27807         (tramp-test11-copy-file, tramp-test12-rename-file)
27808         (tramp--test-check-files): Deactivate temporarily tests with
27809         quoted file names.
27810         (tramp-test16-directory-files, tramp-test17-insert-directory):
27811         Adapt tests.
27812         (tramp-test24-file-name-completion): Do not check for
27813         completion mode.
27814         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
27815         two tests.
27817 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
27819         Fix bidi paragraph direction when inserting text at newline
27821         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
27822         paragraph cache when inserting immediately after a newline.
27823         (Bug#26083)
27825 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
27827         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
27829 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27831         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
27833         (cl-print-object) <compiled-function>: Print the docstring and
27834         interactive form.  Obey cl-print-compiled.
27836 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
27838         Fix indent-sexp when called from inside a string (Bug#21343)
27840         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
27841         state from `syntax-ppss'.
27843 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
27845         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
27847         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
27848         (indent-subsexp, indent-sexp-in-string): New tests.
27850 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
27852         Use switch on pseudovector types; plus cleanups along the way
27854         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
27855         (PSEUDOVECTOR_TYPEP): Change type of `code'.
27857         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
27858         (mark_object): Use PSEUDOVECTOR_TYPE.
27860         * src/data.c (Ftype_of): Use switch on pvec type.
27862         * src/print.c (print_object): Use switch on pvec type.
27864         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
27865         Add recently added types.
27867 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27869         Install update-game-score only on request
27871         Most distributions do not install update-game-score properly
27872         due to setuid/setgid complications, so install it only when
27873         the installer specifies a user or group (Bug#25895).
27874         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
27875         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
27876         New vars.
27877         (epaths-force): Use PATH_GAME.
27878         (uninstall): Remove snake-scores and tetris-scores only if shared.
27879         * configure.ac: Default --with-gameuser to 'no'.
27880         (UPDATE_MANIFEST): Remove.
27881         * etc/NEWS: Mention this.
27882         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
27883         (use_gamedir): New macro.
27884         (UTILITIES): Remove update-game-score unless use_gamedir.
27885         (SCRIPTS): Remove $(UPDATE_MANIFEST).
27886         ($(DESTDIR)${archlibdir}): Install game directory program and data
27887         only if use_gamedir.
27888         * lib-src/update-game-score.exe.manifest: Remove, as
27889         update-game-score is no longer installed on MS-Windows.
27890         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
27891         Use auxiliary program only if setuid or setgid.
27892         * make-dist: Do not distribute update-game-score.exe.manifest.
27893         * src/callproc.c (init_callproc):
27894         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
27895         (syms_of_callproc): Remove unnecessary initialization of
27896         Vshared_game_score_directory.
27898 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
27900         Add `touch-action' to list of CSS properties
27902         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
27903         property.
27905 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
27907         Teach etags to process ENUM_BF correctly
27909         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
27910         (hash): Regenerated values for asso_values[] array.
27911         (in_word_set): Update values of TOTAL_KEYWORDS and
27912         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
27913         (in_enum_bf): New file-global variable.
27914         (consider_token): Skip ENUM_BF if not in a macro definition.
27915         (C_entries): Reset the in_enum_bf flag when past its closing
27916         parenthesis.
27918         * test/manual/etags/ETAGS.good_1:
27919         * test/manual/etags/ETAGS.good_2:
27920         * test/manual/etags/ETAGS.good_3:
27921         * test/manual/etags/ETAGS.good_4:
27922         * test/manual/etags/ETAGS.good_5:
27923         * test/manual/etags/ETAGS.good_6:
27924         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
27926 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
27928         Use path/to/file instead of path/to.file in tramp.texi
27930         * doc/misc/tramp.texi (Configuration, File name Syntax):
27931         Use path/to/file instead of path/to.file.
27933 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27935         Remove some stray gnulib files
27937         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
27938         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
27939         the --avoid=unsetenv option avoided most of it anyway.
27940         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
27941         * lib/gnulib.mk: Regenerate.
27943 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27945         Merge from gnulib
27947         This incorporates:
27948         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
27949         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
27951 2017-03-12  Glenn Morris  <rgm@gnu.org>
27953         Remove trivial duplication in epg-config
27955         * lisp/epg-config.el (epg-config--program-alist):
27956         Use epg-gpg-minimum-version.
27958 2017-03-12  Glenn Morris  <rgm@gnu.org>
27960         Small epg-find-configuration improvement
27962         * lisp/epg-config.el (epg-find-configuration):
27963         Handle epg-gpg-program customized but not saved.  (Bug#25947)
27965 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
27967         Improve last change
27969         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
27970         Use ppss to check escaping and add help-echo.
27972 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
27974         Highlight useless backslashes in Elisp strings
27976         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
27977         Put warning face on backslashes that have no effect.
27979 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27981         Document how to customize input methods
27983         * doc/emacs/mule.texi (Input Methods): Document how to customize
27984         input methods.
27986 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27988         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
27990 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27992         Fix generation of nt/gnulib.mk on macOS
27994         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
27995         to Sed, as that is not portable with non-GNU Sed variants.
27996         (Bug#26043)
27998 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
28000         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
28002         * src/xdisp.c (handle_single_display_spec): If position to be
28003         restored after processing the display property comes from an
28004         overlay, protect against that overlay's end point being outside of
28005         the narrowed region.
28006         Reported by Filipe Silva <filipe.silva@gmail.com> in
28007         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
28009 2017-03-10  Glenn Morris  <rgm@gnu.org>
28011         Small improvement for epa-display-error (bug#24553)
28013         * lisp/epa.el (epa-display-error): Report the actual program in use.
28015 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
28017         Tweak X toolkit code to pacify modern GCC
28019         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
28020         Don’t include <stdlib.h>, since this code now calls emacs_abort
28021         rather than abort.
28022         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
28023         (wm_delete_window):
28024         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
28025         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
28026         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
28027         (separator_height, XlwMenuInitialize):
28028         Use emacs_abort, not abort.  Without this change, some calls
28029         to ‘abort’ were invalid, as stdlib.h was not always included.
28030         * src/widget.c (resources, emacsFrameClassRec):
28031         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
28032         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
28033         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
28034         (x_term_init) [USE_X_TOOLKIT]:
28035         Cast string constants to char * to pacify --enable-gcc-warnings.
28037 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28039         * doc/misc/tramp.texi (Android shell setup): Require adb program
28041 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28043         Adapt tramp-tests.el
28045         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
28046         (tramp-test24-file-name-completion): Call
28047         `tramp-completion-mode-p' with argument.
28049 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
28051         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
28053         * doc/lispref/processes.texi (Bindat Examples):
28054         Mention two examples in intro blurb; rewrite first example.
28056 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
28058         Simplify checks for xdg-open and xdg-email
28060         browse-url's xdg-open detection was too picky on some GNU/Linux
28061         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
28062         if it is executable, as nowadays this is more likely to be correct than
28063         trying to use heuristics from a few years ago.  Don't test for nohup: it
28064         is ineffective nowadays, as xdg-open's child uses the default action for
28065         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
28066         allow for Wayland here, as "emacs -nw" might be running in a non-X
28067         Wayland terminal.
28068         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
28069         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
28070         Simplify to a test for DISPLAY and whether the helper program is
28071         executable.  Allow WAYLAND_DISPLAY as an option.
28073 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28075         Byte compile cond clauses without any bodies correctly.
28077         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
28078         cond clause has no body, push t on to the stack.
28080 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
28082         Fix bug#23006
28084         * lisp/minibuffer.el (completion--nth-completion):
28085         Let-bind `non-essential'.
28087         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
28088         (tramp-completion-mode-p): Optional parameter VEC.  Replace
28089         check for `last-input-event' by analysing VEC argument.
28090         (tramp-error-with-buffer, tramp-file-name-handler)
28091         (tramp-connectable-p, tramp-handle-file-name-as-directory):
28092         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
28094 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28096         etc/NEWS: Add entry for new `switch' bytecode.
28098 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28100         * src/data.c (arithcompare): Add comments.
28102 2017-03-08  Glenn Morris  <rgm@gnu.org>
28104         Update a cl-print test
28106         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
28107         Update for recent change in cl-print-object function output.
28109 2017-03-08  Sam Steingold  <sds@gnu.org>
28111         Replace change-log-date-face -> change-log-date
28113         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
28115 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
28117         Fix bug#26011
28119         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
28120         Check, whether file is too large.  (Bug#26011)
28122 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
28124         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
28125         (Fmax, Fmin): Restore documentation.
28127         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
28128         comparisons that are written backward.
28130 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
28132         [doc elisp] Add some index entries for "old" advice mechanism
28134         * doc/lispref/functions.texi (Porting old advice):
28135         Add one @cindex and two @findex entries.
28137 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28139         * etc/NEWS: Adjust to match previous patch.
28141 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28143         min and max should not return markers
28145         Problem reported by Glenn Morris in:
28146         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
28147         * src/data.c (minmax_driver): Convert any marker result to an
28148         integer, since some callers assume this.
28149         * test/src/data-tests.el (data-tests-max, data-tests-min):
28150         Test for this.
28152 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
28154         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
28156 2017-03-08  Alan Third  <alan@idiocy.org>
28158         Add missing timeout value in ns_select
28160         * src/nsterm.m (ns_select): Set timeout to distant future when relying
28161         on fd_handler's timeout.
28163 2017-03-07  Glenn Morris  <rgm@gnu.org>
28165         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
28167 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28169         Remove isnan hack for Solaris 10 gcc 3.4.3
28171         This seems to have been a false alarm (Bug#26018).
28172         * src/data.c (isnan):
28173         * src/floatfns.c (isfinite, isnan):
28174         Use standard implementation if available.
28176 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
28178         Support browsing URLs with embedded spaces on MS-Windows
28180         * lisp/net/browse-url.el (browse-url-default-windows-browser):
28181         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
28182         support that in file:// URLs.  (Bug#26014)
28184 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28186         Define copysign on all platforms
28188         * configure.ac (copysign): Remove test.
28189         * src/floatfns.c (signbit): New macro, if not already defined.
28190         (Fcopysign): Use it instead of copysign.
28191         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
28193 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28195         Revert "Replace ldefs-boot with a much smaller file"
28197         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
28199         This commit has been reverted because the new mechanism was too
28200         sensitive to changes in the lisp source, generation of new ldefs-boot
28201         files was platform specific and resulted in warnings about undefined
28202         variables.
28204         See also 11436e2890d.
28206 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28208         Revert "Record autoloads till emacs dump"
28210         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
28212         This commit has been reverted because the new mechanism was too
28213         sensitive to changes in the lisp source, generation of new ldefs-boot
28214         files was platform specific and resulted in warnings about undefined
28215         variables.
28217         See also 11436e2890d.
28219 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28221         Revert "Remove unused ldefs-boot.el"
28223         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
28225         This commit has been reverted because the new mechanism was too
28226         sensitive to changes in the lisp source, generation of new ldefs-boot
28227         files was platform specific and resulted in warnings about undefined
28228         variables.
28230         See also 11436e2890d.
28232 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28234         Revert "Remove conditional includes from bootstrap"
28236         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
28238         This commit has been reverted because the new mechanism was too
28239         sensitive to changes in the lisp source, generation of new ldefs-boot
28240         files was platform specific and resulted in warnings about undefined
28241         variables.
28243         See also 11436e2890d.
28245 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28247         Revert "Speed generation of ldefs-boot-auto"
28249         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
28251         This commit has been reverted because the new mechanism was too
28252         sensitive to changes in the lisp source, generation of new ldefs-boot
28253         files was platform specific and resulted in warnings about undefined
28254         variables.
28256         See also 11436e2890d.
28258 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28260         Revert "Fix minor problems with loaddefs autogeneration"
28262         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
28264         This commit has been reverted because the new mechanism was too
28265         sensitive to changes in the lisp source, generation of new ldefs-boot
28266         files was platform specific and resulted in warnings about undefined
28267         variables.
28269 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
28271         Set default when asking for send-mail-function (Bug#25874).
28273         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
28274         option as default for `completing-read'.
28276 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28278         min and max now return one of their arguments
28280         * doc/lispref/numbers.texi (Comparison of Numbers):
28281         * etc/NEWS: Document this.
28282         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
28283         (minmax_driver): New function.
28284         (Fmax, Fmin): Use it instead of arith_driver.
28285         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
28287 2017-03-06  Alan Third  <alan@idiocy.org>
28289         Remove NSEvent loop from ns_select (bug#25265)
28291         * src/nsterm.m (ns_select): Remove event processing loop and replace
28292         with simple test for a new event.
28294 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
28296         A better fix for bug#25845
28298         * src/xdisp.c (font_for_underline_metrics): New function.
28299         * src/dispextern.h: Add its prototype.
28300         * src/xterm.c (x_draw_glyph_string):
28301         * src/w32term.c (x_draw_glyph_string):
28302         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
28303         having identical code 3 times in 3 different files.
28305 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
28307         Fix warning message about native completion (Bug#25984)
28309         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
28310         The relevant variable is `python-shell-completion-native-enable'.
28312 2017-03-06  Tom Tromey  <tom@tromey.com>
28314         Fix typos in EIEIO manual
28316         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
28318 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28320         Merge from gnulib
28322         This incorporates:
28323         2017-03-04 dtotimespec: simplify
28324         * lib/dtotimespec.c: Copy from gnulib.
28326 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28328         ffloor etc. now accept only floats
28330         * etc/NEWS: Say why.
28331         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
28332         Require arg to be float.
28333         * test/src/floatfns-tests.el (fround-fixnum): Check this.
28335 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
28337         Fix display of cursor on underlined text
28339         * src/nsterm.m (ns_draw_text_decoration):
28340         * src/xterm.c (x_draw_glyph_string):
28341         * src/w32term.c (x_draw_glyph_string): Compute the position and
28342         thickness of the underline by looking for the first glyph of the
28343         run of underlined glyphs that includes the glyph string we are
28344         drawing.  (Bug#25845)
28346 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28348         Add more CL concept index items, print Concept Index
28350         * doc/misc/cl.texi: Print concept index.
28351         (Generalized Variables, Variable Bindings):
28352         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
28353         (Blocks and Exits, Iteration, Multiple Values): Add concept index
28354         items.
28356 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28358         Add 'loop facility' to the CL concept index
28360         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
28361         index item.
28363 2017-03-05  martin rudalics  <rudalics@gmx.at>
28365         In `window--display-buffer' fix behavior reported in Bug#25946
28367         * lisp/window.el (window--display-buffer): Set the dedicated
28368         status of the window used and clear its history of previous
28369         buffers also for the case that the window already shows the
28370         buffer to be displayed.  (Bug#25946)
28372 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28374         Compare and round more carefully
28376         * etc/NEWS: Document this.
28377         * src/data.c (store_symval_forwarding):
28378         * src/sound.c (parse_sound):
28379         Do not botch NaN comparison.
28380         * src/data.c (cons_to_unsigned, cons_to_signed):
28381         Signal an error if a floating-point arg is not integral.
28382         * src/data.c (cons_to_unsigned, cons_to_signed):
28383         * src/fileio.c (file_offset):
28384         Use simpler overflow check.
28385         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
28386         Avoid rounding error in overflow check.
28387         (Fcar_less_than_car): Use arithcompare directly.
28388         * test/src/charset-tests.el: New file.
28390 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28392         Fewer rounding errors with (format "%f" fixnum)
28394         * etc/NEWS: Document this.
28395         * src/editfns.c (styled_format): When formatting integers via a
28396         floating-point format, use long double instead of double
28397         conversion, if long double’s extra precision might help.
28399 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28401         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
28403         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
28405 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28407         Clarify documentation of 'raise' and 'height' display specs
28409         * doc/lispref/display.texi (Other Display Specs): Clarify the
28410         effect of 'height' display spec on the following 'raise'.
28411         (Bug#25824)
28413 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28415         Fix header shown by Info 'L' command
28417         * lisp/info.el (Info-history-find-node): A better heading for the
28418         list of visited nodes.  (Bug#25876)
28420 2017-03-04  K. Handa  <handa@gnu.org>
28422         Add a section about incorrect Bengali rendering.
28424 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28426         Fix minor problems with loaddefs autogeneration
28428         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
28429         and coding-system-for-write, to produce a UTF-8 file with Unix
28430         EOLs on MS-Windows.
28432         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
28434 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
28436         Fix issues with dedicated windows in shr.el
28438         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
28439         the window not dedicated, to avoid errors if it was, before
28440         setting its buffer temporarily.  (Bug#25828)
28442 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28444         Mention problems with GPaste in PROBLEMS
28446         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
28447         GPaste, and its solution.  (Bug#25902)
28449 2017-03-04  Glenn Morris  <rgm@gnu.org>
28451         Avoid duplicate gud menu items with gdb-mi
28453         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
28454         entries in gdbmi mode.  (Bug#23923)
28456 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28458         * src/editfns.c (styled_format): Omit unnecessary code.
28460 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28462         logb now works correctly on large integers
28464         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
28465         * etc/NEWS: Document the change.
28466         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
28467         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
28468         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
28469         * src/floatfns.c: Include count-leading-zeros.h.
28470         (Flogb): Do not convert fixnum to float before taking the log,
28471         as the rounding error can cause the answer to be off by 1.
28472         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
28473         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
28475 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28477         Merge from gnulib
28479         This incorporates:
28480         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
28481         2017-02-24 ftoastr: port to -Wdouble-promotion
28482         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
28484 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
28486         Avoid duplicating characters recorded in macros
28488         * src/keyboard.c (record_char): Don't store in macro definitions
28489         characters that came from executing a macro.  (Bug#25860)
28491 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
28493         Fix color component calculations in color.el
28495         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
28496         (color-rgb-to-hex): Accept an optional argument
28497         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
28498         notation either for 8 or 16 bits per component.  (Bug#25890)
28499         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
28500         color-rgb-to-hex with the optional argument of 2, to match color
28501         processing on the Web.
28503 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
28505         Use lexical binding in benchmark.el
28507         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
28508         (benchmark-elapse): Use 'declare'.
28509         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
28511 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
28513         Switch pp.el to lexical binding
28515         Additionally, do some minor code cleanup.
28517         * lisp/emacs-lisp/pp.el: Set lexical-binding.
28518         (pp-buffer): Use skip-syntax-forward.
28519         (pp-eval-expression): Use push.
28520         (pp-last-sexp): Use with-syntax-table.
28521         * test/lisp/emacs-lisp/pp-tests.el: New tests.
28523 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
28525         Fix completing-read call in reb-change-syntax
28527         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
28528         of completing-read.
28530 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
28532         sql-mode w/ sqlite: In-memory database
28534         Enable the usage of an in-memory database. Prior to this, sql-mode w/
28535         sqlite could only be used with file databases.
28536         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
28537         file name provided by the user, but call sub-process sqlite with that,
28538         in which case it uses an in-memory database.
28540 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
28542         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
28544         `abbrev--before-point' does not adjust `pos' to account for when it
28545         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
28546         `abbrev-before-point' goes to restore point, it moves point one
28547         character too far forward.
28549         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
28551 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
28553         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
28555 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28557         Restore XFLOATINT but with restricted args
28559         Turn instances of extract_float into XFLOAT_DATA when possible,
28560         and to a resurrected XFLOATINT when the arg is a number.
28561         The resurrected XFLOATINT is more like XFLOAT and XINT in
28562         that is valid only if its arg is a number.  This clarifies
28563         the ways in which floats can be extracted at the C level.
28564         * src/editfns.c (styled_format):
28565         * src/floatfns.c (extract_float, Fexpt):
28566         Use XFLOATINT rather than open-coding it.
28567         * src/fns.c (internal_equal):
28568         * src/image.c (imagemagick_load_image):
28569         * src/xdisp.c (resize_mini_window):
28570         Prefer XFLOAT_DATA to extract_float on values known to be floats.
28571         * src/frame.c (x_set_screen_gamma):
28572         * src/frame.h (NUMVAL):
28573         * src/image.c (x_edge_detection, compute_image_size):
28574         * src/lread.c (read_filtered_event):
28575         * src/window.c (Fset_window_vscroll):
28576         * src/xdisp.c (handle_single_display_spec, try_scrolling)
28577         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
28578         (on_hot_spot_p):
28579         Prefer XFLOATINT to extract_float on values known to be numbers.
28580         * src/lisp.h (XFLOATINT): Bring back this function, except
28581         it now assumes its argument is a number.
28583 2017-03-02  Glenn Morris  <rgm@gnu.org>
28585         Ert commands to error if no test at point (bug#25931)
28587         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
28588         Deactivate some items if no test at point.
28589         (ert--results-test-at-point-no-redefinition):
28590         Add option to signal an error rather than return nil.
28591         (ert-results-pop-to-backtrace-for-test-at-point)
28592         (ert-results-pop-to-messages-for-test-at-point)
28593         (ert-results-pop-to-should-forms-for-test-at-point)
28594         (ert-results-describe-test-at-point): Error if no test at point.
28596 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28598         Remove XFLOATINT
28600         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
28601         All callers changed to use extract_float.
28602         * src/frame.h (NUMVAL): Now an inline function, not a macro.
28604 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28606         Fix rounding errors in <, =, etc.
28608         * etc/NEWS: Document this.
28609         * src/bytecode.c (exec_byte_code):
28610         * src/data.c (arithcompare):
28611         Do not lose information when comparing floats to integers.
28612         * test/src/data-tests.el (data-tests-=, data-tests-<)
28613         (data-tests->, data-tests-<=, data-tests->=):
28614         Test this.
28616 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
28618         Fix display of mouse-highlight produced by overlapping overlays
28620         * src/xfaces.c (face_at_buffer_position): If called to find the
28621         mouse-face, only consider the highest-priority source for that
28622         face, and ignore the rest.  Previously, all the mouse-face
28623         definitions at POS were merged in that case.
28624         * src/xdisp.c (note_mouse_highlight): Record the overlay that
28625         specifies mouse-face _after_ clearing the info about the previous
28626         overlay, so as not to clear the information about the just-recorded
28627         overlay.  (Bug#25906)
28629 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
28631         Fix display of strike-through text in variable-height lines
28633         * src/nsterm.m (ns_draw_text_decoration):
28634         * src/xterm.c (x_draw_glyph_string):
28635         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
28636         strike-through y-coordinate for a glyph row which is taller than
28637         the strike-through text.  (Bug#25907)
28639 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
28641         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
28643         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
28644         don't call x_net_wm_state when the window is a scroll bar window.
28645         (Bug#24963, Bug#25887)
28647 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
28649         gnus-summary-select-article-buffer: Don't re-render existing article
28651         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
28652         Don't re-render existing article.
28654 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
28656         Don't add debbugs address to message body (bug#25896)
28658         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
28659         Don't add debbugs address to message body (bug#25896), and
28660         don't add it to message header either if it already exists.
28662 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28664         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
28666         (semanticdb--ih): Declare.
28667         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
28668         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
28669         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
28671 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28673         * lisp/help-fns.el (describe-variable): Use cl-print for the value
28675         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
28677 2017-03-02  Glenn Morris  <rgm@gnu.org>
28679         * test/lisp/net/puny-tests.el: New file.
28681 2017-03-02  Glenn Morris  <rgm@gnu.org>
28683         Small puny.el fix
28685         * lisp/net/puny.el (puny-decode-string-internal):
28686         Handle strings with no ascii parts.  (Bug#23688)
28688 2017-03-02  Glenn Morris  <rgm@gnu.org>
28690         Small recover-this-file improvement
28692         * lisp/files.el (recover-this-file): Explicit error if not
28693         visiting a file.  (Bug#23671)
28695 2017-03-01  Glenn Morris  <rgm@gnu.org>
28697         Fix for coding-system completion (bug#23670)
28699         * lisp/international/mule.el (read-buffer-file-coding-system):
28700         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
28701         so that completion-pcm--pattern->regex can append "*?".
28703 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28705         Fix rounding error in ‘ceiling’ etc.
28707         Without this fix, (ceiling most-negative-fixnum -1.0) returns
28708         most-negative-fixnum instead of correctly signaling range-error,
28709         and similarly for floor, round, and truncate.
28710         * configure.ac (trunc): Add a check, since Gnulib’s doc says
28711         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
28712         also missing from some other older operating systems like Solaris
28713         9 which I know we don’t care about any more, so MSVC is the only
28714         reason to worry about ‘trunc’ here.
28715         * src/editfns.c (styled_format): Formatting a float with %c is now an
28716         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
28717         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
28718         only as a result of my misunderstanding old code that I introduced
28719         2011.  Although %d etc. is sometimes used on floats that represent
28720         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
28721         happen with characters.
28722         * src/floatfns.c (rounding_driver): Rework to do the right thing
28723         when the intermediate result equals 2.305843009213694e+18, i.e.,
28724         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
28725         Simplify so that only one section of code checks for overflow,
28726         rather than two.
28727         (double_identity): Remove.  All uses changed to ...
28728         (emacs_trunc): ... this new function.  Add replacement for
28729         platforms that lack ‘trunc’.
28730         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
28731         Make it clear that the arg cannot be floating point.
28732         * test/src/editfns-tests.el (format-c-float): New test.
28733         * test/src/floatfns-tests.el: New file, to test for this bug.
28735 2017-03-01  Glenn Morris  <rgm@gnu.org>
28737         Small help--loaded-p fix
28739         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
28740         with nil file name.  (Bug#25847)
28742 2017-03-01  Leo Liu  <sdl.web@gmail.com>
28744         * src/fns.c (Fbuffer_hash): Doc fix.
28746 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
28748         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
28750         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
28751         Instead, use a plain concat, which will create a string out of a list
28752         of characters.
28754 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
28756         Fix epg-tests with dummy-pinentry program (Bug#23619)
28758         * test/data/epg/dummy-pinentry: New file.
28759         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
28760         when a passphrase is required.  Add debug declaration.  Set
28761         GPG_AGENT_INFO non-destructively.
28763 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28765         Speed generation of ldefs-boot-auto
28767         Previously, generation of ldefs-boot-auto required at least one full
28768         bootstrap and, in extreme cases, two. Now, from build system, it
28769         requires the same time as taken to dump Emacs.
28771         * Makefile.in: Remove all calls, pass to src.
28772         * admin/ldefs-clean.el: Update for changed messages.
28773         * lisp/Makefile.in (compile-first-delete): Add.
28774         * lisp/ldefs-boot-auto.el: Update.
28775         * src/Makefile.in (generate-ldefs-boot): Add.
28777 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28779         Add error handling to magic-mode-alist
28781         * lisp/files.el (set-auto-mode): Add explicit error handling in two
28782           places.
28784 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28786         Remove conditional includes from bootstrap
28788         Previously, bootstrap-emacs includes optional functionality, depending
28789         on the platform which is not needed for bootstrap function.  As a
28790         result, bootstrap-emacs contains different functions in different
28791         circumstances.  If ldefs-boot-auto.el is generated, then loaded
28792         functions will not be added to ldefs-boot-auto.el, although they may be
28793         required during some builds.  With this change, bootstrap-emacs should
28794         always behave the same way and, therefore, require the same autoloads.
28796          * lisp/loadup.el: No longer load optional includes during bootstrap
28797            dumping.
28798          * lisp/ldefs-boot-auto.el: Regenerate.
28799          * lisp/ldefs-boot-manual.el: Add two autoloads.
28801 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28803         Do not use find-file non-interactively
28805          * lisp/international/titdic-cnv.el (miscdic-convert): Use
28806            insert-file-contents in place of find-file.
28808 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28810         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
28812         (update_overlay_arrows): Skip non-markers.
28814 2017-02-28  Ken Brown  <kbrown@cornell.edu>
28816         Try to avoid hang when logging out of MS-Windows
28818         * src/w32term.c (x_update_window_begin, x_update_window_end)
28819         (my_show_window, my_set_window_pos, my_set_focus)
28820         (my_set_foreground_window, my_destroy_window)
28821         (my_bring_window_to_top, x_iconify_frame): Replace calls to
28822         SendMessage by calls to SendMessageTimeout with a 6-second
28823         timeout.  (Bug#25875)
28825 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28827         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
28829 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28831         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
28833         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
28834         (Methods): Document cl-defmethod.
28835         Explain in more detail the order in which the various
28836         methods are executed.  Document the conditions under which a method
28837         is redefined.  Remove reference to `eieio-generic-call-arglst`.
28838         Don't document the precise return value of cl-next-method-p.
28839         (Static Methods): Adjust to use `subclass` specializer.
28840         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
28841         (Signal Handling, Signals): Adjust names and args for cl-generic; add
28842         cl-no-primary-method.
28843         (CLOS compatibility, Wish List): Adjust to new featureset.
28845 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28847         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
28849         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
28851 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28853         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
28855         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
28856         (sgml-syntax-propertize-inside): New fun.
28858 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28860         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
28862         ": ;" after completing a property.
28864 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
28866         Show Ibuffer and jump to line listing current buffer
28868         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
28870 2017-02-27  Juri Linkov  <juri@linkov.net>
28872         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
28874         before adding it to the list of files.
28876 2017-02-27  Juri Linkov  <juri@linkov.net>
28878         Put text properties on query-replace separator string instead of "\0"
28880         * lisp/replace.el (query-replace--split-string):
28881         Split at a substring instead of just character.
28882         (query-replace-read-from): Put text properties on the
28883         separator string instead of "\0".  (Bug#25482)
28885 2017-02-27  Juri Linkov  <juri@linkov.net>
28887         Add file name and its extension to suggestions in dired-mark-files-regexp
28889         * lisp/dired.el (dired-mark-files-regexp): Add file name
28890         and its extension to the list of suggested defaults.  (Bug#25578)
28892 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
28894         Prompt default extension in dired-mark-extension
28896         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
28897         based on extension of file at point.  (Bug#25578)
28899 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
28901         Prevent for consing in cl-mapc and cl-mapl
28903         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
28904         If non-nil, accumulate values in the result (Bug#25826).
28905         (cl-mapc): Do computations inside function instead of call cl-map.
28906         (cl-mapl): Do computations inside function instead of call cl-maplist.
28907         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
28908         Call cl--mapcar-many with non-nil 3rd argument.
28909         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
28910         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
28911         (cl-extra-test-maplist): New tests.
28913 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
28915         Choose the right target dir on dired operations
28917         Prevent from changing the input target dir
28918         when dired-dwim-target is non-nil (Bug#25609).
28919         * lisp/dired-aux.el (dired-do-create-files):
28920         If dired-dwim-target is non-nil, then bind 'default' to nil.
28921         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
28923 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
28925         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
28927 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
28929         Don't record eshell/clear "command" in history (Bug#25838)
28931         `eshell/clear' is implemented by sending a series of blank lines,
28932         which is not a useful thing to have in the history.
28934         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
28935         `string-blank-p' which does check for newlines (even though newlines
28936         have comment-end syntax, not whitespace syntax class).
28937         * lisp/eshell/esh-mode.el (eshell/clear): Remove
28938         `eshell-add-to-history' from `eshell-input-filter-functions' while
28939         sending the blank lines.  This change is needed to solve the bug if
28940         the user customizes `eshell-input-filter' to something that doesn't
28941         filter newlines.
28943 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
28945         Remove a few unused C functions
28947         * src/eval.c (let_shadows_global_binding_p):
28948         * src/print.c (write_string):
28949         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
28950         Remove.
28951         * src/print.c (write_string): Rename from write_string_1.
28952         All uses changed.
28954 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
28956         Avoid segfault in overlay_arrows_changed_p
28958         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
28959         to avoid a segfault.
28961 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
28963         Don't call package--ensure-init-file if initialized during startup
28965         * lisp/emacs-lisp/package.el (package-initialize): Check
28966         `after-init-time' rather than `load-file-name' to decide if
28967         `package--ensure-init-file' should be called.  Depending on
28968         `load-file-name' will fail if the user calls `pacakge-initialize' in
28969         file which is loaded from the init file (Bug#24643, Bug#25819).
28971 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
28973         Fix display of before- and after-strings at invisible text
28975         * src/xdisp.c (next_overlay_string): Don't raise the
28976         ignore_overlay_strings_at_pos_p flag if the iterator is already
28977         set to continue at a buffer position different from the one
28978         where the overlay strings we just processed were loaded.  (Bug#25856)
28980 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
28982         Work on `tramp-completion-mode-p'
28984         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
28986         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
28987         (tramp-completion-mode-p): Reintroduce the check for 'tab.
28989 2017-02-25  Tom Tromey  <tom@tromey.com>
28991         Use font-lock-doc-face in js-mode
28993         Bug#25858:
28994         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
28995         defun.
28996         (js-mode): Use it.
28997         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
28998         test.
29000 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
29002         Don't use IP 0.0.0.0 for package test server (Bug#22582)
29004         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
29005         'server_address' when port number is given on the command line.  Print
29006         IP and port number as a URL, and flush it after printing.
29007         * test/lisp/emacs-lisp/package-tests.el:
29008         (package-test-update-archives-async): Grab the whole URL from server
29009         output.
29011 2017-02-25  Tom Tromey  <tom@tromey.com>
29013         Add more branch support to vc-dir
29015         Bug#25859:
29016         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
29017         * lisp/vc/vc.el (vc-revision-history): New defvar.
29018         (vc-read-revision): Use vc-revision-history.
29019         (vc-print-branch-log): New function.
29020         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
29021         bindings.
29022         * etc/NEWS: Mention new vc-dir bindings.
29024 2017-02-25  Alan Mackenzie  <acm@muc.de>
29026         Allow for the :: operator in C++ "enum class" declarations.
29028         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
29029         "::".
29031 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
29033         Fix bug#25854
29035         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
29036         Simplify error handling for huge inodes.
29037         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
29039 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29041         Avoid leaving garbage on screen when using 'raise' display property
29043         * src/xdisp.c (display_line): Reset voffset value of the iterator
29044         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
29045         which then leaves stuff on screen that needs to be cleared by
29046         redisplay.  (Bug#25855)
29048 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29050         Fix doc strings in info.el
29052         * lisp/info.el (Info-selection-hook, Info-mode-hook)
29053         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
29055 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29057         Fix doc string of 'posn-at-point'
29059         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
29060         (Bug#25796)
29062 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
29064         New option -u / --suppress-output to emacsclient
29066         * lib-src/emacsclient.c (print_help_and_exit, longopts)
29067         (decode_options, main): Implement new option --suppress-output / -u to
29068         suppress printing of eval-results.
29069         * doc/emacs/misc.texi (emacsclient Options): Document the new
29070         "--suppress-output/-u" options.
29071         * etc/NEWS: Mention the new options.
29073 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
29075         Fix scrolling with partial line corner case (Bug#25792)
29077         Also fix up the scrolling tests so that they don't make so many
29078         assumptions about the current window configuration.
29080         * src/xdisp.c (try_window): Take partial line height into account when
29081         comparing cursor position against scroll margin.
29083         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
29084         HEIGHT argument, to allow setting up window with exact height and
29085         partial line.
29086         (scroll-tests-display-buffer-with-height): New display-buffer action
29087         function.
29088         (scroll-tests-scroll-margin-over-max):
29089         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
29090         `scroll-tests--scroll-margin-whole-window'.
29091         (scroll-tests-conservative-show-trailing-whitespace): New test.
29092         (scroll-tests-scroll-margin-negative): Fix line counting.
29093         (scroll-tests--point-in-middle-of-window-p): Set window height
29094         properly.
29096 2017-02-25  Tom Tromey  <tom@tromey.com>
29098         Fix indentation error in js.el
29100         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
29101         call in condition-case.
29102         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
29103         test.
29105 2017-02-24  Tom Tromey  <tom@tromey.com>
29107         add "async" and "await" keywords
29109         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
29111 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29113         Use cl-print for Edebug and EIEIO
29115         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
29116         (edebug-prin1, edebug-print): Remove.
29118         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
29119         (cl-print-object): Add a method for EIEIO objects.
29120         (eieio-edebug-prin1-to-string): Delete.
29121         (edebug-prin1-to-string): Don't advise any more.
29123         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
29124         Replace `object-print' -> `cl-prin1-to-string'.
29126 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29128         Fix left over uses of `call-next-method'
29130         * lisp/cedet/semantic/db-global.el (object-print):
29131         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
29133 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29135         Minor redisplay optimizations
29137         * src/frame.c (Ficonify_frame): No need to redisplay everything.
29139         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
29140         (redisplay_internal): Use it to avoid redisplaying everything.
29141         (try_window_id): Use it keep the same behavior as before.
29143 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29145         * lisp/emacs-lisp/cl-print.el: New file
29147         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
29148         (advice--make-docstring): Use it.
29150         * src/print.c (print_number_index): Don't declare here any more.
29151         (Fprint_preprocess): New function.
29153         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
29155 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
29157         Make calc's least common multiple positive (bug#25255)
29159         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
29160         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
29162 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
29164         Documentation fix in elisp reference manual
29166         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
29167         on 'declare' forms (Bug#25846).
29169 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
29171         Support read syntax for circular objects in Edebug (Bug#23660)
29173         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
29174         for edebug-read-function. Handle the read syntax for circular
29175         objects.
29176         (edebug-read-objects): New variable.
29177         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
29179         * src/lread.c (Fsubstitute_object_in_subtree): Make
29180         substitute_object_in_subtree into a Lisp primitive.
29182 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
29184         Add Conference to the list of valid bibtex entry types
29186         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
29187         Add Conference as a duplicate of InProceedings.  (Bug#25143)
29189 2017-02-23  Glenn Morris  <rgm@gnu.org>
29191         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
29193 2017-02-23  Glenn Morris  <rgm@gnu.org>
29195         Small dunnet score file improvements
29197         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
29198         (dun-do-logfile): Handle non-existing score file.
29200 2017-02-23  Glenn Morris  <rgm@gnu.org>
29202         * lisp/play/dunnet.el (dun-help): Doc fix.
29204 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
29206         Declare dun-line and dun-line-list
29208         Previously, there were free variables 'line' and 'line-list'.
29209         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
29210         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
29211         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
29212         (dun-batch-unix-interface): Use them.
29214 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29216         Merge from gnulib
29218         This incorporates:
29219         2017-02-16 xbinary-io: rename from xsetmode
29220         2017-02-15 xsetmode: new module
29221         * lib-src/etags.c (main):
29222         * lib-src/hexl.c (main):
29223         * src/emacs.c (main) [MSDOS]:
29224         Prefer set_binary_mode to the obsolescent SET_BINARY.
29225         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
29227 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29229         hexl: handle large files and I/O errors
29231         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
29232         Do not include ctype.h, as the code no longer uses isdigit.
29233         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
29234         (DEFAULT_BASE, endian): Remove; was not really used.
29235         (usage): Remove; now done by ‘main’, as that’s simpler.
29236         (progname): Now static.
29237         (output_error, hexchar): New functions.
29238         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
29239         "-little-endian" options, as they did not work and were not used.
29240         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
29241         Use SET_BINARY only once on stdout.
29242         Do not assume file offsets fit in ‘long’.
29243         If an I/O error occurs, report it and exit with nonzero status.
29245 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
29247         Avoid quitting inside a critical section on MS-Windows
29249         * src/w32uniscribe.c (uniscribe_list_family):
29250         * src/w32font.c (w32font_list_family, w32font_text_extents)
29251         (w32font_list_internal, w32font_match_internal)
29252         (list_all_matching_fonts): Prevent quitting while these functions
29253         cons lists of fonts, to avoid leaving the critical section taken
29254         by the main thread, which will then cause any other thread
29255         attempting to enter the critical section to hang.  (Bug#25279)
29257 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
29259         Use revision-completion-table in vc-retrieve-tag
29261         * lisp/vc/vc.el (vc-retrieve-tag): Use the
29262         revision-completion-table command for completion (bug#25710).
29264 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29266         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
29268         remove entries whose car can't be returned by type-of.
29269         (cl--generic-all-builtin-types): New var.
29270         (cl-generic-generalizers): Use it to avoid requiring
29271         extra entries in cl--generic-typeof-types.
29273 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
29275         Find macro binding for symbol-bound macros too (Bug#6848)
29277         There are 2 ways to bind a macro: with global-set-key or
29278         kmacro-bind-to-key.  The former binds a key to a symbol, while the
29279         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
29280         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
29281         case, but broke the symbol case.
29283         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
29284         MACRONAME.
29286 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29288         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
29290 2017-02-22  Juri Linkov  <juri@linkov.net>
29292         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
29294 2017-02-22  Juri Linkov  <juri@linkov.net>
29296         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
29298         (isearch-lazy-highlight-update): Check it to decide whether to apply
29299         overlays only on the selected window.
29301         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
29302         (Bug#17453, bug#21092)
29304 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29306         Minor weak hash table performance tweaks
29308         * src/fns.c (make_hash_table): Omit unnecessary assignment to
29309         h->next_weak when the hash table is not weak.
29310         (copy_hash_table): Put the copy next to the original in the
29311         weak_hash_tables list, as this should have better locality
29312         when scanning the weak hash tables.
29314 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29316         Use float instead of Lisp_Object for rehash_size
29318         * src/alloc.c (purecopy_hash_table):
29319         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
29320         (Fhash_table_rehash_size):
29321         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
29322         The rehash_size member of struct Lisp_Hash_Table is now a
29323         float, not a Lisp_Object.
29324         * src/alloc.c (purecopy_hash_table): Assign members in order.
29325         * src/fns.c (make_hash_table): Use EMACS_INT for size and
29326         float for rehash_size, instead of Lisp_Object for both.
29327         All callers changed.
29328         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
29329         and 1 smaller.
29330         * src/print.c (print_object): Simplify by calling
29331         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
29332         Avoid unnecessary NILP.
29334 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29336         Use ptrdiff_t instead of Lisp_Object for collision
29338         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
29339         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
29340         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
29341         integer (or Qnil if empty).  All callers changed.
29342         (larger_vecalloc): New static function.
29343         (larger_vector): Use it.
29344         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
29345         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
29346         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
29347         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
29348         * src/profiler.c (evict_lower_half, record_backtrace):
29349         -1, not nil, is now the convention for end of collision list.
29350         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
29351         of the free list.  Reallocate H->next last, in case other
29352         reallocations exhaust memory.
29353         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
29354         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
29355         ‘index’, which no longer contain nil.
29356         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
29358 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29360         Hash table threshold is now float, not double
29362         Change default from 0.8 to 0.8125 so it fits in float without
29363         rounding glitches.
29364         * doc/lispref/hash.texi (Creating Hash):
29365         * doc/lispref/objects.texi (Hash Table Type):
29366         * etc/NEWS:
29367         Document change.
29368         * src/fns.c (make_hash_table, maybe_resize_hash_table)
29369         (Fmake_hash_table): Threshold is now float, not double.
29370         Be consistent about how this is rounded.
29371         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
29372         Change back to float, now that the other code rounds consistently.
29373         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
29375 2017-02-22  Juri Linkov  <juri@linkov.net>
29377         Avoid flicker in lazy-highlight by doing all updates without redisplay.
29379         * lisp/isearch.el (lazy-highlight-max-at-a-time):
29380         Change default value from 20 to nil to not trigger redisplay
29381         between updating iterations.
29382         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
29383         overlays when non-nil.
29384         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
29385         with non-nil second arg when the search string is not empty.
29386         Run timer with isearch-lazy-highlight-start instead of
29387         isearch-lazy-highlight-update.
29388         (isearch-lazy-highlight-start): New function. (Bug#25751)
29390 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29392         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
29394         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
29396 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29398         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
29400         which resulted in incomplete list of parents in one copy of the
29401         cl-structure-class class.
29403 2017-02-21  Glenn Morris  <rgm@gnu.org>
29405         Tweak recent custom-reevaluate-setting change
29407         * lisp/custom.el (custom-reevaluate-setting):
29408         Tweak previous change to avoid font-lock init issues.
29410 2017-02-21  Glenn Morris  <rgm@gnu.org>
29412         Ensure delayed-init custom variables get marked special
29414         * lisp/custom.el (custom-reevaluate-setting):
29415         If the variable has never been set, defvar it.  (Bug#25770)
29417 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29419         Turn on lexical-binding in dunnet.el
29421         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
29422         byte compile warnings.
29424 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29426         Make dunnet insertion functions n-ary
29428         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
29429         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
29430         any number of arguments.
29431         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
29432         (dun-take, dun-go, dun-move, dun-press, dun-score):
29433         (dun-compile-save-out, dun-do-logfile): Collect arguments from
29434         multiple insertion calls into less calls with more args.
29436 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
29438         message-goto-body-1: Fix regexp so as not to match multi-line
29440         * lisp/gnus/message.el (message-goto-body-1):
29441         Fix regexp so as not to match multi-line.
29443 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
29445         Simplify cl-get using `plist-member'
29447         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
29448         `plist-member' instead of explicit loop.
29449         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
29451 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29453         Verify xwidget USE_LSB_TAG assumption
29455         * src/xwidget.c (Fxwidget_webkit_execute_script):
29456         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
29458 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
29460         * src/insdel.c (make_gap): Improve comment.
29462 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29464         Do not use switch-to-buffer for working in a temp buffer
29466         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
29467         cf. Bug#22244.
29468         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
29469         with-temp-buffer instead.
29471 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29473         Make dun-room-shorts a defconst
29475         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
29476         initial value into the declaration.
29477         (dun-space-to-hyphen): Remove.
29479 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29481         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
29483         * src/xwidget.c (webkit_javascript_finished_cb)
29484         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
29485         integer.  This fix is just a hack; I’ll file a bug report about
29486         the underlying problem.
29488 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
29490         mm-decode.el: Simplify regexp used to search html meta tag
29492         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
29493         Simplify regexp used to search html meta tag.
29495 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
29497         mm-shr: Ignore coding-system `ascii'
29499         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
29501 2017-02-20  Tom Tromey  <tom@tromey.com>
29503         vc-log-outgoing fixes for git; add binding to vc-dir
29505         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
29506         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
29507         async execution.
29508         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
29509         log-incoming.
29510         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
29511         as remote-location argument.
29513 2017-02-20  Tom Tromey  <tom@tromey.com>
29515         Remove stale comments from vc-git and vc-hg
29517         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
29518         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
29520 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29522         Remove member clone
29524         * lisp/play/dunnet.el (dun-answer): Use member instead.
29525         (dun-members): Remove.
29527 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29529         Prefix global var
29531         * lisp/play/dunnet.el (room): Rename to dun-room.
29532         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
29533         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
29535 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29537         Replace nested ifs with cond
29539         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
29540         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
29541         and cond where appropriate.
29542         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
29543         (dun-take): Use null and dun-mprincl.
29544         (dun-inven-weight, dun-load-d): Reformat.
29545         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
29547 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29549         Fix glitches in recent hash table changes
29551         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
29552         by using 0 rather than -1.
29553         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
29554         than a bitfield, for speed (the bitfield did not save space).
29555         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
29556         float, since the float caused unwanted rounding errors, e.g.,
29557         (hash-table-rehash-threshold (make-hash-table)) yielded
29558         0.800000011920929 instead of the correct 0.8.
29560 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29562         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
29564 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
29566         Avoid aborts during loadup
29568         * src/emacs-module.c (syms_of_module):
29569         * src/image.c (xpm_make_color_table_h): Update calls to
29570         make_hash_table to adjust to a recent change in fns.c.
29571         * src/fns.c (make_hash_table):
29572         * src/lisp.h (make_hash_table): 4th arg is now of type double.
29574 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
29576         Rework connection local variables
29578         For connection local variables interface, `class' is renamed
29579         to `profile'.  All arguments `criteria' are a plist now.
29581         * doc/lispref/variables.texi (Connection Local Variables):
29582         Rewrite.
29584         * lisp/files-x.el (connection-local-profile-alist): Rename
29585         from `connection-local-class-alist'.  Adapt docstring.
29586         (connection-local-criteria-alist): Adapt docstring.
29587         (connection-local-normalize-criteria): New defun.
29588         (connection-local-get-profiles): Rename from
29589         `connection-local-get-classes'.  Rewrite.
29590         (connection-local-set-profiles): Rename from
29591         `connection-local-set-classes'.  Rewrite.
29592         (connection-local-get-profile-variables): Rename from
29593         `connection-local-get-class-variables'.  Rewrite.
29594         (connection-local-set-profile-variables): Rename from
29595         `connection-local-set-class-variables'.  Rewrite.
29596         (hack-connection-local-variables)
29597         (hack-connection-local-variables-apply)): Rewrite.
29598         (with-connection-local-profiles): Rename from
29599         `ith-connection-local-classes'.  Rewrite.
29601         * lisp/net/tramp.el (tramp-set-connection-local-variables):
29602         Compute criteria.
29604         * lisp/net/tramp-cmds.el (tramp-bug):
29605         Use `connection-local-profile-alist'.
29607         * test/lisp/files-x-tests.el (files-x-test--variables1)
29608         (files-x-test--variables2, files-x-test--variables3)
29609         (files-x-test--variables4, files-x-test--criteria1)
29610         (files-x-test--criteria2): Make them a defconst.
29611         (files-x-test--application)
29612         (files-x-test--another-application, files-x-test--protocol)
29613         (files-x-test--user, files-x-test--machine): New defconst.
29614         (files-x-test--criteria): New defvar.
29615         (files-x-test--criteria3): Remove.
29616         (files-x-test-connection-local-set-profile-variables):
29617         Rename from `files-x-test-connection-local-set-class-variables'.
29618         Rewrite.
29619         (files-x-test-connection-local-set-profiles): Rename from
29620         `files-x-test-connection-local-set-classes'.  Rewrite.
29621         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
29622         (files-x-test-with-connection-local-profiles): Rename from
29623         `files-x-test-with-connection-local-classes'.  Rewrite.
29625 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29627         Set up combination and random item location
29629         * lisp/play/dunnet.el (dun-combination): Make defconst.
29630         (tloc, tcomb): Remove.  Replace with a top-level form.
29632 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29634         Replace movement variables with an alist and accessor
29636         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
29637         (northwest, southwest, up, down, in, out): Remove.
29638         (dun-movement-alist): New constant.
29639         (dun-movement): New function.
29640         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
29641         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
29642         (dun-move, dun-special-move): Translate movement symbol to an
29643         enumeration.
29645 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29647         Change top-level setq forms to defvar or defconst
29649         Also collect some code onto fewer lines and reindent.
29650         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
29651         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
29652         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
29653         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
29654         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
29655         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
29656         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
29657         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
29658         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
29659         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
29660         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
29661         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
29662         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
29663         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
29664         declaration to use defvar or defconst.
29665         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
29666         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
29667         dun-verblist.  Those are now constants and the byte compiler doesn't
29668         allow defconsts in lambda lists.
29670 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29672         Move all dunnet globals up to the top
29674         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
29675         (dun-visited, dun-current-room, dun-exitf):
29676         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
29677         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
29678         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
29679         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
29680         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
29681         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
29682         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
29683         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
29684         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
29685         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
29686         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
29687         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
29688         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
29689         top of the file, before any uses.
29691 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
29693         Fix bug#25788
29695         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
29696         Do not load tramp.el just for "/".  (Bug#25788)
29698 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
29700         Fix fringe bitmap initialization on MS-Windows
29702         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
29703         of fb->bits.  (Bug#25673)
29705 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29707         Change type of `rehash_threshold' and `pure' fields in hash-tables
29709         * src/lisp.h (struct Lisp_Hash_Table): Change type of
29710         `rehash_threshold' and `pure' fields and move them after `count'.
29711         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
29712         (Fmake_hash_table, Fhash_table_rehash_threshold):
29713         * src/category.c (hash_get_category_set):
29714         * src/xterm.c (syms_of_xterm):
29715         * src/profiler.c (make_log):
29716         * src/print.c (print_object):
29717         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
29719 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29721         Use 'char *FOO' instead of 'char* FOO'
29723 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29725         More json.el changes
29727         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
29728         (json-read-array): Just use = for char comparison.
29730 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
29732         * lisp/woman.el (woman): Fix docstring prefix arg description.
29734 2017-02-18  Alan Mackenzie  <acm@muc.de>
29736         Fix edebug-spec on c-lang-defvar.
29738         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
29739         optional documentation to be instrumented for edebug.
29741         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
29742         c-lang-defvar.
29743         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
29744         'dont-doc.
29746 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
29748         Lists used as plists now have to be an even length
29750         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
29751         (eww-process-text-input): Not here, either.
29753 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
29755         Unset `non-essential' in Tramp when not needed anymore
29757         * doc/misc/trampver.texi:
29758         * lisp/net/trampver.el: Change version to "2.3.2-pre".
29760         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
29761         Use `tramp-completion-mode-p'.
29763         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
29764         when file name doesn't match `tramp-completion-file-name-regexp'.
29766 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29768         Automatically regenerate emacs.1 and *.rc files
29770         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
29771         non-Makefile files produced by config.status.
29772         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
29773         their targets are regenerated when the source changes.
29775 2017-02-18  Alan Mackenzie  <acm@muc.de>
29777         Set the syntax table in AWK Mode.
29779         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
29780         It fixes bug #25722.
29782         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
29784 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29786         Mention "editor" in Emacs man page header
29788         * doc/man/emacs.1.in: Mention "editor" in the header line.
29789         (Bug#25771, Bug#25779)
29791 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
29793         Fix Turkish language environment setup
29795         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
29796         language setup.  (Bug#25763)
29798 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
29800         Support 24-bit direct colors on text terminals
29802         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
29803         foreground and background functions are present in terminal type
29804         definition.
29805         * src/tparam.h: Define prototype for tigetstr.
29807         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
29808         index to pixel value on 16.7M color terminals.
29809         (tty-color-24bit): New function to convert color palette index to
29810         pixel value on 16.7M color terminals.
29811         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
29812         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
29813         TTY colors on 16.7M color terminals.
29815         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
29816         enable direct color TTY mode.
29817         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
29819 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
29821         Remove unused TN_max_pairs field
29823         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
29824         describing maximum number of terminal background/foreground color pairs.
29825         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
29826         (init_tty): Remove references to TN_max_pairs.
29828 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29830         Improve documentation of query-replace-from-to-separator
29832         * doc/emacs/search.texi (Query Replace): Document the meaning of
29833         the nil value of query-replace-from-to-separator.  (Bug#25482)
29835 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29837         Document problems with nerd-fonts
29839         * etc/PROBLEMS (fonts): Describe the potential problems with
29840         nerd-fonts that cause slow display.  (Bug#25697)
29842 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29844         Improve commentary for a recent change in keyboard.c
29846         * src/keyboard.c (Fset__this_command_keys): Add a comment about
29847         the magic 248 value.  (Bug#25612)
29849 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29851         Avoid infloop in rect.el
29853         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
29854         with argument N whose absolute value is greater than 1.  (Bug#25773)
29856 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29858         Remove annoying warnings about let-binding
29860         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
29861         Remove warnings about making symbols local while let-bound.
29862         (Bug#25561)
29864 2017-02-18  Hong Xu  <hong@topbug.net>
29866         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
29868         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
29869         functionp instead of fboundp on
29870         flyspell-generic-check-word-predicate (Bug#25765).
29872 2017-02-18  Glenn Morris  <rgm@gnu.org>
29874         Remove the build number from emacs-version variable
29876         It's a largely internal detail that can confuse users.  (Bug#25590)
29877         * lisp/version.el (emacs-build-number): New constant.
29878         (emacs-version): Use emacs-build-number.
29879         * lisp/loadup.el (top-level): When dumping, increment
29880         emacs-build-number rather than emacs-version.
29881         * src/emacs.c (emacs-version): Doc fix.
29882         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
29883         Mention emacs-build-number.
29884         * lisp/gnus/gnus-util.el (gnus-emacs-version):
29885         * lisp/mail/emacsbug.el (report-emacs-bug):
29886         * admin/admin.el (set-version): Update for emacs-version change.
29888 2017-02-18  Glenn Morris  <rgm@gnu.org>
29890         Ensure that user-mail-address always has a value
29892         * lisp/startup.el (user-mail-address): Initialize in the normal way.
29893         (command-line): Reset user-mail-address if needed using
29894         standard custom machinery.
29895         * lisp/mail/feedmail.el (feedmail-fiddle-from):
29896         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
29897         * lisp/mail/rmailsum.el (rmail-header-summary):
29898         Simplify now that user-mail-address is always set.
29900 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29902         Turn on lexical-binding in ruby-mode
29904         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
29905         (ruby-font-lock-syntax-table): Use make-syntax-table.
29906         (ruby-mode): 'define-derived-mode' writes the keys for us.
29908 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29910         Turn on lexical-binding in elint.el
29912         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
29913         (elint-running, elint-current-pos): Move these dynamic vars to toward
29914         the top of the file.
29915         (elint-check-quote-form): Ignore unused argument.
29916         (elint-check-conditional-form): Remove unused binding.
29918 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
29920         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
29922 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29924         Enable erc-accidental-paste-threshold-seconds by default
29926         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
29927         default to 0.2 (Bug#25709).
29929 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
29931         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
29933         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
29934         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
29935         one created with ‘make extraclean’), see
29936         <http://hydra.nixos.org/build/48774928>.
29938         The failure was caused by characters.el trying to read Unicode
29939         property tables which aren’t available so early in the build process.
29941         Wrap the part that requires Unicode property tables in a condition
29942         checking if those are available.  If they aren’t they case and syntax
29943         tables won’t be fully set but later on, the characters.el file will be
29944         evaluated again and this time with Unicode properties available so
29945         final Emacs ends up with the exact same case and syntax tables.
29947 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
29949         mm-add-meta-html-tag: Improve regexp
29951         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
29952         Improve regexp to search html meta tag.
29954 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
29956         mm-shr: Prefer charset specified in html meta tag
29958         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
29959         meta tag than mail-parse-charset in the case there is no charset spec
29960         in MIME header.
29962 2017-02-17  Glenn Morris  <rgm@gnu.org>
29964         Stop duplicating some custom-types in message.el
29966         * lisp/gnus/message.el (user-mail-address, user-full-name):
29967         No need to re-specify custom-type.
29969 2017-02-17  Glenn Morris  <rgm@gnu.org>
29971         Whitespace trivia in dunnet.el
29973         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
29974         (dun-rlogin-endgame): Whitespace trivia.
29976 2017-02-17  Glenn Morris  <rgm@gnu.org>
29978         Explicit error on changing case of negative integers
29980         * src/casefiddle.c (casify_object): Reject negative integers:
29981         Emacs characters are positive integers.  (Bug#25684)
29983 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
29985         Fix buffers update in vc-retrieve-tag
29987         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
29988         `repository', use the repository root and pass it to
29989         vc-resynch-buffer (bug#25714).
29991 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29993         * src/buffer.h: Fix indenting.
29995 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29997         Add sanity checks for Bswitch hash tables
29999         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
30000         Check that operand is a hash table and hashes to ints.
30002 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30004         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
30006 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
30008         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
30010         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
30011           redundant operations while calculating the correct jump addresses
30012           from TAGs in jump tables.
30014 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
30016         Minor changes in json.el
30018         * lisp/json.el (json-advance): Simpler docstring.
30019         (json-read-escaped-char): Use xdigit subform in rx expression.
30020         (json-read-string): Just use = for char comparison.
30022 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
30024         Don't expand body inside a let-binding when there are no bindings
30026         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
30027         is non-nil.
30029 2017-02-16  Glenn Morris  <rgm@gnu.org>
30031         Handle user-mail-address being the empty string
30033         * lisp/mail/feedmail.el (feedmail-fiddle-from):
30034         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
30035         * lisp/mail/rmailsum.el (rmail-header-summary):
30036         Belated update for 2002-09-29 startup.el change, 680ebfa, where
30037         the value of user-mail-address during initialization was changed
30038         from nil to the empty string.
30040 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
30042         Continue to fix bug#25607
30044         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
30045         (ido-file-name-all-completions-1): Do not bind `non-essential'.
30047         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
30048         Improve autoloaded version.
30049         (tramp-completion-file-name-handler): Remove old compat code.
30050         Check only for `tramp-completion-mode-p'.
30051         (tramp-completion-mode-p): Autoload.  Do not check any longer
30052         for `last-input-event'.
30053         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
30055 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30057         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
30059         A compatibility digraph characters, such as Dž, are neither upper- nor
30060         lower-case.  At the moment however, those are reported as upper-case¹
30061         despite the fact that they change when upper-cased.
30063         Stop checking if a character is upper-case before trying to up-case it
30064         so that title-case characters are handled correctly.  This fixes one of
30065         the issues mentioned in bug#24603.
30067         ¹ Because they change when converted to lower-case.  Notice an asymmetry
30068           in that for a character to be considered lower-case it must not be
30069           upper-case (plus the usual condition of changing when upper-cased).
30071         * src/buffer.h (upcase1): Delete.
30072         (upcase): Change to upcase character unconditionally just like downcase
30073         does it.  This is what upcase1 was.
30075         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
30076         of upcase1 and don’t check !uppercasep(x) before calling upcase.
30078         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
30079         downcase(x) and see if it changed.
30081         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30082         casefiddle-tests-casing): Update test cases which are now passing.
30084 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30086         Generate upcase and downcase tables from Unicode data  (bug#24603)
30088         Use Unicode data to generate case tables instead of mostly repeating
30089         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
30090         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
30092         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
30093         changes to syntax table and case tables introduced by this commit.
30095         * lisp/international/characters.el: Remove case-pairs defined with
30096         explicit Lisp code and instead use Unicode character properties.
30098         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30099         casefiddle-tests-casing): Update test cases which are now working
30100         as they should.
30102 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30104         Add tests for casefiddle.c  (bug#24603)
30106         Fixes cases marked FIXME upcoming in followup commits.
30108         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
30109         casefiddle-tests-case-table, casefiddle-tests-casing-character,
30110         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
30111         casefiddle-tests-casing-byte8-with-changes): New tests.
30112         (casefiddle-tests--test-casing): New helper function for runnig
30113         some of the tests.
30115 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30117         oldXMenu: add missing #include <string.h>
30119         Some of the files in oldXMenu use functions from string.h without
30120         including that header which results in compile warnings:
30122                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
30123                 ChgPane.c:46:20: warning: incompatible implicit declaration of
30124                         built-in function ‘strlen’
30125                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
30126                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
30127                         function ‘strlen’
30128                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
30129                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
30130                 InsPane.c:65:20: warning: incompatible implicit declaration of
30131                         built-in function ‘strlen’
30132                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
30133                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
30134                         function ‘strlen’
30135                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
30137         Add the necessary ‘#include <string.h>’.
30139         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
30140         oldXMenu/InsSel.c: add missing #include <string.h>
30142 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
30144         Fixup recent rmail patch
30146         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
30148 2017-02-15  Richard Stallman  <rms@gnu.org>
30150         Rmail fix
30152         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
30153         as element 4 of the value.
30154         (rmail-epa-decrypt): Take the text to insert from that element.
30156 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
30158         bytecomp-tests.el: Store all test forms in one constant.
30160         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
30161         in a single constant (byte-opt-testsuite-arith-data), add new forms
30162         which generate lapcode with adjacent/redundant tags.
30164 2017-02-15  Glenn Morris  <rgm@gnu.org>
30166         Small lispref edit
30168         * doc/lispref/os.texi (User Identification):
30169         Remove extraneous detail about user-mail-address.
30171 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30173         Document fill-separate-heterogeneous-words-with-space (bug#25685)
30175         * doc/lispref/text.texi (Filling):
30176         Document fill-separate-heterogeneous-words-with-space (bug#25685).
30178 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
30180         Test comment-multi-line = nil auto fill case too
30182         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
30183         `comment-multi-line' both nil and non-nil.
30184         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
30185         boolean.
30186         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
30188 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30190         Don't delete leading and trailing space from CJK word (bug#25685)
30192         * lisp/textmodes/fill.el (fill-delete-newlines):
30193         Don't delete leading and trailing space from CJK word.
30194         (fill-separate-heterogeneous-words-with-space):
30195         New user option that controls it (bug#25685).
30197 2017-02-15  Juri Linkov  <juri@linkov.net>
30199         ‘M-s w RET word C-s’ repeats incremental search.
30201         * lisp/isearch.el (isearch-new-nonincremental): New variable.
30202         (with-isearch-suspended): Bind isearch-new-nonincremental to
30203         isearch-nonincremental, and restore it afterwards.
30204         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
30205         Set isearch-new-nonincremental to nil.  (Bug#25562)
30207 2017-02-14  Tom Tromey  <tom@tromey.com>
30209         Make vc-git detect conflict state for vc-dir
30211         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
30212         (vc-git-dir-status-update-file): New function.
30213         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
30214         vc-git-dir-status-state; add 'ls-files-conflict state.
30215         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
30217 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
30219         byte-opt: Replace merged tags in jump tables too. (bug#25716)
30221         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
30222           adjacent tags, make sure that the old tag is replaced in all jump
30223           tables, if any. This fixes the bytecode VM jumping to the wrong
30224           address in compiled cond forms where the body of a clause was a loop
30225           of any sort.
30227 2017-02-14  Glenn Morris  <rgm@gnu.org>
30229         Remove overly broad element from default mail-dont-reply-to-names
30231         * lisp/mail/mail-utils.el (mail-dont-reply-to):
30232         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
30233         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
30234         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
30235         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
30237 2017-02-14  Juri Linkov  <juri@linkov.net>
30239         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
30241 2017-02-13  Arash Esbati  <arash@gnu.org>
30243         Match all characters in optional argument of \documentclass
30245         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
30246         characters in optional argument containing name of the main file.
30248 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30250         Merge branch 'master' into feature/byte-switch
30252 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
30254         Fix non-ASCII text encoding (bug#25658)
30256         * lisp/gnus/mm-bodies.el (mm-encode-body):
30257         Fix non-ASCII text encoding (bug#25658).
30259 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30261         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
30263 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
30265         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
30267 2017-02-13  Glenn Morris  <rgm@gnu.org>
30269         Fix recent bootstrap issue by moving string-to-list
30271         * lisp/international/mule-util.el (string-to-list, string-to-vector):
30272         Move from here...
30273         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
30274         The implementation is trivial and at least string-to-list
30275         has ended up being needed early during bootstrap.
30277 2017-02-13  Glenn Morris  <rgm@gnu.org>
30279         Doc fixes related to mail-host-address
30281         * lisp/startup.el (mail-host-address): Doc fix.
30282         * doc/lispref/os.texi (System Environment):
30283         Remove extraneous details of mail-host-address.
30285 2017-02-13  Glenn Morris  <rgm@gnu.org>
30287         Simplify time-stamp mail host usage
30289         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
30290         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
30292 2017-02-13  Glenn Morris  <rgm@gnu.org>
30294         Doc fix for vhdl-mode re mail-host-address
30296         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
30297         (mail-host-address): Do not add to vhdl-related custom group,
30298         since vhdl-template-replace-header-keywords doesn't use it.
30300 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30302         Substitute leading $HOME/ in xdg-user-dirs
30304         * lisp/xdg.el (xdg--substitute-home-env): New function.
30305         (xdg--user-dirs-parse-line): Use it.
30306         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
30308 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30310         * lisp/buff-menu.el: Turn on lexical-binding.
30312 2017-02-13  Juri Linkov  <juri@linkov.net>
30314         * lisp/replace.el (query-replace-from-to-separator): Move propertize
30316         and char-displayable-p test to query-replace-read-from.
30317         Add choice nil to disable this feature.
30318         (query-replace-read-from): Don't reevaluate custom setting.
30319         Use char-displayable-p to test the first non-whitespace character
30320         in query-replace-from-to-separator, use " -> " when fails.
30321         Add prompt for the case when separator is nil but
30322         query-replace-defaults is non-nil.
30323         Remove unused test for regexp-flag.
30324         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
30326 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
30328         Convert more uses of `looking-at' to `following-char'
30330         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
30331         (commit 91478f46238a) with more of the same.
30333         * lisp/bookmark.el (bookmark-send-edited-annotation):
30334           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
30335           with char comparisons using following-char.
30337 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30339         Fix typos in tests for lax-plist-get etc.
30341         Problem reported by Eli Zaretskii (Bug#25606#62).
30342         * test/src/fns-tests.el (test-cycle-lax-plist-get)
30343         (test-cycle-plist-put, test-cycle-lax-plist-put):
30344         Fix tests to match behavior.
30346 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
30348         Fix bug#25607
30350         * lisp/net/tramp.el (tramp-completion-file-name-handler):
30351         Improve autoloaded version.
30352         (tramp-autoload-file-name-handler): Avoid recursive load.
30353         (tramp-completion-handle-expand-file-name): Handle empty NAME.
30354         (Bug#25607)
30356 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30358         Remove server-buffer-clients string from minor-mode-alist
30360         * lisp/server.el: Don't put an element for server-buffer-clients into
30361         minor-mode-alist. (Bug#20201)
30363 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30365         Nix some useless uses of looking-at, looking-back
30367         * lisp/allout.el (allout-kill-topic):
30368         (allout-next-topic-pending-encryption):
30369         * lisp/bookmark.el (bookmark-kill-line):
30370         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
30371         * lisp/cus-theme.el (custom-theme-write-variables):
30372         (custom-theme-write-faces):
30373         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
30374         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
30375         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
30376         (checkdoc-interactive-ispell-loop):
30377         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
30378         (checkdoc-this-string-valid-engine):
30379         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
30380         * lisp/emulation/viper-cmd.el (viper-backward-indent):
30381         * lisp/image-dired.el (image-dired-delete-char):
30382         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
30383         looking-back with char comparisons using following-char, preceding-char.
30385 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
30387         Clarify what is the "cursor"
30389         * doc/lispref/windows.texi (Window Point): Clarify the notion of
30390         "cursor".
30392 2017-02-11  Tom Tromey  <tom@tromey.com>
30394         Recognize JS regexp literals more correctly
30396         Bug#25529
30397         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
30398         constant.
30399         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
30400         (js--syntax-propertize-regexp-syntax-table): Remove.
30401         (js-syntax-propertize): Update.
30402         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
30403         New test.
30405 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30407         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
30409         This avoids using XUINT every time while comparing it with
30410         HASH_HASH (h, i), replacing it with EQ.
30412 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30414         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
30416 2017-02-11  Tom Tromey  <tom@tromey.com>
30418         Fix bug in css--mdn-find-symbol
30420         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
30421         before skipping word characters.
30422         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
30423         regression test.
30425 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30427         src/bytecode.c: Add optional sanity check for jump tables.
30429         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
30430           check that the jump table's size is equal to it's count.
30432 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30434         Merge branch 'master' into feature/byte-switch
30436         * src/bytecode.c: Refactor to follow GNU coding standards
30438 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30440         Fix handling of XBM images on MS-Windows
30442         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
30443         'nbytes' when inverting XBM data bits.  (Bug#25661)
30445 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30447         Fix handling of PBM data
30449         * src/image.c (pbm_load): Handle PBM data with no blanks between
30450         individual pixel values correctly.  (Bug#25660)
30452 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
30454         Fix warnings in debug tracing code
30456         * src/xdisp.c (dump_glyph, dump_glyph_string):
30457         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
30458         specifiers to match signedness.
30460 2017-02-10  Sam Steingold  <sds@gnu.org>
30462         Extract grep-find-ignored-directories processing from rgrep-default-command
30464         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
30465         Some Emacs packages use `grep-find-ignored-directories' to ignore some
30466         directories, so will use this function instead of custom code.
30467         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
30469 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
30471         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
30473         * src/bytecode.c: (exec_byte_code) While linear searching the jump
30474           table, compare the value's hash table first to avoid calling
30475           h->test.cmpfn every time.
30477 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
30479         Fix a few integer-overflow glitches
30481         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
30482         * src/dispextern.h (struct composition_it.rule_idx):
30483         * src/keyboard.c (Fset__this_command_keys):
30484         * src/xwidget.c (webkit_js_to_lisp):
30485         Don’t assume object sizes fit in ‘int’.
30486         * src/xwidget.c (Fxwidget_resize):
30487         Don’t assume Emacs integers fit in ‘int’.
30489 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30491         Fix a bug with displaying an image after a TAB
30493         * src/xdisp.c (display_line): Handle TAB at end of screen line
30494         specially only when we are displaying characters.  (Bug#25662)
30496 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30498         Improve commentary in lisp.h
30500         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
30501         object is discouraged.
30503 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
30505         Move cyclic tests to fns-tests.el
30507         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
30508         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
30509         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
30510         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
30511         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
30512         (test-cycle-plist-get, test-cycle-lax-plist-get)
30513         (test-cycle-plist-member, test-cycle-plist-put)
30514         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
30515         New tests.
30516         * test/manual/cyclic-tests.el: File deleted.
30518 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
30520         Fix instrumenting code with propertized strings in Edebug
30522         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
30523         'read' to decide what is and isn't a syntax error.  (Bug#25068)
30525 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
30527         Improve fontification in bat-mode
30529         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
30530         word and symbol constituents when looking for variable names
30531         to fontify; also, correct the syntax table and mark the equal
30532         sign (=) character as punctuation.  Improve fontification
30533         accuracy of iteration/positional variables.
30534         (bat-mode): Set comment-start-skip.  (Bug#25541)
30536         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
30537         bat-mode.el.
30539 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30541         Restore special setting of this-command-keys by M-x
30543         It was lost when execute-extended-command was reimplemented in Lisp.
30545         * src/keyboard.c (Fset__this_command_keys): New function.
30546         (syms_of_keyboard): Defsubr it.
30548         * lisp/simple.el (execute-extended-command): Set this-command-keys
30549         as novice.el expects.  (Bug#25612)
30551 2017-02-09  Juri Linkov  <juri@linkov.net>
30553         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
30555         to t to display "Pending" in the search prompt for lax
30556         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
30557         when 'bound' is non-nil.
30558         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
30559         at the beginning of regexp (bug#22589).
30561         * lisp/info.el (Info-isearch-search):
30562         Use isearch--lax-regexp-function-p.
30564         * doc/emacs/search.texi (Word Search, Symbol Search):
30565         Mention "Pending" prompt for lax word/symbol search.
30567 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30569         src/bytecode.c (exec_byte_code): Remove unneeded assert.
30571         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
30573 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30575         bytecode.c (exec_byte_code): don't check hash code in linear search.
30577         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
30578           not nil when linear scanning the jump table. Hash tables for are
30579           declared with :size as the exact number of cases, so each entry i
30580           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
30581           check.
30583 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30585         Ibuffer: Update mode documentation
30587         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
30589 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
30591         Fix environment variable for xdg-data-dirs
30593         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
30595 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30597         Ibuffer: Erase output buffer before shell commands
30599         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
30600         BEFORE and AFTER; they are forms to run before/after the operation.
30601         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
30602         New defun; if shell-command-dont-erase-buffer is nil, then
30603         erase shell command output buffer.
30604         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
30606 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30608         Ibuffer: Don't truncate shell command output
30610         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
30611         (ibuffer-do-shell-command-pipe-replace)
30612         Use 'call-shell-region' (Bug#22679).
30613         (ibuffer-do-shell-command-file): Use call-process-shell-command.
30614         If FILE, the file that the buffer object is visiting,
30615         exists and the buffer is up-to-date, then use
30616         FILE instead of creating a temporary file (Bug#22679).
30618 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30620         Improve byte-switch execution.
30622         * lisp/emacs-lisp/byte-opt.el,
30623           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
30624           (byte-compile-lapcode): Calculate the actual jump address while
30625           compiling, store it in the jump table.
30627         * src/bytecode.c: Jump to the looked up value directly, do a linear
30628           search when the number of elements is <= 5.
30630 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
30632         Make sure eshell pipelines don't drop data
30634         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
30635         handling output of the process, make sure to close the pipes only later,
30636         so that the next process in the pipeline recieves EOF only after getting
30637         all its input (Bug#25549).
30639 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
30641         Make mm-shr use mail-parse-charset by default
30643         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
30644         This helps an html message with no charset spec to be decoded.
30646 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
30648         describe-char: unambiguous name for inserting ASCII 7
30650         * lisp/descr-text.el (describe-char): Make the input
30651         suggestion for inserting ASCII character 7 by name use the
30652         unambiguous name "BELL (BEL)" (bug#25641).
30654 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
30656         Modify suppressing `vc-refresh-state' in filenotify-tests.el
30658         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
30659         Use an advice rather than an alias for suppressing `vc-refresh-state'.
30661 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
30663         Disable native completion for ipython (Bug#25067)
30665         * lisp/progmodes/python.el:
30666         (python-shell-completion-native-disabled-interpreters): Add "ipython".
30668 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
30670         Suppress undesired error messages in filenotify-tests.el
30672         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
30673         Suppress `vc-refresh-state', it produces undesired error messages.
30675 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
30677         Fix a typo in ada-mode manual
30679         * doc/misc/ada-mode.texi (Project file variables): Add a missing
30680         right bracket.  Reported by Jean-Christophe Helary
30681         <jean.christophe.helary@gmail.com>.
30683 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
30685         Ensure that Gnus bugs show up in the Emacs tracker
30687         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
30688         package spec.
30690 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
30692         Revert "Don't tag Gnus bugs with "gnus""
30694         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
30696         The debbugs syntax requires a package name
30698 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
30700         Add tests for checking byte-switch code.
30702         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
30703           test byte-switch bytecode.
30705 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
30707         Add xdg library
30709         * etc/NEWS: Mention new library.
30710         * lisp/xdg.el: New file.
30712 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30714         Do not trick info/dir’s timestamp
30716         * Makefile.in (${srcdir}/info/dir): When making this file, do not
30717         do anything special about its timestamp.  Previously this rule
30718         used move-if-change, which meant that this file’s timestamp could
30719         end up being older than the files it depends on, and this caused
30720         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
30721         now that ‘make-dist’ invokes ‘make --question info’.
30723 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30725         Make FOR_EACH_TAIL more like other FOR_EACH macros
30727         See comments by Stefan Monnier in:
30728         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
30729         and by Eli Zaretskii in:
30730         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
30731         * src/fns.c (internal_equal): Do not bypass check for depth
30732         overflow when tail-recursing via a dotted list tail or an overlay
30733         plist, to avoid a rare infloop.
30734         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
30735         arg, and update it at each iteration, rather than have callers
30736         access it.tail.  All callers changed.
30737         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
30738         the caller’s responsibility.  All callers changed.
30739         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
30740         (struct for_each_tail_internal.tail): Remove; no longer needed.
30741         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
30742         arg each time through the loop.  All callers changed.
30744 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30746         Port to clang 3.8.0
30748         It does not allow a for-loop's control var to be an anonymous struct.
30749         * src/lisp.h (struct for_each_tail_internal): New type.
30750         (FOR_EACH_TAIL_INTERNAL): Use it.
30752 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30754         Add cyclic-list tests
30756         * test/manual/cycle-tests.el: New file (Bug#25606).
30758 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30760         FOR_EACH_TAIL now checks for quit
30762         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
30763         maybe_quit are unnecessary in practice, Eli was not convinced
30764         that the calls are unnecessary.
30765         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
30766         Call maybe_quit every so often.
30767         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
30769 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30771         Signal list cycles in ‘length’ etc.
30773         Use macros like FOR_EACH_TAIL instead of maybe_quit to
30774         catch list cycles automatically instead of relying on the
30775         user becoming impatient and typing C-g (Bug#25606).
30776         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
30777         (Frassoc, Fdelete, Freverse):
30778         Use FOR_EACH_TAIL instead of maybe_quit.
30779         (Fnreverse): Use simple EQ to check for circular list instead
30780         of rarely_quit, as this suffices in this unusual case.
30781         (Fplist_put, Flax_plist_put, Flax_plist_put):
30782         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
30783         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
30784         of by-hand tail recursion that did not catch cycles.
30785         * src/fns.c (Fsafe_length, Fplist_get):
30786         * src/xdisp.c (display_mode_element):
30787         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
30788         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
30789         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
30790         fancier versions are no longer needed.
30791         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
30792         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
30793         mostly taken from FOR_EACH_TAIL.
30794         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
30796 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30798         Simplify use of FOR_EACH_TAIL
30800         * src/data.c (circular_list): New function.
30801         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
30802         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
30803         to speed things up a bit on typical hosts with optimization.
30804         All uses changed (Bug#25605).
30806 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
30808         * lisp/textmodes/css-mode.el: Require subr-x at compile time
30810 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
30812         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
30814         * doc/lispref/nonascii.texi (Text Representations): Clarify that
30815         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
30816         'filepos-to-bufferpos' can lead to expensive and slow processing.
30818         * lisp/international/mule-util.el (filepos-to-bufferpos)
30819         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
30821 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30823         Merge remote-tracking branch 'origin/master' into feature/byte-switch
30825 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30827         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
30829         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
30830           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
30831           make sure that obj1/obj2 can be compared with `eq'.
30833 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30835         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
30837 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30839         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
30841         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
30842           Restore value of byte-compile-depth after emitting a jump to a tag
30843           in a jump table, or default/done tags.
30844           Set the depth of final tags for byte-switch to nil after emitting
30845           any jumps to them.
30847 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30849         byte-opt.el: Replace jump tables while decompiling correctly.
30851         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
30852           Don't make a copy of the constant vector, as it isn't used with
30853           the decompiled lapcode.
30854           Make sure that the correct lapcode pair/list is being modified while
30855           replacing the jump table.
30857 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30859         bytecomp.el: Don't store non-keyword symbols in jump-tables.
30861         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
30862           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
30863           table can only be used when comparing variables with constant values.
30865 2017-02-04  Tom Tromey  <tom@tromey.com>
30867         typo fix
30869         (css--colon-inside-selector-p): Fix typo in docstring.
30871 2017-02-04  Tom Tromey  <tom@tromey.com>
30873         Set comment-multi-line in js-mode
30875         Bug#6806:
30876         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
30877         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
30879 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
30881         * test/manual/indent/scss-mode.scss: Fix indentation
30883 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
30885         Fix indentation of multiline CSS property values
30887         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
30888         to properties higher precedence.
30889         (css--colon-inside-selector-p, css--colon-inside-funcall): New
30890         functions for helping SMIE during tokenization.
30891         (css-smie--forward-token, css-smie--backward-token): Distinguish
30892         colons belonging to properties from other colons.
30894         * test/manual/indent/css-mode.css: Add tests for the changes above.
30896         * test/manual/indent/scss-mode.scss: Ditto.
30898 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30900         Add tests for lisp/kmacro.el
30902         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
30904 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30906         Fix autorevert-tests on MS-Windows
30908         * test/lisp/autorevert-tests.el
30909         (auto-revert-test02-auto-revert-deleted-file): Don't check that
30910         auto-revert-use-notify was reset to nil on w32.
30912 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30914         New macro 'ert-with-message-capture'
30916         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
30917         (Bug#25158)
30919         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
30920         (auto-revert-test00-auto-revert-mode)
30921         (auto-revert-test01-auto-revert-several-files)
30922         (auto-revert-test02-auto-revert-deleted-file)
30923         (auto-revert-test03-auto-revert-tail-mode)
30924         (auto-revert-test04-auto-revert-mode-dired):
30925         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
30926         ert-with-message-capture.
30928 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30930         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
30932         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
30933         'declare' form.  (Bug#24722)
30935 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30937         Fix a syntax error when evaluating pcase.el under Edebug
30939         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
30940         with an explicit 'put' form.  Suggested by Gemini Lasswell
30941         <gazally@runbox.com>.  (Bug#24717)
30943 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30944             Eli Zaretskii  <eliz@gnu.org>
30946         Change edebug-max-depth from defconst to defcustom
30948         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
30949         (Bug#24713)
30951         * etc/NEWS: Mention edebug-max-depth.
30953         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
30954         edebug-max-depth and index it.  Add cross-references for
30955         max-lisp-eval-depth and max-specpdl-size.
30957 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30959         Support options with embedded whitespace in 'dired-listing-switches'
30961         * lisp/dired.el (dired-listing-switches): Document how to quote
30962         options with embedded whitespace.
30964         * lisp/files.el (insert-directory): Use split-string-and-unquote
30965         to support dired-listing-switches that specify command-line
30966         options with embedded spaces.  (Bug#25485)
30968 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30969             Noam Postavsky  <npostavs@users.sourceforge.net>
30971         Add tests for lisp/emacs-lisp/testcover.el
30973         * test/lisp/emacs-lisp/testcover-tests.el: New file.
30974         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
30976 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30978         Document 'save-some-buffers-default-predicate'
30980         * doc/lispref/files.texi (Saving Buffers):
30981         * doc/emacs/files.texi (Save Commands): Document
30982         save-some-buffers-default-predicate.
30984 2017-02-04  Richard Stallman  <rms@gnu.org>
30986         New defcustom 'save-some-buffers-default-predicate'
30988         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
30989         (save-some-buffers): Use it when PRED is nil or omitted.
30991 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
30993         Rename to if-let* and when-let*
30995         Make the existing if-let and when-let aliases.
30996         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
30997         docstrings, incorporating that from let* and the existing if-let.
30998         (if-let, when-let, and-let*): Alias them.
31000 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
31002         Revert "Use maphash instead of cl-loop."
31004         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
31006 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
31008         Bump Emacs version to 25.2 RC1
31010         * README:
31011         * configure.ac:
31012         * msdos/sed2v2.inp:
31013         * nt/README.W32: Bump Emacs version.
31014         * lisp/ldefs-boot.el: Update.
31016 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
31018         * admin/make-tarball.txt: Add documentation regarding the release banner.
31020 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
31022         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
31024 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31026         Re-port alloc.c to Solaris sparc and simplify
31028         alloc.c had bitrotted a bit, and used an undefined symbol
31029         stack_base when Emacs was built on Solaris sparc, leading to
31030         compilation failures.  Also, code related to __builtin_unwind_init
31031         was unnecessarily duplicated.  Fix the bitrot and remove some
31032         duplication.
31033         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
31034         is never defined.
31035         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
31036         Define a no-op dummy, to simplify use.
31037         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
31038         than in the caller, to simplify use.
31039         (stacktop_sentry): New type.
31040         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
31041         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
31042         (flush_stack_call_func, Fgarbage_collect): Use it.
31043         (init_alloc): Omit unnecessary initialization.
31044         After dumping, Emacs need not re-test setjmp.
31046 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31048         Add tests for scrolling
31050         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
31052 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31054         Fix scrolling with partial lines
31056         * src/xdisp.c (partial_line_height): New function.
31057         (try_scrolling):
31058         * src/window.c (window_scroll_pixel_based): Use it for calculating the
31059         pixel scroll margin correctly in a window with partial lines.
31061 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31063         Make limit on scroll-margin variable
31065         * src/xdisp.c (maximum-scroll-margin): New variable.
31066         * lisp/cus-start.el: Make it customizable.
31067         * etc/NEWS: Mention it.
31068         * doc/emacs/display.texi (Auto Scrolling):
31069         * doc/lispref/windows.texi (Textual Scrolling): Document it.
31070         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
31071         division by 4 (Bug #5718).
31073 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31075         Don't count mode line for scroll-margin limit
31077         * src/window.c (window_scroll_margin): Use window_box_height to avoid
31078         counting header line, scrollbars for scroll-margin limit (Bug #5718).
31080 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31082         Refactor uses of scroll_margin to a function
31084         Its effective range needs to be clamped between 0 and (window height /
31085         4), so it's better to have this constraint in a single place.
31087         * src/window.c (window_scroll_margin): New function.
31088         (window_scroll_pixel_based, window_scroll_line_based):
31089         (Frecenter, Fmove_to_window_line):
31090         * src/xdisp.c (try_scrolling, try_cursor_movement):
31091         (redisplay_window, try_window, try_window_id): Use it.
31093 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
31095         (xref-collect-matches): Use '-E' together with '-e'
31097         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
31098         together with '-e', as suggested by Noam Postavsky
31099         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
31101 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31103         Pacify Oracle Studio 12.5
31105         * src/emacs.c (main): Do not silently convert char * to bool.
31107 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31109         Fix lisp.h underparenthesization
31111         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
31112         Parenthesize compound literals that are function call args.
31113         Although this does not fix any bugs, it is the proper style for
31114         macro parenthesization as it means this code will continue to
31115         work even if make_lisp_ptr is changed to a macro.
31117 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
31119         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
31121         (doc-view-revert-buffer): Silence overflow warnings.
31123 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31125         Merge from gnulib
31127         2017-01-30 Port to PGI 16.10 x86-64
31128         2017-01-20 time_rz: fix comment typo
31129         2017-01-14 strftime: %z is -00 if unknown
31130         This incorporates:
31131         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
31132         * lib/time-internal.h, lib/verify.h:
31133         Copy from gnulib.
31135 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31137         Check if there are hunks before kill or refine a hunk
31139         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
31140         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
31142 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31144         Ignore error after kill last file or hunk
31146         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
31147         Ignore error after kill last hunk (Bug#25570).
31148         (diff-file-kill): Idem.
31150 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31152         Show current line highlighted in *Occur* buffer
31154         * lisp/replace.el (list-matching-lines-current-line-face)
31155         (list-matching-lines-jump-to-current-line): New user options.
31156         (occur--orig-line, occur--orig-line-str): New variables.
31157         (occur, occur-engine): Use them.
31158         (occur--final-pos): New variable.
31159         (occur-1): Use it.
31160         (occur-engine): Idem.
31161         Show the current line with 'list-matching-lines-current-line-face'.
31162         Set point on the first matching line after the current one.
31163         * etc/NEWS: Add entry for the new option.
31165 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31167         Allow occur command to operate on the region
31169         See discussion in:
31170         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
31171         * lisp/replace.el (occur--region-start, occur--region-end)
31172         (occur--matches-threshold): New variables.
31173         (occur-engine): Use them.
31174         (occur): Idem.
31175         Add optional arg REGION; if non-nil occur applies in that region.
31176         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
31177         * doc/emacs/search.texi (Other Repeating Search): Idem.
31179 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31181         Treat list-buffers-directory as a string
31183         Another step in the long history of list-buffers-directory.  A thread
31184         branch discussing the meaning/use of the variable starts here
31185         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
31186         Also see (info "(elisp) Buffer File Name").
31187         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
31188         Info-* defvars.
31189         (Buffer-menu--pretty-file-name): Remove special case.  Use
31190         bound-and-true-p.
31191         (Buffer-menu-info-node-description): Remove.
31192         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
31193         list-buffers-directory as a string.
31194         * lisp/info.el (Info-node-description): New function.
31195         (Info-select-node): Use it.
31197 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31199         Turn on lexical-binding in parse-time.el
31201         * lisp/calendar/parse-time.el: Turn on lexical-binding.
31202         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
31203         bindings.
31205 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31207         Prevent creating thumbnails of all gif frames
31209         With the previous defaults, doing image-dired on a directory with an
31210         animated foo.gif would cause creation of foo.thumb-N.gif for each of
31211         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
31212         there additionally is no usable thumbnail after all the needless effort.
31213         image-dired never handled animation, regardless.
31214         * lisp/image-dired.el: Mention limitation.
31215         (image-dired-cmd-create-thumbnail-options):
31216         (image-dired-cmd-create-temp-image-options):
31217         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
31218         filename to indicate only converting the 0th frame.
31219         (image-dired-display-image-mode): Don't show a cursor.
31221 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31223         Fix quitting bug when buffers are frozen
31225         Problem noted by Eli Zaretskii in:
31226         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
31227         This patch also fixes some other issues in that report.
31228         * src/lisp.h (incr_rarely_quit): Remove.
31229         All callers changed to use rarely_quit directly.
31230         * src/search.c (freeze_buffer_relocation)
31231         (thaw_buffer_relocation): New functions.
31232         (looking_at_1, fast_looking_at, search_buffer):
31233         Use them to fix bug when quitting when buffers are frozen.
31234         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
31235         All uses changed.
31237 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31239         Revamp quitting and fix infloops
31241         This fixes some infinite loops that cannot be quitted out of,
31242         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
31243         when byte-compiled and when run under X.  See:
31244         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
31245         This also attempts to keep the performance improvements I recently
31246         added, as much as possible under the constraint that the infloops
31247         must be caught.  In some cases this fixes infloop bugs recently
31248         introduced when I removed immediate_quit.
31249         * src/alloc.c (Fmake_list):
31250         Use rarely_quit, not maybe_quit, for speed in the usual case.
31251         * src/bytecode.c (exec_byte_code):
31252         * src/editfns.c (Fcompare_buffer_substrings):
31253         * src/fns.c (Fnthcdr):
31254         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
31255         (Fbackward_prefix_chars):
31256         Use rarely_quit so that users can C-g out of long loops.
31257         * src/callproc.c (call_process_cleanup, call_process):
31258         * src/fileio.c (read_non_regular, Finsert_file_contents):
31259         * src/indent.c (compute_motion):
31260         * src/syntax.c (scan_words, Fforward_comment):
31261         Remove now-unnecessary maybe_quit calls.
31262         * src/callproc.c (call_process):
31263         * src/doc.c (get_doc_string, Fsnarf_documentation):
31264         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
31265         * src/lread.c (safe_to_load_version):
31266         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
31267         Use emacs_read_quit instead of emacs_read in places where
31268         C-g handling is safe.
31269         * src/eval.c (maybe_quit): Move comment here from lisp.h.
31270         * src/fileio.c (Fcopy_file, e_write):
31271         Use emacs_write_quit instead of emacs_write_sig in places where
31272         C-g handling is safe.
31273         * src/filelock.c (create_lock_file): Use emacs_write, not
31274         plain write, as emacs_write no longer has a problem.
31275         (read_lock_data): Use emacs_read, not read, as emacs_read
31276         no longer has a problem.
31277         * src/fns.c (rarely_quit): Move to lisp.h and rename to
31278         incr_rarely_quit.  All uses changed..
31279         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
31280         * src/indent.c (compute_motion):
31281         * src/syntax.c (find_defun_start, back_comment, forw_comment)
31282         (Fforward_comment, scan_lists, scan_sexps_forward):
31283         Use incr_rarely_quit so that users can C-g out of long loops.
31284         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
31285         inner loop, so that it catches C-g there too.
31286         * src/keyboard.c (tty_read_avail_input): Remove commented-out
31287         and now-obsolete code dealing with interrupts.
31288         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
31289         the latter moved here from fns.c and renamed from rarely_quit.
31290         (emacs_read_quit, emacs_write_quit): New decls.
31291         * src/search.c (find_newline, search_buffer, find_newline1):
31292         Add maybe_quit to catch C-g.
31293         * src/sysdep.c (get_child_status): Always invoke maybe_quit
31294         if interruptible, so that the caller need not bother.
31295         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
31296         New functions.
31297         (emacs_read): Rewrite in terms of emacs_nointr_read.
31298         Do not handle C-g or signals; that is now for emacs_read_quit.
31299         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
31300         with INTERRUPTIBLE three-way arg.  All uses changed.
31302 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31304         Remove immediate_quit.
31306         The old code that sets and clears immediate_quit was
31307         ineffective except when Emacs is running in terminal mode, and
31308         has problematic race conditions anyway, so remove it.  This
31309         will introduce some hangs when Emacs runs in terminal mode,
31310         and these hangs should be fixed in followup patches.
31311         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
31313 2017-02-01  Alan Mackenzie  <acm@muc.de>
31315         Allow C++ nested brace-list-entries to be better indented.
31317         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
31318         nested brace lists when the opening element stands on the same line as both
31319         its introductory brace and an enclosing parameter list parenthesis.
31321         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
31323         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
31324         presence of exactly an identifier between an open parenthesis and an open
31325         brace as evidence of the brace starting a brace list.
31326         (c-looking-at-statement-block): New function, extracted from
31327         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
31328         when needed.
31329         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
31330         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
31331         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
31332         all added syntactic symbols to those having an anchor point on the same line.
31333         Add, in addition to the current additional symbols, c-brace-list-entry when
31334         needed; use c-looking-at-statement-block to determine the latter.
31335         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
31336         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
31337         getting, possibly, several accompanying syntactic entries.
31339         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
31340         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
31342         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
31343         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
31345         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
31346         brace-list-intro.
31347         (Brace List Symbols): Amend the example to show the new analysis of brace
31348         lists when the first element comes on the same line as the opening brace.
31349         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
31351 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
31353         Revert "DOn't use string-as-unibyte in Gnus"
31355         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
31357         Not all the cases where we had string-as-unibyte were characters,
31358         so this needs to be considered more thoroughly before being redone.
31360 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
31362         Use maphash instead of cl-loop.
31364         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
31365           instead of cl-loop
31367 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
31369         Fix a subtle problem in Tramp with timers
31371         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
31372         list.  Make it work when called inside a timer.  See
31373         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
31375 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
31377         Index byte-compile-debug
31379         * doc/lispref/compile.texi (Compilation Functions): Index
31380         byte-compile-debug.
31382 2017-01-31  Philipp Stephani  <phst@google.com>
31384         Document `byte-compile-debug' in the ELisp manual
31386         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
31388 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31390         read-multiple-choice: explain dialog popups more
31392         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
31393         when a graphical popup is used and how it can be avoided.
31395 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31397         auth-source-user-and-password: add forgotten user parameter
31399                 * lisp/auth-source.el (auth-source-user-and-password): Use
31400                   accidentally unused "user" parameter.
31401                   Reported by Oscar Najera <najera.oscar@gmail.com>.
31403 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
31405         Fix typo in a NEWS entry for CSS mode
31407 2017-01-31  Philipp Stephani  <phst@google.com>
31409         Document variable `byte-compile-debug'
31411         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
31413 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
31415         DOn't use string-as-unibyte in Gnus
31417         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
31418         string-as-unibyte.
31419         (nnmail-insert-xref): Ditto.
31421         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
31423         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
31425         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
31426         (gnus-browse-foreign-server): Ditto.
31427         (gnus-browse-foreign-server): Ditto.
31429         * lisp/gnus/gnus-start.el
31430         (gnus-update-active-hashtb-from-killed): Ditto.
31431         (gnus-read-newsrc-el-file): Ditto.
31433         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
31435         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
31436         (nnir-get-active): Ditto.
31438 2017-01-31  Juri Linkov  <juri@linkov.net>
31440         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
31442         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
31443         M-. in article buffers work for `foo' strings, and still allow
31444         C-s C-w to yank ' to the search ring (bug#22248).
31446 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31448         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
31450 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
31452         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
31454 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31456         New test for diff-mode handling trailing --
31458         test/lisp/vc/diff-mode-tests.el: New test file
31460 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31462         Handle patch terminators produced by git and bzr patch export
31464         Patch by Juri Linkov posted in the #9597 bug report
31466         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
31467         terminator (Bug #9597, #5302)
31469 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31471         Revert two accidental commits
31473         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
31474         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
31476 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31478         stash
31480 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31482         comint-get-old-input-default: behavior follows docstring
31484         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
31485         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
31486         if point is on an output field.
31488 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
31490         Fix call to debugger on assertion failure
31492         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
31493         argument must be `error', and the second is a list of arguments for
31494         `signal'.
31496 2017-01-30  Tom Tromey  <tom@tromey.com>
31498         css-mode documentation lookup feature
31500         * etc/NEWS: Mention new feature.
31501         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
31502         (css--mdn-lookup-history): New defvar.
31503         (css-lookup-url-format): New defcustom.
31504         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
31505         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
31506         defuns.
31507         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
31508         test.
31510 2017-01-30  Glenn Morris  <rgm@gnu.org>
31512         edt-mapper: just loading a library should not run code
31514         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
31515         containing code previously at top-level.
31516         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
31517         run edt-mapper function.
31519 2017-01-30  Glenn Morris  <rgm@gnu.org>
31521         mh-compat.el: remove duplicate definition
31523         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
31524         Remove duplicate definition.
31526 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
31528         Add delq list arg check
31530         * src/fns.c (Fdelq): Check that list is a proper list.
31531         This is more compatible with what ‘delete’ does.
31533 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
31535         * lisp/indent.el (indent-region-line-by-line): New function.
31537         Extracted from indent-region.
31538         (indent-region, indent-region-function): Use it.
31540 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
31542         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
31544 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
31546         More fixes to prevent crashes on C-g
31548         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
31549         before returning, to avoid crashes in quit.  (Bug#25566)
31551 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
31553         Avoid crashes on C-g in TTY sessions
31555         * src/keyboard.c (handle_interrupt): Don't quit if
31556         waiting_for_input is set, as doing that is "unsafe": it will
31557         abort.  (Bug#25566)
31559 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
31561         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
31563         Merge remote-tracking branch 'origin/master' into feature/byte-switch
31565 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
31567         Fix hash tables not being purified correctly.
31569         * src/alloc.c
31570         (purecopy_hash_table) New function, makes a copy of the given hash
31571         table in pure storage.
31572         Add new struct `pinned_object' and `pinned_objects' linked list for
31573         pinning objects.
31574         (Fpurecopy) Allow purifying hash tables
31575         (purecopy) Pin hash tables that are either weak or not declared with
31576         `:purecopy t`, use purecopy_hash_table otherwise.
31577         (marked_pinned_objects) New function, marks all objects in pinned_objects.
31578         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
31579         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
31580         * src/fns.c: Add `purecopy' parameter to hash tables.
31581         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
31582         to make_hash_table.
31583         (make_hash_table): Add `pure' parameter, set h->pure to it.
31584         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
31585         CHECK_IMPURE.
31586         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
31587           hash tables.
31588         * src/print.c: (print_object) add the `purecopy' parameter while
31589           printing hash tables.
31590         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
31591           src/xterm.c: Use new (make_hash_table).
31593 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
31595         Escape dash in xref rgrep regexp
31597         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
31598         in REGEXP if it's the first character.
31600 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
31602         Say JavaScript, not Javascript
31604         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
31605         (js-js-error, js-eval, js-set-js-context)
31606         (js--get-js-context):
31607         Refer to the language consistently as JavaScript.
31609 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
31611         lisp/*.el: Fix some warnings
31613         * lisp/battery.el (dbus-get-property):
31614         * lisp/dired-aux.el (format-spec): Declare function.
31616         * lisp/net/zeroconf.el (zeroconf-list-service-names)
31617         (zeroconf-list-service-types, zeroconf-list-services):
31618         Mark unused lexical arg.
31620         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
31621         * lisp/progmodes/sql.el (sql-end-of-statement):
31622         Pass LIMIT to 'looking-back'.
31624 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
31626         Don't warn about obsolete defgenerics when defining them
31628         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
31629         should run after the definition code (Bug#25556).
31631 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
31633         Call modification hooks in org-src fontify buffers
31635         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
31636         `inhibit-modification-hooks' to nil, since this function can be called
31637         from jit-lock-function which binds that variable to t (Bug#25132).
31639 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
31641         Fix Bug#25524
31643         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
31644         Return position at the beginning off the hunk.
31645         (diff-file-junk-re): Add SVN keywords.
31647 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
31649         hl-line.el: Don't try to operate on a killed buffer
31651         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
31652         live buffers (bug#25522).
31654 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
31656         Use access-file in EWW to check before downloading a file
31658         * lisp/net/eww.el (eww-download): Check accessibility of
31659         eww-download-directory to prevent starting a download that will fail
31660         to write.
31661         * src/fileio.c (Faccess_file): Clarify the use of string argument in
31662         the docstring.
31664 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
31666         Subject: Check Bcc after the Messag hook has run
31668         * lisp/gnus/message.el (message-send): If the hook modifies
31669         the message (mml tags or headers), we should check bcc on the
31670         final message, not on the original.
31672 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
31674         Improve documentation of 'format' conversions
31676         * src/editfns.c (Fformat): More accurate description of %g and
31677         effects of the various flags on it.  More accurate description of
31678         integer conversions.
31680         * doc/lispref/strings.texi (Formatting Strings): More accurate
31681         description of %g and effects of the various flags on it.  More
31682         accurate description of integer conversions.  (Bug#25557)
31684 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
31686         test/*.el: Avoid byte-compiler warnings
31688         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
31690         * test/lisp/faces-tests.el (faces--test): New customization group.
31691         (faces--test1, faces--test2): Use it.
31693         * test/lisp/ffap-tests.el (ffap-tests-25243):
31694         Call 'mark-whole-buffer' interactively.
31696         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
31697         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
31698         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
31699         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
31701         * test/lisp/minibuffer-tests.el (completion-test1):
31702         Mark unused lexical arguments.
31704         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
31705         'with-no-warnings' to avoid them when the macro is invoked for effect.
31707         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
31708         Mark unused lexical arguments.
31710         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
31711         Mark unused lexical arguments.
31712         (let-alist-cons): Remove unused let binding.
31714         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
31715         (dbus-get-unique-name): Declare.
31717         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
31718         Call 'font-lock-fontify-buffer' interactively.
31720         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
31721         Mark unused lexical argument.
31723 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31725         Restore a test that was removed by a recent commit
31727         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
31728         errno value unless it's necessary.  (Bug#25419)
31730 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
31732         Fix a couple eww customization types
31734         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
31735         Change customization type to "directory".
31737 2017-01-27  Philipp Stephani  <phst@google.com>
31739         Don't require a shell when loading htmlfontify
31741         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
31742         detecting the etags version (Bug#25468).
31743         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
31744         test.
31746 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
31748         Slightly tune file-accessible-directory-p fix
31750         * src/fileio.c (Ffile_accessible_directory_p):
31751         Remove unnecessary test (Bug#25419).
31753 2017-01-27  Arash Esbati  <arash@gnu.org>
31755         Add \citetitle to biblatex cite format
31757         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
31758         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
31759         per user request
31760         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
31762 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31764         Fix charsets and encodings from non-file MIME parts
31766         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
31767         encoding right for parts that do not originate from files.
31769 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31771         Fix 'describe-variable' for longish variable values
31773         * lisp/help-fns.el (describe-variable): Don't accidentally remove
31774         the last character of a variable's value.  (Bug#25545)
31776 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
31778         Remove stale functions from ert manual
31780         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
31781         Replace ert--mismatch references with its cl-lib replacement,
31782         cl-mismatch.
31784 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31786         Fix a typo in Eshell manual
31788         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
31789         Kolybabi <mak@kolybabi.com>.
31791 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31793         Ensure last line is at window bottom in shell buffers
31795         * lisp/shell.el (shell-mode): Use setq-local.  Set
31796         scroll-conservatively to 101 locally.  See the discussion at
31797         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
31798         for the reasons.
31800 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
31802         Support Bash Ctrl-Z indication of directory name in term.el
31804         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
31805         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
31807 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31809         Don't report zero errno for inaccessible directory
31811         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
31812         a file handler reports a failure.  (Bug#25419)
31814 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31816         Fix filenotify-tests on MS-Windows
31818         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
31819         (file-notify-test05-dir-validity)
31820         (file-notify-test06-many-events)
31821         (file-notify-test08-watched-file-in-watched-dir): Manually remove
31822         the watch descriptor before calling file-notify--test-cleanup-p.
31823         (Bug#25539)
31825 2017-01-27  Hong Xu  <hong@topbug.net>
31827         python-mode: Fix detection for opening blocks.
31829         * lisp/progmodes/python.el
31830         (python-info-dedenter-opening-block-positions): There can't be any
31831         back-indented lines between an opening block and the current line.
31833         * test/lisp/progmodes/python-tests.el
31834         (python-indent-electric-colon-4): Add an indent test case where
31835         there is one-more indented previous opening block.
31837 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31839         Fix Message check for bogus domain names
31841         * lisp/gnus/message.el (message-make-fqdn): Fix check for
31842         bogus system names (bug#24570).
31844 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
31846         Subject: Restore correct Gnus newsgroup name after sending message
31848         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
31849         gnus-newsgroup-name in the correct buffer (bug#24329).
31851 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31853         Mention the new Gnus sorting command
31855 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31857         Don't try to find charsets of non-text MIME parts
31859         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
31860         to try to determine the charset of non-text message parts, so
31861         skip that (bug#24190).  This will also remove messages like
31862         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
31863         if you include such files.
31865 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31867         Add new command gnus-article-sort-by-marks
31869         * doc/misc/gnus.texi (Summary Sorting): Mention
31870         gnus-summary-sort-by-marks.
31872         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
31873         function (bug#23393).
31874         (gnus-thread-sort-by-marks): Ditto.
31875         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
31876         (gnus-summary-mode-map): Add keystroke.
31877         (gnus-summary-make-menu-bar): Add to menu.
31879 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
31881         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
31883         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
31884         Ignore summary commands that aren't bound to
31885         gnus-article-read-summary-keys keys (bug#18257).
31887 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31889         Fix crossposting in non-primary groups
31891         * lisp/gnus/message.el
31892         (message-cross-post-followup-to-header): Gnus server prefixes
31893         shouldn't be included in the group names (bug#21661).
31894         (message-cross-post-followup-to): Ditto.
31896 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31898         Gnus doc clarification
31900         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
31901         that "unreachable" is the same as disabling it (bug#21630).
31903 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31905         Remove dead code from rfc2047
31907         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
31909         It's been disabled since 2005, when I made the change with the
31910         following comment.
31912         (rfc2047-encode-message-header): Disabled header folding -- not
31913         all headers can be folded, and this should be done by the message
31914         composition mode.  Probably.  I think.
31916 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31918         Fill too long mail headers
31920         * lisp/gnus/message.el (message--fold-long-headers): New
31921         function to fold too-long headers (bug#21608).
31922         (message-send-mail): Use it to fill headers longer than 998
31923         characters (which is the protocol limit).
31925 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31927         Make nndoc more resilient against corrupted files
31929         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
31930         out on invalid files, like invalid .gz files (bug#21538).
31931         This may hinder Gnus from starting up.
31933 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31935         Respect buffer-local message-fcc-handler-function
31937         * lisp/gnus/message.el (message-do-fcc): Copy the local
31938         variables from the Message buffer so that local settings of
31939         `message-fcc-handler-function' etc are respected (bug#21174).
31941 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31943         (message-do-fcc): Modernize the code slightly.
31945         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
31947 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31949         Avoid a regexp overflow in message-goto-body
31951         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
31952         complicated backtracking regexp, because they may overflow on
31953         large headers (bug#21160).
31955 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31957         Refactor message-goto-body
31959         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
31961 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31963         Fix typo in last checkin
31965         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
31966         nnimap-shell-program (bug#20651).
31968 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31970         Document nnimap-shell-program
31972         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
31973         nnimap-shell-program (bug#20651).
31975 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31977         Document :shell-command in `make-network-process'
31979         * doc/lispref/processes.texi (Network): Document :shell-command.
31981         * lisp/net/network-stream.el (open-network-stream): Document
31982         the :shell-command parameter (bug#20651).
31984 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31986         Gnus doc clarification
31988         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
31989         the gnus-prompt-before-saving variable (bug#20500).
31991 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31993         Fix the previous mml patch better
31995         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
31996         previous patch in a better way (bug#20480).
31998 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32000         Give a slight better error message in mml-minibuffer-read-file
32002         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
32003         better error message when the user enters nothing (bug#20480).
32005 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32007         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
32009 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32011         Make eww buffers prettier in the buffer listing
32013         * lisp/net/eww.el (eww-render): Put the currently visited URL
32014         into the buffer listing (bug#23738).
32015         (eww-render): Ditto.
32017 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32019         Allow mml-attach-file to prompt less
32021         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
32022         prompt for type/description/disposition, but use defaults
32023         (bug#19202).
32025 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
32027         Don't allow message-newline-and-reformat to be run outside the body
32029         * lisp/gnus/message.el (message-newline-and-reformat): Error
32030         out if run outside the body of a message (bug#18820).
32032 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32034         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
32036         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
32037           byte-compile-constant instead of byte-compile-form to push nil.
32039 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32041         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
32043 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32045         Replace QUIT with maybe_quit
32047         There’s no longer need to have QUIT stand for a slug of C statements.
32048         Use the more-obvious function-call syntax instead.
32049         Also, use true and false when setting immediate_quit.
32050         These changes should not affect the generated machine code.
32051         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
32053 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32055         A quicker check for quit
32057         On some microbenchmarks this lets Emacs run 60% faster on my
32058         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
32059         * src/atimer.c: Include keyboard.h, for pending_signals.
32060         * src/editfns.c (Fcompare_buffer_substrings):
32061         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
32062         (Fnconc, Fplist_member):
32063         Set and clear immediate_quit before and after loop instead of
32064         executing QUIT each time through the loop.  This is OK for loops
32065         that affect only locals.
32066         * src/eval.c (process_quit_flag): Now static.
32067         (maybe_quit): New function, containing QUIT’s old body.
32068         * src/fns.c (rarely_quit): New function.
32069         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
32070         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
32071         Use it instead of QUIT, for
32072         speed in tight loops that might modify non-locals.
32073         * src/keyboard.h (pending_signals, process_pending_signals):
32074         These belong to keyboard.c, so move them here ...
32075         * src/lisp.h: ... from here.
32076         (QUIT): Redefine in terms of the new maybe_quit function, which
32077         contains this macro’s old definiens.  This works well with branch
32078         prediction on processors with return stack buffers, e.g., x86
32079         other than the original Pentium.
32081 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32083         Simplify make-list implementation
32085         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
32086         is not worth it these days.
32088 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
32090         Make use of cl-loop destructuring
32092         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
32093         destructuring.
32094         (with-js): Add declare forms.
32096 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32098         Revert "Bind C-c keys in the article buffer"
32100         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
32102         The commit somehow lead to problems in other parts of Emacs.
32104 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32106         Document how to quote MML tags
32108         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
32109         quote MML tags (bug#18881).
32111 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32113         Make address parsing more robust
32115         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
32116         bug out on addresses like
32117         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
32118         (bug#18572).
32120 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32122         Fix the %P (line number) thing in Gnus summary buffers
32124         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
32126         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
32127         "pick" mode line number on entry instead of relying in a hack (bug#18311).
32129 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32131         Fix wrong documentation on nnmairix keystrokes
32133         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
32134         nnmairix commands are on G G, not $ (bug#18260).
32136 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32138         Bind C-c keys in the article buffer
32140         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
32141         C-c keys so that they execute in the summary buffer
32142         (bug#18257).  This makes commands like `C-c C-f' work from the
32143         article buffer.
32145 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32147         Don't mark articles in Gnus as displayed when they aren't
32149         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
32150         mark any articles as selected if we're not selecting any
32151         articles (bug#18255).
32153 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32155         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
32157         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
32159         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
32161         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
32163 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32165         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
32167         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
32168           constant encountered precedes a byte-switch op, replace all the
32169           addresses in the jump table with tags.
32171 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
32173         Move cXXXr and cXXXXr to subr.el
32175         * etc/NEWS: Mention new core Elisp.
32176         * doc/lispref/lists.texi (List Elements): Document and index the new
32177         functions.
32178         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
32179         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
32180         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
32181         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
32182         (cddddr): New functions.
32183         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
32184         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
32185         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
32186         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
32187         (cl-cdddar, cl-cddddr): Alias to new subr functions.
32188         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
32189         elements.
32191 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32193         Only save .newsrc file if the native method is NNTP
32195         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32196         the .newsrc file if the native select method is NNTP
32197         (bug#18198).  This avoids problems with invalid IMAP group
32198         names and the like in the .newsrc file.
32200 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32202         Only save .newsrc file if the native method is NNTP
32204         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32205         the .newsrc file if the native select method is NNTP
32206         (bug#18198).  This avoids problems with invalid IMAP group
32207         names and the like in the .newsrc file.
32209 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32211         Gnus custom spec fix
32213         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
32214         spec to match the doc string (bug#17679).
32216 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32218         Clarify confusing Gnus error message
32220         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
32221         confusing error message (bug#17677).
32223 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32225         Make C-u C-x m work with Message as documented
32227         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
32228         parameter (bug#17175).
32230 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32232         Fix problem with auto-mode and dir-locals-collect-variables
32234         * lisp/files.el (dir-locals-collect-variables): When run from
32235         auto-mode, the file in question may not be an absolute path
32236         name (bug#24016).
32238         Example backtrace:
32240         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
32241           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
32242           hack-dir-local-variables()
32243           hack-local-variables(no-mode)
32244           run-mode-hooks(diff-mode-hook)
32245           diff-mode()
32246           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
32248 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32250         Attach text files correctly in Message
32252         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
32253         system has been used in attached text files, and don't try to
32254         do any encoding of these files (bug#13808).
32256 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32258         Build fix for older gnutls versions
32260         * src/gnutls.c (emacs_gnutls_handle_error):
32261         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
32262         gnutls-3.
32264 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
32266         ediff-difference-vector-alist: Drop duplicated definition
32268         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
32269         Drop duplicated definition.
32270         (ediff-difference-vector-A, ediff-difference-vector-B)
32271         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
32272         Move definition before 'ediff-difference-vector-alist'.
32274 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32276         Revert "nnimap.el: support additional expunge options"
32278         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
32280         The patch broke fetching new mail:
32282         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
32283           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
32284           (looking-at (format "%d .*\n" sequence))
32285           (not (looking-at (format "%d .*\n" sequence)))
32286           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
32288 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
32290         nnimap.el: support additional expunge options
32292         * lisp/gnus/nnimap.el (nnimap-close-group)
32293         (nnimap-request-expire-articles, nnimap-delete-article)
32294         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
32295         settings for nnimap-expunge (bug#20670).
32297 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32299         Don't tag Gnus bugs with "gnus"
32301         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
32303         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
32304         have its own package any more in the bug tracker.
32306 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32308         Tweak TLS error messaging on closed connections
32310         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
32311         peer-closed-connection "The TLS connection was non-properly
32312         terminated" message to a lower level so that it isn't shown to
32313         the user by default.
32315 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32317         Avoid having eww unexpectedly open external browsers
32319         * lisp/net/eww.el (eww-render): Instead of opening unsupported
32320         content types like audio/mpeg directly in an external browser
32321         (which can be very confusing especially when something
32322         redirects to a file like that), just display a simple
32323         interstitial that people can choose to click on or not
32324         (bug#22671).
32326 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32328         When opening new eww buffers, use buffer names based on the host name
32330         * lisp/net/eww.el (eww-browse-url): When opening in a new
32331         window, use a buffer name based on the host name (bug#23738).
32332         (eww--dwim-expand-url): Refactored out into its own function
32333         for easier reuse.
32335 2017-01-24  David Engster  <deng@randomsample.de>
32337         xml: Fix parsing of default namespace with quoted names
32339         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
32340           parsing is done with quoted symbol names (bug#23440).
32341         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
32342           (xml-parse-test-default-namespace-qnames): Test for the above.
32344 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32346         Fix rendering of some complex SVG images
32348         * lisp/net/shr.el (shr-parse-image-data): Don't transform
32349         SVG->DOM->XML unless we're blocking images, as this is apt to
32350         destroy the SVG (bug#24111).
32352 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32354         Clarify the last clarification
32356         * lisp/net/shr.el (shr-width): Clarify the interaction with
32357         `shr-use-fonts' (bug#24928).
32359 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32361         shr-width doc clarification
32363         * lisp/net/shr.el (shr-width): Clarify the interaction with
32364         `shr-use-fonts' (bug#24928).
32366 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32368         Allow passing in max-width/height
32370         * lisp/net/shr.el (shr-rescale-image): Allow passing in
32371         max-width/height (bug#25287).
32373 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
32375         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
32377         Require `cl' for `pushnew'.
32378         (vhdl-scan-project-contents, vhdl-compose-wire-components)
32379         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
32381 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
32383         Fix comment detection on open parens
32385         Characters having both open paren syntax and comment start syntax were
32386         being detected as open parens even when they should have been part a
32387         comment starter (Bug#24870).
32389         * src/syntax.c (in_2char_comment_start): New function, extracted from
32390         `scan_sexps_forward'.
32391         (scan_sexps_forward): Add check for a 2-char comment starter before the
32392         loop.  Inside the loop, do that check after incrementing the 'from'
32393         character index.  Move the single char comment syntax cases into the
32394         switch instead of special casing them before.
32395         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
32396         (parse-partial-sexp-continue-over-comment-marker): New tests.
32398 2017-01-23  Alan Mackenzie  <acm@muc.de>
32400         Give , and .@ doc strings.  Fixes bug #24561.
32402         Also make *Help* links to ``' possible.  Also make usable as such doc strings
32403         on the function-documentation property of a symbol.
32405         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
32406         function-documentation property.  Also give these symbols a reader-construct
32407         property.
32409         * lisp/help-fns.el (describe-function): Allow the function-documentation
32410         property to work.  Use princ rather than prin1 to print the function's name
32411         when it has a reader-construct property.
32412         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
32413         (describe-function-1): Adapt to process documentation on the
32414         function-documentation property.  Print "a reader construct" when appropriate.
32416         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
32417         ``'.
32419 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32421         Improve uses of CHECK_LIST etc.
32423         * src/eval.c (FletX): Report an error for invalid constructs like
32424         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
32425         (lambda_arity): Use plain CHECK_CONS.
32426         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
32427         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
32428         concat does that for us.
32429         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
32430         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
32431         runtime check out of the loop.
32432         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
32433         (Fassq, Fassoc, Frassq, Frassoc):
32434         Simplify and use CHECK_LIST_END instead of CAR.
32435         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
32436         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
32437         * src/fontset.c (Fnew_fontset):
32438         * src/frame.c (Fmodify_frame_parameters):
32439         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
32440         more-complete check.
32441         * src/gfilenotify.c (Fgfile_add_watch):
32442         Omit unnecessary CHECK_LIST, since Fmember does that for us.
32443         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
32444         Remove; no longer used.
32445         (CHECK_LIST_END): New inline function.
32447 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
32449         Prevent to use tabulated-list--near-rows unbound
32451         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
32452         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
32454 2017-01-22  Juri Linkov  <juri@linkov.net>
32456         * lisp/simple.el (region-bounds): New function.
32458         (region-noncontiguous-p): Use it.
32459         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
32461 2017-01-21  Alan Mackenzie  <acm@muc.de>
32463         Fix low-level handling of (big) C macros.
32465         In particular, ensure that a comment detected by its syntax is not a CPP
32466         construct marked with generic comment delimiter syntax-table text
32467         properties.
32469         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
32470         c-macro-cache-syntactic to nil when the cached macro changes.
32471         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
32472         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
32473         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
32474         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
32475         (c-determine-limit): When checking a parse syntax for a comment, check that
32476         we're not in a CPP construct marked by syntax-table generic comment delimiter
32477         text property.
32478         (c-state-pp-to-literal): Change from a defsubst to a defun.
32480         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
32481         parse syntax as described above under cc-engine.el.
32483 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
32485         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
32487 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
32489         Don't wait for frame to become visible
32491         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
32492         frame to become visible.  We have to deal with invisible frames anyway,
32493         the loop could sometimes before the frame turned visible, and for some
32494         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
32495         busy loop (Bug#24091).
32497 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
32499         diff-hunk-kill independent of point inside headers
32501         Make diff-apply-hunk and diff-hunk-kill independent of the point
32502         position in a diff header (Bug#17544).
32503         This change allows to apply hunks in order.  It also makes possible to
32504         press M-k repeatedly to kill hunks in the order they appear in the buffer.
32505         See discussion on #Bug25105.
32506         * lisp/vc/diff-mode.el (diff-file-junk-re):
32507         Move definition before it's used.
32508         (diff--at-diff-header-p): New predicate; return non-nil when point
32509         is inside a hunk header, a file header, or within a line
32510         matching diff-file-junk-re.
32511         (diff-beginning-of-hunk): Use it.
32512         Check if the point is inside a diff header, in the middle of a hunk,
32513         or before the first hunk.
32514         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
32515         before apply the hunk.
32516         (diff-hunk-kill, diff-file-kill):
32517         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
32518         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
32520 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
32522         Improve documentation of hooks related to saving buffers
32524         * lisp/files.el (write-file-functions, write-contents-functions)
32525         (before-save-hook, after-save-hook): Note that these are only used
32526         by save-buffer.
32528         * doc/lispref/backups.texi (Auto-Saving):
32529         * doc/lispref/files.texi (Saving Buffers): Mention that
32530         save-related hooks are not run by auto-saving.  (Bug#25460)
32532 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
32534         Improve documentation of auto-save-visited-file-name
32536         * doc/emacs/files.texi (Auto Save Files): Mention subtle
32537         differences between saving the buffer and auto-saving with
32538         auto-save-visited-file-name set non-nil.  (Bug#25478)
32540 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
32542         Fix free var FOO-mode-{syntax,abbrev}-table warnings
32544         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
32545         defvar the syntax and abbrev tables so that the compiler will know that
32546         they are dynamically bound variables (Bug#25446).
32548 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32550         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
32552         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
32553           eval obj2 to avoid quoted forms being stored as is.
32555 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32557         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
32559 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32561         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
32563         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
32564         default-case for last cond clause.
32566 2017-01-19  Philipp Stephani  <phst@google.com>
32568         Check that variable lists are actually lists
32570         'let' and 'let*' document that their first argument has to be a list,
32571         but don't check for that; instead, they allow (and silently ignore)
32572         other types.  Introduce an explicit type check.
32574         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
32575         list.
32576         * test/src/eval-tests.el: Add unit tests.
32578 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32580         Add type checking for Bswitch, when enabled at compile time.
32582         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
32583           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
32585 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32587         Use byte-switch for all symbols.
32589         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
32590           t for all symbols (instead for just keywords)
32592 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
32594         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
32596         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
32597         (diff-refine-hunk): Use it instead of trying to match multiple lines
32598         with a single lines.
32600 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32602         Remove lock file when auto-saving into the visited file
32604         * src/fileio.c (write_region): When auto-saving into the visited
32605         file, unlock the file whenever we mark the buffer unmodified.
32606         (Bug#25470)
32608 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
32610         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
32612         Fgethash type checks the provided table object, which is unnecessary
32613         for compiled bytecode.
32615 2017-01-18  Tom Tromey  <tom@tromey.com>
32617         fix typo in mailcap-mime-extensions
32619         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
32620         not "test/x-patch".  (Bug#25472)
32622 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
32624         Fix typos in flymake.el
32626         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
32627         Spelling fixes in the doc string.
32629 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32631         Fix a bug with signaling a thread that waits for condvar
32633         * src/thread.c (lisp_mutex_lock_for_thread): New function,
32634         with all the guts of lisp_mutex_lock.
32635         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
32636         (condition_wait_callback): Don't call post_acquire_global_lock
32637         before locking the mutex, as that could cause a signaled thread to
32638         exit prematurely, because the condvar's mutex is recorded to be
32639         not owned by any thread, and with-mutex wants to unlock it as part
32640         of unwinding the stack in response to the signal.
32642 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32644         Rudimentary error handling for non-main threads
32646         * src/thread.c (last_thread_error): New static variable.
32647         (syms_of_threads): Staticpro it.
32648         (record_thread_error, Fthread_last_error): New functions.
32649         (syms_of_threads): Defsubr Fthread_last_error.
32651         * doc/lispref/threads.texi (Basic Thread Functions): Document
32652         thread-last-error.
32654         * test/src/thread-tests.el (thread-errors, thread-signal-early)
32655         (threads-condvar-wait): Test the values returned by
32656         thread-last-error.
32658 2017-01-17  Tom Tromey  <tom@tromey.com>
32660         Add info-lookup help for gdb-script-mode
32662         Bug#25464:
32663         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
32664         function.
32665         Add help for gdb-script-mode.
32667 2017-01-17  Tom Tromey  <tom@tromey.com>
32669         Treat ":root" as a css-selector
32671         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
32672         ":root" as selector.
32674 2017-01-17  Tom Tromey  <tom@tromey.com>
32676         Fix JS regexp literal syntax propertization in expressions
32678         Bug#25465:
32679         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
32680         literal after "!", "&", and "|".
32681         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
32683 2017-01-17  Glenn Morris  <rgm@gnu.org>
32685         More NEWS checking for admin.el's set-version
32687         * admin/admin.el (set-version): Warn if temporary NEWS markup
32688         still present in release candidates.
32690 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
32692         Mark unused arguments and remove unused variables
32694         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
32695         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
32696         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
32697         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
32698         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
32699         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
32700         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
32701         (dungeon-nil): Mark arguments as unused.
32702         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
32703         (dun-restore): Remove unused variable.
32705 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
32707         Fix auto-save-file-name problem in Tramp on MS Windows
32709         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
32710         rather than an ange-ftp regexp.
32712         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
32713         Fix a problem when running on MS Windows.
32715         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
32716         Adapt test.
32718 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
32720         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
32722         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
32723         Fix a problem when running on MS Windows.
32725 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
32727         Merge from origin/emacs-25
32729         42614fa Update remaining copyright years with admin.el M-x set-copyright
32730         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
32732 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
32734         Nix some uses of eval
32736         * lisp/play/dunnet.el: Fix triple negative.
32737         (dun-doverb): Use funcall instead of eval.
32738         (dun-echo): Just call dun-mprinc.
32739         (dun-save-val): Just bind value without eval.
32741 2017-01-17  Tom Tromey  <tom@tromey.com>
32743         Fix comment in css-mode.el
32745         * lisp/textmodes/css-mode.el: Remove obsolete comment.
32747 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
32749         update branch
32751 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
32753         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
32755 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
32757         Improve ffap-gopher-at-point handling of long lines
32759         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
32760         setting to nil is now supported.
32761         (ffap--gopher-var-on-line): New function.
32762         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
32763         which could overflow the regexp stack on long lines (Bug#25391).  Use
32764         `let-alist' instead of calling `set' on local variables.
32765         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
32767 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
32769         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
32771         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
32772           finding the tag in a jump table.
32774 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
32776         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
32778 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
32780         Add new 'switch' byte-code.
32782         'switch' takes two arguments from the stack: the variable to test, and
32783         a jump table (implemented as a hash-table with the appropriate :test
32784         function). By looking up the value of the variable in the hash table,
32785         the interpreter can jump to the label pointed to by the value, if any.
32786         This implementation can only be used for `cond' forms of the type
32787         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
32788         variable `x` is same for all clauses.
32790         * lisp/emacs-lisp/bytecomp.el:
32792           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
32793             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
32794             (byte-compile-cond-jump-table), byte-compile-jump-tables.
32796           * Add defcustom `byte-compile-cond-use-jump-table'.
32798           * (byte-compile-cond): Use them.
32800           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
32802         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
32803           some peephole optimizations to prevent them from messing up any code
32804           involving `byte-switch`.
32806         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
32808 2017-01-14  Alan Third  <alan@idiocy.org>
32810         Fix NS main thread check (bug#25265)
32812         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
32813         isMainThread.
32815 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
32817         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
32819         `:sqli-comint-func' does not have to be a symbol.
32821 2017-01-14  Alan Mackenzie  <acm@muc.de>
32823         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
32825         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
32826         its previous value, we chose strategy 'forward, and the new HERE is in a
32827         (different) macro, ensure the returned START-POINT is not above the start of
32828         the macro.
32830 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
32832         Include "Date:" in mail messages filed by 'sendmail-send-it'
32834         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
32835         into the filed message.  In the outgoing message, sendmail will
32836         add the date, but the composed message body doesn't have it.
32837         (Bug#25436)
32839 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
32841         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
32843 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
32845         Remove leftover references to log-view-message-face
32847         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
32849         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
32851         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
32853 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
32855         Record autoloads till emacs dump
32857         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
32858         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
32860         Previously, autoloads were collected till loaddefs.el was generated as
32861         part of the build. However, bootstrap-emacs does not load
32862         loaddefs (rather it is dumped), hence we must record autoloads until the
32863         full emacs binary is dumped.
32865 2017-01-13  Tom Tromey  <tom@tromey.com>
32867         Add chained indentation to js-mode
32869         Bug#20896
32870         * lisp/progmodes/js.el (js-chain-indent): New variable.
32871         (js--skip-term-backward, js--skip-terms-backward)
32872         (js--chained-expression-p): New functions.
32873         (js--proper-indentation): Call js--chained-expression-p.
32874         * test/manual/indent/js-chain.js: New file.
32875         * test/manual/indent/js.js: Add (non-)chained indentation test.
32877 2017-01-13  Tom Tromey  <tom@tromey.com>
32879         Fix js-mode indentation bug
32881         Bug#15582:
32882         * lisp/progmodes/js.el (js--find-newline-backward): New function.
32883         (js--continued-expression-p): Use it.
32884         * test/manual/indent/js.js: Add new test.
32886 2017-01-13  Tom Tromey  <tom@tromey.com>
32888         Fix definition of EMACS in test/manual/indent/Makefile
32890         * test/manual/indent/Makefile (EMACS): Add one more "..".
32892 2017-01-13  Tom Tromey  <tom@tromey.com>
32894         Add .jsx to auto-mode-alist
32896         Bug#25389:
32897         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
32899 2017-01-13  Tom Tromey  <tom@tromey.com>
32901         Fix two js-mode filling bugs
32903         Bug#19399 and Bug#22431:
32904         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
32905         c-block-comment-start-regexp.
32906         * test/lisp/progmodes/js-tests.el: New file.
32908 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32910         Fix last change
32912         * test/src/thread-tests.el (threads-condvar-wait): Revert
32913         previous change.  Make sure no other threads from previous
32914         tests are running, to avoid interfering with our thread counts.
32916 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32918         Fix the new condvar test
32920         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
32921         time we sleep in the main thread to let the other thread
32922         process notifications.
32924 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32926         Minor improvements in the new condvar test
32928         * test/src/thread-tests.el (threads-test-condvar-wait): Use
32929         with-mutex instead of emulating it inline.
32930         (threads-condvar-wait): Improve comments.  Check that the new
32931         thread is alive before waiting for it to become blocked on the
32932         conditional variable.
32934 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32936         Fix a bug in waiting for condition variable
32938         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
32939         (lisp_mutex_unlock_for_wait, condition_wait_callback)
32940         (condition_notify_callback): Improve commentary.
32941         (condition_wait_callback): Call post_acquire_global_lock before
32942         attempting to lock the mutex, to make sure the lock's owner is
32943         recorded correctly.
32945         * test/src/thread-tests.el (threads-condvar-wait): New test.
32947 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32949         Improve documentation of dabbrevs
32951         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
32952         to "Dabbrev Customization".
32953         (Dabbrev Customization): More details about the default value of
32954         dabbrev-abbrev-char-regexp and use cases when it might not be good
32955         enough.  (Bug#25432)
32957 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32959         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
32961 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32963         mm-uu.el: Don't dissect patch part
32965         This fixes a bug that the patch part is broken in the article
32966         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
32968         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
32969         Don't dissect patch part.
32971 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
32973         Fix extracting async def type and name in python mode imenu
32975         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
32976         New function.
32977         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
32978         extract async or simple def type and name at current
32979         position (Bug#24820).
32980         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
32981         (python-imenu-create-flat-index-1): Add async def's.
32983 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32985         Remove garbage from Content-Transfer-Encoding value (bug#25420)
32987         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
32988         (ietf-drums-remove-garbage): New function.
32989         (ietf-drums-remove-whitespace): Remove CR as well.
32991         * lisp/mail/mail-parse.el (mail-header-strip-cte):
32992         Alias to ietf-drums-strip-cte.
32994         * lisp/gnus/gnus-art.el (article-decode-charset):
32995         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
32996         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
32997         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
32998         (nndoc-rfc822-forward-generate-article):
32999         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
33000         Replace mail-header-strip with mail-header-strip-cte.
33002 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
33004         Restore behavior of ‘./autogen.sh autoconf git’
33006         * autogen.sh: Do both autoconf and git setup when invoked
33007         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
33008         Mention new --no-check option in usage message.  (Bug#25359)
33010 2017-01-12  Glenn Morris  <rgm@gnu.org>
33012         * autogen.sh: Simplify argument parsing.
33014 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
33016         Clarify that easy-menu-add is a nop (Bug#25382)
33018         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
33019         `ignore', like `easy-menu-remove'.
33021 2017-01-12  Glenn Morris  <rgm@gnu.org>
33023         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
33025 2017-01-11  Glenn Morris  <rgm@gnu.org>
33027         * autogen.sh: Add --no-check option.  (Bug#25359)
33029 2017-01-11  Glenn Morris  <rgm@gnu.org>
33031         Convert some network test failures to skipping
33033         These tests intermittently fail on hydra.nixos.org for unclear
33034         reasons related to starting the external process.
33035         This isn't an Emacs issue, and the failures cause noise on
33036         the emacs-buildstatus list.  (Bug#24503)
33037         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
33038         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
33039         external process fails to start properly.
33041 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
33043         Revert "Add DNS keywords and remove duplications"
33045         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
33047 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33049         Add DNS keywords and remove duplications
33051         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33052         NSEC" DNS related keywords and remove duplication of "NSAP".
33054 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33056         Add DNS keywords and remove duplications
33058         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33059         NSEC" DNS related keywords and remove duplication of "NSAP".
33061 2017-01-11  Alan Mackenzie  <acm@muc.de>
33063         Handle syntactic WS cache properties more accurately at buffer changes.
33065         This fixes bug #25362.
33067         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
33068         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
33069         (c-invalidate-sws-region-after-ins): New variables and functions.
33070         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
33071         Also pass
33072         it the standard OLD-LEN argument.  Call both
33073         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
33074         cache
33075         properties.
33077         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
33078         variable.
33080         * lisp/progmodes/cc-mode.el (c-before-change): Call
33081         c-invalidate-sws-region-before.
33082         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
33084 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
33086         Support stat 8.26 in Tramp
33088         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
33089         environment variable of newer coreutils.  (Bug#23422)
33091 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33093         Improve documentation of coding-systems
33095         * doc/lispref/nonascii.texi (Coding System Basics): Mention
33096         'prefer-utf-8'.  Index it and 'undecided'.
33097         (Encoding and I/O): Fix a typo.
33098         (User-Chosen Coding Systems): Improve the documentation of
33099         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
33100         select-safe-coding-system-function.
33101         (Specifying Coding Systems): Document coding-system-require-warning.
33103 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
33105         Merge from gnulib
33107         This incorporates:
33108         2017-01-09 maint: time stamp -> timestamp
33109         2017-01-07 stdioext: Port to Minix 3.2 and newer
33110         2017-01-06 glob, intprops, xalloc: work around Clang bug
33111         2017-01-02 revert copyright-year change to synced files
33112         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
33113         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
33114         * lib/utimens.c, lib/xalloc-oversized.h:
33115         Copy from gnulib.
33117 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33119         Don't use unsafe encoding for the bookmark file
33121         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
33122         explicitly specified encoding of the bookmark file cannot encode the
33123         additional bookmarks just added.  (Bug#25365)
33125 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33127         Improve definition of 'variable-pitch' face on MS-Windows
33129         * lisp/faces.el (variable-pitch): Don't specify too many
33130         attributes of the font, otherwise faces that request different
33131         weight or slant or size will not get them.
33133 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33135         Fix an error message in python.el
33137         * lisp/progmodes/python.el (python-shell-get-process-or-error):
33138         Don't repeat the same key binding twice.  (Bug#25405)
33140 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
33142         Remove unused ldefs-boot.el
33144          * lisp/ldefs-boot.el: Remove
33146         This file was not removed as reported in c27b645956a11, but accidentally
33147         left.
33149 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33150             Eli Zaretskii  <eliz@gnu.org>
33152         Use expanded stack during regex matches
33154         While the stack is increased in main(), to allow the regex stack
33155         allocation to use alloca we also need to modify regex.c to actually take
33156         advantage of the increased stack, and not limit stack allocations to
33157         SAFE_ALLOCA bytes.
33159         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
33160         allocations in signal handlers which no longer happens and correct
33161         description about when and why MATCH_MAY_ALLOCATE should be defined.
33162         (emacs_re_safe_alloca): New variable.
33163         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
33164         of MAX_ALLOCA.
33165         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
33166         confusion with glibc's `re_max_failures'.
33167         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
33168         to the stack.  Instead of changing emacs_re_max_failures based on the
33169         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
33170         remains constant regardless, since if we run out stack space SAFE_ALLOCA
33171         will fall back to heap allocation.
33173 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33175         Fix computation of regex stack limit
33177         The regex stack limit was being computed as the number of stack entries,
33178         whereas it was being compared with the current size as measured in
33179         bytes.  This could cause indefinite looping when nearing the stack limit
33180         if re_max_failures happened not to be a multiple of sizeof
33181         fail_stack_elt_t (Bug #24751).
33183         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
33184         limit as numbers of stack entries.
33186 2017-01-08  Alan Third  <alan@idiocy.org>
33188         Remove apploopnr
33190         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
33191         allow app loop to run in main thread.
33193 2017-01-08  Glenn Morris  <rgm@gnu.org>
33195         Remove unused configure output variable
33197         * configure.ac (GNULIB_MK):
33198         * Makefile.in (gnulib_mk): Remove, no longer used.
33200 2017-01-08  Glenn Morris  <rgm@gnu.org>
33202         Fix automake dependencies
33204         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
33205         All platforms need this file to exist.
33207 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33209         Remove unnecessary blankp code
33211         * src/character.c (blankp): Remove redundant code that slows Emacs
33212         down a bit.  The caller already does the test.
33214 2017-01-08  Stefan Merten  <stefan@merten-home.de>
33216         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
33218         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
33219         (rst-svn-timestamp)
33220         (rst-official-version, rst-official-cvs-rev)
33221         (rst-package-emacs-version-alist): Maintain version numbers.
33222         (rst-forward-indented-block): Fix. Start searching at next
33223         line again. Fixes fontification of comments continuing on the
33224         same line they started.
33226 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33228         Remove @SET_MAKE@ from manually-maintained files
33230         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
33231         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
33232         * src/Makefile.in: Remove @SET_MAKE@.
33234 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
33236         Fix a problem with `start-file-process' in Tramp
33238         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
33239         `start-file-process' shall work when `non-essential' is
33240         non-nil, but there is already an established connection.
33241         <https://github.com/company-mode/company-mode/issues/462>
33243 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
33245         Fix selecting SQLite database files with sql-mode (Bug#23566)
33247         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
33248         SQLite database file name, by default.
33249         (sql-get-login-ext): Fixed read-file-name arguments to provide
33250         path completion even if a database name pattern is customized and to
33251         allow creation of new SQLite database files.
33253 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33255         Clarify major mode switching
33257         * doc/emacs/modes.texi (Major Modes):
33258         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
33259         buffer has exactly one major mode and can't be "turned off", only
33260         switched away from (Bug#25357).
33262 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33264         Add helpful comment to compile-command's docstring
33266         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
33267         docstring (Bug#25337).
33269 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33271         Specify encoding of the bookmark file
33273         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
33274         Accept an argument CODING and include a 'coding:' cookie in the
33275         bookmark file preamble.
33276         (bookmark-upgrade-file-format-from-0): Call
33277         'bookmark-insert-file-format-version-stamp' with the file buffer's
33278         encoding, as detected when it was read.
33279         (bookmark-file-coding-system): New variable.
33280         (bookmark-load): Set bookmark-file-coding-system to the encoding
33281         of the loaded file.
33282         (bookmark-write-file): Bind coding-system-for-write to either the
33283         user setting via "C-x RET c" or to the existing file encoding,
33284         defaulting to 'utf-8-emacs'.  Update the value of
33285         bookmark-file-coding-system.  (Bug#25365)
33287 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33289         Avoid infloop in 'ispell-region'
33291         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
33292         Protect against 'ispell-skip-region-alist' being nil.  Reported by
33293         Ernest Adrogué <nfdisco@gmail.com>, see
33294         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
33296 2017-01-06  Philipp Stephani  <phst@google.com>
33298         Add support for Unicode whitespace in [:blank:]
33300         See Bug#25366.
33302         * src/character.c (blankp): New function for checking Unicode
33303         horizontal whitespace.
33304         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
33305         whitespace.
33306         (BIT_BLANK): New bit for range table.
33307         (re_wctype_to_bit, execute_charset): Use it.
33308         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
33309         unit test for [:blank:] character class.
33310         * test/src/regex-tests.el (test): Adapt unit test.
33311         * doc/lispref/searching.texi (Char Classes): Document new Unicode
33312         behavior for [:blank:].
33314 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
33316         Fix ':version' of 'select-enable-primary'
33318         * lisp/select.el (select-enable-primary): Fix a typo in
33319         ':version'.  (Bug#25375)
33321 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
33323         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
33325         Author:
33327         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
33328         Avoid add-to-list on local variables.
33330 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
33332         Fix isearch handling of C-u C-u...
33334         * lisp/isearch.el: Add `isearch-scroll' property to
33335         universal-argument-more so that `isearch-allow-scroll' will apply to it
33336         as well.
33337         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
33338         `universal-argument-more' as well (Bug#25302).
33340 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
33342         Shorten autogen.sh script
33344         * autogen.sh: Use a shorter script, as some 'sed' implementations
33345         mishandle long scripts.
33347 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33349         Yet another fix for autogen.sh
33351         * autogen.sh (gnulib.mk): Make the Sed script more portable.
33353         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
33354         the changes in autogen.sh.
33356 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33358         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
33360 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33362         Fix dependencies of nt/gnulib.mk
33364         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
33365         of nt/gnulib.mk on lib/Makefile.in.
33367 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33369         Unbreak macOS build
33371         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
33372         Sed.
33374 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
33376         Fix term.el handling of ^Z-sequences spanning chunks
33378         Bash will after each command send ?\032 and the current directory "/tmp"
33379         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
33380         command outputs roughly 4096 bytes then the end of the first chunk will
33381         be "/tm" (Bug#13350).
33383         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
33384         end of the ?\032 sequence to use \n instead of $, the latter can match
33385         end of string as well.
33387 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
33389         Turn on lexical-binding in mb-depth.el
33391         * lisp/mb-depth.el: Turn on lexical-binding.
33392         (minibuffer-depth-setup): Bind things used multiple times.
33394 2017-01-04  Alan Third  <alan@idiocy.org>
33396         Revert "Rework NS event handling (bug#25265)"
33398         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
33400 2017-01-04  Glenn Morris  <rgm@gnu.org>
33402         Update remaining copyright years with admin.el M-x set-copyright
33404         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
33406 2017-01-04  Glenn Morris  <rgm@gnu.org>
33408         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
33410 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
33412         Port recent autogen.sh changes to Darwin
33414         Problem reported by Sam Steingold (Bug#25347).
33415         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
33416         POSIX does not require it and it does not work on Darwin.
33418 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33420         Avoid add-to-list on local variables
33422         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
33423         (nnir-retrieve-headers): Use pcase.
33424         (nnir-search-thread): Avoid add-to-list on local variables.
33426         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
33427         (smime-verify-region): Avoid add-to-list on local variables.
33429         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
33430         (rmail-digest-parse-mime, rmail-digest-rfc1153)
33431         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
33433         * lisp/net/ldap.el (ldap-search): Move init into declaration.
33435         * lisp/net/newst-backend.el (newsticker--cache-add):
33436         Avoid add-to-list on local variables; Simplify code with `assq'.
33438         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
33439         (dbus-debug): Remove declaration, unused.
33440         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
33441         (zeroconf-service-browser-handler, zeroconf-publish-service):
33442         Avoid add-to-list and *-hook on local variables.
33444         * lisp/org/org-archive.el (org-all-archive-files):
33445         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
33446         Avoid add-to-list on local variables.
33448         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
33449         (org-publish-projects): Use it to avoid run-hooks on a local variable.
33450         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
33451         local variables.
33453         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
33454         (ada-prj-load-from-file): Avoid add-to-list on local variables.
33456         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
33457         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
33458         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
33460         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
33461         Avoid add-to-list on local variables.
33463 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
33465         Turn on lexical-binding in md4.el
33467         * lisp/md4.el: Turn on lexical-binding.
33468         * test/lisp/md4-tests.el: New file.
33470 2017-01-03  Stefan Merten  <stefan@merten-home.de>
33472         Lots of refactorings and a few minor improvements.
33474         User visible improvements and changes:
33475         * Improve and debug `rst-forward-section` and `rst-backward-section`.
33476         * Auto-enumeration may be used with all styles for list insertion.
33477         * Improve and debug `rst-toc-insert`.
33478         * Adapt change in Emacs to use customization group `text` instead of `wp`.
33479         * Bind `n` and `p` in `rst-toc-mode`.
33480         * `z` in `toc-mode` returns to the previous window configuration.
33481         * Require Emacs version >= 24.1.
33483         Lots of refactorings including:
33484         * Silence byte compiler.
33485         * Use lexical binding.
33486         * Use `cl-lib`.
33487         * Add tests and raise test coverage.
33489 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
33491         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
33493         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
33494         emit a warning for those coders who forgot to put a default value in
33495         their slot.
33497 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
33499         Small patch for ffap.el
33501         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
33502         while walking 'ffap-alist'.
33504 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
33506         Generate nt/gnulib.mk from lib/gnulib.mk
33508         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
33509         with the purpose of avoiding manual maintenance of
33510         nt/gnulib.mk.
33512         * nt/gnulib-modules-to-delete.cfg: New file.
33513         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
33514         (am__v_GEN_1): New variables.
33515         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
33516         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
33518         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
33519         files to link.
33520         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
33521         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
33522         running autoreconf.
33523         * Makefile.in (gnulib_mk): New variable.
33524         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
33525         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
33526         name.
33527         * .gitignore: Add nt/gnulib.mk.
33529         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
33530         build the acl-permissions module from Gnulib.
33532 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
33534         Handle multibyte chars spanning chunks in term.el
33536         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
33537         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
33538         buffer-local twice.
33539         (term-emulate-terminal): Check for bytes of incompletely decoded
33540         characters, and save them until the next call when they can be fully
33541         decoded (Bug#25288).
33543 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
33545         Finish work on filenotify-tests.el
33547         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
33548         New variable.
33549         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
33550         (file-notify--test-read-event, file-notify-test02-events)
33551         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
33552         (file-notify-test03-autorevert)
33553         (file-notify-test08-watched-file-in-watched-dir):
33554         Set `file-notify--test-desc' for proper work of
33555         `file-notify--test-monitor'.  (Bug#21804)
33557 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
33559         Check also for "gvfs-monitor-dir.exe" in Tramp
33561         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
33562         for "gvfs-monitor-dir.exe".
33564 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
33566         Fix compilation --without-x
33568         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
33569         font_range only if it is compiled in.  (Bug#25334)
33571 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
33573         Fix RefTeX to show table of contents for dtx files (tiny change)
33575         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
33576           section regexp so that it accepts lines starting with the comment
33577           character. (tiny change)
33578         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
33579           gathered toc entries, accepting a commented entry if and only if the
33580           source file is a ".dtx" file. (tiny change)
33582 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
33584         Remove mistakenly-added files
33586         Problem reported by Glenn Morris in:
33587         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
33588         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
33589         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
33590         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
33591         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
33592         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
33593         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
33594         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
33595         Remove files that were added by mistake during a merge.
33597 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
33599         Warn about incomplete untarring of link files
33601         The current tar-mode doesn't really support unpacking symlinks, it
33602         simply creates an empty file of the same name.
33604         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
33605         `tar--check-descriptor'.
33606         (tar-untar-buffer): Use it to warn about imperfectly untarred link
33607         files.
33609 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
33611         Remove sh-mode's skeleton-end-hook
33613         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
33614         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
33615         and also respects `skeleton-end-newline' (Bug#16634).
33617 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33619         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
33621 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
33623         Add term/tmux.el
33625         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
33626         with xterm and screen terminfos.  This is simply a duplication of
33627         term/screen.el with screen -> tmux.
33628         * lisp/term/tmux.el: New file.
33630 2017-01-01  Philipp Stephani  <phst@google.com>
33632         Fix encoding of JSON surrogate pairs
33634         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
33635         individual code points; cf. Bug #24784.
33637         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
33638         pairs.
33639         (json--decode-utf-16-surrogates): New defun.
33641         * test/lisp/json-tests.el (test-json-read-string): Add test for
33642         surrogate pairs.
33644 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
33646         Remove tramp-gw.el, which was synced from emacs-25 by accident
33648 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33650         Do not use Gnulib’s m4/wint_t.m4.
33652         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
33653         Fix typo so that warn-on-use.m4 is removed too.
33654         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
33655         * m4/wint_t.m4: Remove.
33657 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33659         Merge from gnulib, continued
33661         * m4/wint_t.m4: New file, copied from gnulib.
33663 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33665         Update copyright year to 2017 in master
33667         Run admin/update-copyright in the master branch.  This fixes files
33668         that were not already fixed in the emacs-25 branch before it was
33669         merged here.
33671 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33673         Remove test/automated detritus from merge
33675 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33677         Merge from gnulib
33679         This incorporates:
33680         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
33681         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
33682         2016-12-17 getlogin: Port to newer mingw
33683         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
33684         2016-12-17 Avoid redefinition errors on MSVC
33685         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
33686         * m4/stdint.m4, m4/unistd_h.m4:
33687         Copy from gnulib.
33688         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33689         Plus, this commit updates the indenting on copyright notices to
33690         match that of gnulib.
33692 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33694         Merge from origin/emacs-25
33696         2e2a806 Fix copyright years by hand
33697         5badc81 Update copyright year to 2017
33699 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33701         Merge from origin/emacs-25
33703         665be69 ; Update ChangeLog.2 and AUTHORS files
33705         # Conflicts:
33706         #       etc/AUTHORS
33708 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33710         Merge from origin/emacs-25
33712         697167b ; Improve wording of previous change in variables.texi
33713         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
33714         8b71826 Don't modify minibuffer variables globally
33715         5b5e036 Revert to pre-25.1 behavior in ffap
33716         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
33717         3ace730 Attempt to fix 64-bit AIX build
33718         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
33719         c04ac8a Document that variable binding order is unspecified
33720         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
33721         08de101 Fix M-x hints on Mac port
33722         86a297a Work around reporting a dpi change in apply_xft_settings
33723         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
33724         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
33725         88cdf14 Improve skeleton docstrings
33727 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33729         Merge from origin/emacs-25
33731         4179238 Improve documentation of 'w32-scroll-lock-modifier'
33733 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33735         Merge from origin/emacs-25
33737         9adb101 Document 'describe-fontset'
33738         229315c ; Add missing symbol quoting.
33739         3d94931 Repair desktop restoration on text terminals
33740         43022f9 Ignore forward-sexp-function in js-mode indentation code
33741         b19fb49 Improve documentation of 'define-coding-system'
33742         467768f Fix Bug#25162
33743         6db78ae Fix a typo in define-abbrev-table
33744         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
33745         442e2f6 Fixes related to select-enable-clipboard
33746         e4ac450 Define struct predicate before acccesors
33747         08decbd Doc fix for vc-git
33748         5531e75 Further improve make-dist checking
33749         953bf67 Improve previous make-dist change
33750         129645a Make make-dist --snapshot do some sanity checks
33752         # Conflicts:
33753         #       lisp/menu-bar.el
33755 2017-01-01  Alan Mackenzie  <acm@muc.de>
33757         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
33759         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
33760         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
33762         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
33763         t to (&rest def-form).
33765 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33767         Fix copyright years by hand
33769         These are dates that admin/update-copyright did not update, or
33770         updated incorrectly.
33772 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33774         Update copyright year to 2017
33776         Run admin/update-copyright.
33778 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
33780         Clarify internal_catch etc.
33782         The recent change to internal_catch and friends relied on some
33783         confusion I introduced to the code in 2013.  Attempt to fix
33784         the confusion by clarifying the code instead.  This saves an
33785         instruction and a load dependency in the typical case.
33786         * src/eval.c (internal_catch, internal_condition_case)
33787         (internal_condition_case_1, internal_condition_case_2)
33788         (internal_condition_case_n): Undo the previous change.  Instead,
33789         use use ‘c’ rather than ‘handlerlist’ in the typical case.
33790         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
33792 2016-12-31  Ken Brown  <kbrown@cornell.edu>
33794         Further improve filenotify-tests.el
33796         * test/lisp/filenotify-tests.el
33797         (file-notify--test-read-event): Adapt to file monitors of type
33798         GFamFileMonitor, which occur on Cygwin.
33799         (file-notify--test-monitor): Update doc string.
33801 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
33803         * src/xdisp.c (string_from_display_spec): Simplify.
33805 2016-12-31  Alan Third  <alan@idiocy.org>
33807         Rework NS event handling (bug#25265)
33809         * src/nsterm.m (unwind_apploopnr): Remove.
33810         (ns_read_socket): Remove references to apploopnr.  Make processing the
33811         NS event loop conditional on being in the main thread.
33812         (ns_select): Remove references to apploopnr.  Remove all fd_handler
33813         related stuff.  Check if there are events waiting on the NS event
33814         queue rather than running the event loop.  Remove unused variables and
33815         code.
33816         (fd_handler): Remove.
33817         (ns_term_init): Remove creation of fd_handler thread.
33818         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
33819         EmacsView:windowDidExpose): Remove send_appdefined.
33820         (ns_send_appdefined): Always check the event queue for
33821         applicationDefined events rather than relying on send_appdefined var.
33822         * src/nsterm.h: Remove reference to fd_handler method.
33824 2016-12-31  Philipp Stephani  <phst@google.com>
33826         Checkdoc: use syntax functions instead of regex
33828         In checkdoc.el, get rid of the error-prone regex to find definition
33829         forms, and use existing syntax-based navigation functions instead.
33830         This fixes a corner case with one-argument `defvar' forms.
33832         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
33833         (checkdoc-next-docstring, checkdoc-defun): Use it.
33834         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
33835         Add unit test.
33837 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
33839         Don't define NOMINMAX on MS-Windows
33841         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
33842         longer needed with the current sources and MinGW headers, while
33843         defining NOMINMAX causes an annoying compiler warning.
33845 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
33847         Simplify code in eval.c that calls 'setjmp'
33849         * src/eval.c (internal_catch, internal_condition_case)
33850         (internal_condition_case_1, internal_condition_case_2)
33851         (internal_condition_case_n): Factor out the common tail of the
33852         functions.
33854 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
33856         Simplify code in 'string_from_display_spec'
33858         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
33859         test before the loop.
33861 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
33863         Serialize random number generation on MS-Windows
33865         * src/w32.c (rand_as183): New function.
33866         (random): Use it instead of MS runtime's 'rand'.  This avoids
33867         producing separate and identical random series in each Lisp
33868         thread.
33869         (srandom): Modify to supply 3 seed values to 'rand_as183'.
33871 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
33873         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
33875 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33877         Don't call xg_select for a NextStep build.
33879         NextStep builds use glib but don't use xg_select.
33881         * src/process.c (wait_reading_process_output): Don't call xg_select
33882         for a NextStep build.
33884 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33886         Increase the obarray size.
33888         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
33889         the time we've started.  The old obarray size ensured an average chain
33890         length of 10 or more.
33892         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
33894 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33896         Initialize thread support for Xlib.
33898         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
33899         before doing anything else with X.
33901 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33903         Rename primary_thread to main_thread
33905         This avoids the confusion of using two different phrases "main thread"
33906         and "primary thread" internally to mean the same thing.  See:
33907         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
33908         * src/thread.c (main_thread): Rename from primary_thread,
33909         since the new name no longer clashes with main_thread_id
33910         and Emacs internals normally call this the "main thread".
33911         (init_main_thread): Rename from init_primary_thread.
33912         (main_thread_p): Rename from primary_thread_p.
33913         All uses changed.
33915 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33917         Rename main_thread to main_thread_id and simplify
33919         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
33920         [HAVE_PTHREAD]: Do not include pthread.h.
33921         (main_thread): Remove.  All uses replaced by main_thread_id,
33922         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
33923         the main_thread_id established by sysdep.c, there is no need for a
33924         separate copy of the main thread ID here.
33925         (module_init): Remove.  All uses removed.
33926         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
33927         Rename from main_thread.  All uses changed.  Now extern.
33929 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
33931         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
33933 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33935         * src/sysdep.c (deliver_process_signal): Improve comment.
33937 2016-12-30  Alan Mackenzie  <acm@muc.de>
33939         CC Mode: Fix the fontification of a spuriously recognized enum member.
33941         The "enum" was in an argument list, but triggered the fontification of a
33942         following identifier in the function block as though it were in an enum
33943         declaration.
33945         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
33946         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
33947         call to c-font-lock-enum-body.
33949         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
33950         variable.
33952 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
33954         Bump Emacs version to 25.1.91
33956         * README:
33957         * configure.ac:
33958         * msdos/sed2v2.inp:
33959         * nt/README.W32: Bump Emacs version.
33960         * lisp/ldefs-boot.el: Update.
33962 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
33964         Attempt to fix crashes with threads in GTK builds
33966         * src/xgselect.c (xg_select): Call pselect via thread_select, not
33967         directly, to avoid running Lisp (via unblock_input) when more than
33968         one thread could be running.  (Bug#25247)
33969         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
33970         xg_select directly instead of through thread_select.
33971         * src/xgselect.h (xg_select): Last 2 arguments are no longer
33972         'const', for consistency with thread_select.
33974 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
33976         Add entry for biblatex
33978         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
33979         entry for biblatex macros.
33981 2016-12-30  Alan Mackenzie  <acm@muc.de>
33983         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
33985         The ambiguity was whether INITVALUE is evaluated when it's not going to be
33986         used to set SYMBOL's value.
33988         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
33990         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
33992 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
33994         ffap-string-at-point: Limit max length of active region
33996         Prevents that 'ffap-guesser' waste time checking large strings
33997         which are likely not valid candidates (Bug#25243).
33998         * lisp/ffap.el (ffap-max-region-length): New variable.
33999         (ffap-string-at-point): Use it.
34000         * test/lisp/ffap-tests.el: New test suite.
34001         (ffap-tests-25243): Add test for this bug.
34003 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
34005         last-chance: Also ignore NEWS files + typo fixes
34007         * admin/last-chance.el: Fix typo in copyright notice.
34008         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
34009         (last-chance-cleanup): Fix typo in docstring.
34011 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
34013         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
34015 2016-12-29  Alan Mackenzie  <acm@muc.de>
34017         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
34019         The ambiguity was whether INITVALUE is evaluated when it's not going to be
34020         used to set SYMBOL's value.
34022         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
34024 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
34026         Improve filenotify-tests.el
34028         * src/inotify.c (Finotify_valid_p):
34029         * src/kqueue.c (Fkqueue_valid_p):
34030         * src/w32notify.c (Fw32notify_valid_p):
34031         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
34032         (Fgfile_monitor_name): New defun.
34033         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
34035         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
34036         New defun, derived from `file-notify--test-read-event-timeout'.
34037         Replace all calls of `read-event' by this.
34038         (file-notify--test-timeout): Fix docstring.
34039         (file-notify--test-monitor): New defun.
34040         (file-notify--deftest-remote): Do not bind
34041         `file-notify--test-read-event-timeout' anymore.
34042         (file-notify-test00-availability): Print also monitor, if existent.
34043         (file-notify--test-with-events): Add an additional
34044         `file-notify--test-read-event' call, in order to get it work
34045         after `file-notify-add-watch'.  Remove special timeout for cygwin.
34046         (file-notify-test02-events): Make a better check for cygwin.
34047         (file-notify-test06-many-events): Improve event list for cygwin.
34048         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
34050 2016-12-29  Alan Mackenzie  <acm@muc.de>
34052         Partially correct fontification of "(b*3)", and the like, in C++ Mode
34054         This problem is caused by the fundamental ambiguity in C++ between
34055         argument declarations and initialization clauses.
34057         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
34058         paren preceded by an arithmetic operator, we give this the context nil, not
34059         'arglist.
34061         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
34062         New lang consts and vars.
34064 2016-12-29  Alan Mackenzie  <acm@muc.de>
34066         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
34068         This is because there are times when this variable is changed by setcar before
34069         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
34070         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
34072         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
34074 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34076         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34078         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34079         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
34081 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
34083         Release Tramp 2.3.1
34085         * doc/misc/trampver.texi:
34086         * lisp/net/trampver.el: Change version to "2.3.1".
34088         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
34089         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
34091         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
34092         (tramp-compat-file-name-quote)
34093         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
34095 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34097         Simplify prog1 implementation
34099         Inspired by a suggestion from Chris Gregory in:
34100         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
34101         On my platform, this generates exactly the same machine insns.
34102         * src/eval.c (prog_ignore): Rename from unwind_body, since
34103         it’s more general than that.  All callers changed.
34104         (Fprog1): Simplify by using prog_ignore.
34105         (Fwhile): Clarify by using prog_ignore.
34107 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
34109         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34111         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34113 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
34115         Remove a use of lexical-let
34117         * lisp/gnus/message.el (message-completion-function): Just use let,
34118         since the file now uses lexical-binding.
34120 2016-12-27  Ken Brown  <kbrown@cornell.edu>
34122         Improve filenotify-tests.el on Cygwin (Bug #21804)
34124         * test/lisp/filenotify-tests.el [CYGWIN]
34125         (file-notify--test-read-event-timeout): Increase.
34126         (file-notify--test-with-events): Add delay before executing body.
34127         (file-notify-test02-events, file-notify-test04-file-validity):
34128         Adjust expected results.
34130 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
34132         Fix expand-file-name on DOS_NT systems when /: escaping is used
34134         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
34135         file names escaped by "/:".  Don't recursively expand
34136         default-directory escaped with "/:" which is not followed by a
34137         drive spec.  (Bug#25183)
34139 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34141         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
34143         * doc/misc/gnus.texi (Mail Source Specifiers):
34144         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
34145         the correct `((group))' value.  (bug#25275) (tiny change)
34147 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34149         Fix bug in customizing `mail-sources' variable (bug#25274)
34151         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
34152         for lone argument. (bug#25274) (tiny change)
34154 2016-12-26  Philipp Stephani  <phst@google.com>
34156         Checkdoc: Don't require a space before an arg list
34158         See Bug#24998.
34160         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
34161         space before a argument list.
34162         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
34163         Add unit test.
34165 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
34167         Document 'default-toplevel-value' and 'set-default-toplevel-value'
34169         * doc/lispref/variables.texi (Default Value): Document
34170         'default-toplevel-value' and 'set-default-toplevel-value'.
34172 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
34174         Add zshrc and zshenv detection to sh-mode (bug#25217)
34176         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
34178 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34180         Fix typo in lisp.h reordering patch
34182         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
34183         Reported by Eli Zaretskii (Bug#25128#19).
34185 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34187         regex.h now includes sys/types.h
34189         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
34190         Do not include sys/types.h; no longer needed.
34191         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
34192         glibc regex.h does, and POSIX has blessed this since 2008.
34194 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34196         Reorder lisp.h to declare types before using them
34198         This puts basic functions for types to be after the corresponding
34199         type definitions.  This is a more-common programming style in C,
34200         and will make it easier to port Emacs to gcc
34201         -fcheck-pointer-bounds, since the functions now have access to the
34202         corresponding types' sizes.  This patch does not change the code;
34203         it just moves declarations and definitions and removes
34204         no-longer-needed forward declarations (Bug#25128).
34205         * src/buffer.c, src/data.c, src/image.c:
34206         Include process.h, for PROCESSP.
34207         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
34208         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
34209         * src/termhooks.h (TERMINALP, XTERMINAL):
34210         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
34211         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
34212         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
34213         Move here from lisp.h.
34214         * src/intervals.h: Include buffer.h, for BUFFERP.
34215         Include lisp.h, for Lisp_Object.
34216         * src/lisp.h: Reorder declarations and definitions as described
34217         above.  Move thread includes to be later, so that they can use the
34218         reordered definitions.  Move some symbols to other headers (noted
34219         elsewhere).  Remove forward decls that are no longer needed.
34220         * src/thread.h: Include systhread.h here, not in lisp.h,
34221         since lisp.h itself does not need systhread.h.
34223 2016-12-25  Leo Liu  <sdl.web@gmail.com>
34225         Don't modify minibuffer variables globally
34227         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
34229 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34231         diff-mode auto-refines only after a successful motion
34233         Prior to this patch (if enabled) auto-refinement would kick in after all
34234         hunk navigation commands, even if the motion failed.  This would result
34235         in a situation where the hunk navigation would signal an error and beep,
34236         but yet still accomplish potentially useful work, by auto-refining.
34237         This patch moves the auto-refinement code to only run when a motion was
34238         successful
34240         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
34241           diff--internal-hunk-prev): Removed auto-refinement-triggering code
34242         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
34243           auto-refinement-triggering code
34245 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34247         diff-mode is able to better handle file headers
34249         This fixes a regression introduced in
34251           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
34253         This bug was filed in
34255           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
34257         Patches generated from a VCS such as git contain a patch message at the
34258         start, and diff-mode is now once-again able to properly able to ignore
34259         this message when issuing navigation commands around the message.
34261         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
34262           thoroughly ignore the header when looking for a beginning of file
34263           diffs.
34265 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34267         Use libpng-config --ldflags, not --libs
34269         Problem reported by James K. Lowden (Bug#25268).
34270         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
34272 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
34274         Revert to pre-25.1 behavior in ffap
34276         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
34277         the same behavior as in Emacs 24.x.  (Bug#25264)
34278         Explain the trade-offs of customizing this in the doc string.
34280 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34282         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
34284 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34286         Remove redundant `save-match-data' in whitespace.el
34288         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
34289         (whitespace-report-region): Remove redundant `save-match-data' calls.
34291 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34293         Fix whitespace eob cleanup
34295         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
34296         of empty lines at end of buffer.
34297         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
34298         (whitespace-tests--cleanup-string): New helper function for tests.
34300 2016-12-24  Hong Xu  <hong@topbug.net>
34302         Fix timezone detection of parse-iso8601-time-string
34304         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
34305         parsing.  Add a doc string.  (Bug#25086)
34306         * src/editfns.c (Fdecode-time): Doc fix.
34307         * doc/misc/emacs-mime.texi (time-date): Add an example for
34308         parse-iso8601-time-string.
34309         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
34310         tests for parse-iso8601-time-string.
34312 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34314         Simplify exec_byte_code via moving decls etc.
34316         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
34317         initializers into decls, and by omitting some unnecessary changes
34318         to ‘top’.
34320 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34322         Remove interpreter’s byte stack
34324         This improves performance overall on my benchmark on x86-64,
34325         since the interpreted program-counter resides in a machine
34326         register rather than in RAM.
34327         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
34328         is no longer a byte stack to decode.
34329         * src/bytecode.c (struct byte_stack, byte_stack_list)
34330         (relocate_byte_stack): Remove.  All uses removed.
34331         (FETCH): Simplify now that pc is now local (typically, in a
34332         register) and no longer needs to be relocated.
34333         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
34334         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
34335         (exec_byte_code): Allocate a copy of the function’s bytecode,
34336         so that there is no problem if GC moves it.
34337         * src/lisp.h (struct handler): Remove byte_stack member.
34338         All uses removed.
34339         * src/thread.c (unmark_threads): Remove.  All uses removed.
34340         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
34341         All uses removed.  m_stack_bottom is now the first non-Lisp field.
34343 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34345         BYTE_CODE_SAFE typo fix
34347         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
34348         not on whether it is defined.
34350 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34352         BYTE_CODE_SAFE cleanups
34354         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
34355         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
34356         Remove unused members ‘top’ and ‘bottom’.
34357         (exec_byte_code): Nest inside { } to avoid GCC warning about
34358         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
34360 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
34362         last-chance: new utility lib for dangling deterrence
34364         * admin/last-chance.el: New file.
34366 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34368         Use max_align_t instead of void *
34370         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
34372 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34374         Attempt to fix 64-bit AIX build
34376         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
34377         type-casts that assumed 32-bit pointers.  (Bug#25141)
34379 2016-12-23  Philipp Stephani  <phst@google.com>
34381         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
34383         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
34385 2016-12-23  Philipp Stephani  <phst@google.com>
34387         Document that variable binding order is unspecified
34389         * doc/lispref/variables.texi (Local Variables):
34390         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
34391         'cl-letf' is unspecified.
34393 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34395         Prevent infloops in redisplay due to truncate-lines and overlays
34397         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
34398         redisplay_window when a screen line ends in an overlay string with
34399         a newline.  (Bug#25246)
34401 2016-12-23  Philipp Stephani  <phst@google.com>
34403         Treat incomplete integer literals as errors
34405         See Bug#25120.
34407         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
34408         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
34409         incomplete integer literals.
34411 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34413         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
34415 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
34417         Fix M-x hints on Mac port
34419         * lisp/simple.el (execute-extended-command--shorter): Call
34420         input-pending-p to trigger input processing on some systems, such
34421         as Mac port.  (Bug#23002)
34423 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
34425         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
34427 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34429         Avoid aborts due to unaligned byte stack of threads
34431         * src/thread.c (run_thread): Make sure the pointers to thread byte
34432         stack are properly aligned.  (Bug#25247)
34434 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
34436         Pacify --enable-gcc-warnings
34438         * src/charset.c (load_charset_map):
34439         * src/coding.c (decode_coding_object):
34440         * src/frame.c (make_frame):
34441         * src/window.c (Frecenter):
34442         Mark locals with UNINIT to silence false alarms from
34443         -Wmaybe-uninitialized.
34444         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
34445         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
34446         Check and assume that values are nonnull.  This pacifies
34447         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
34448         Fmake_local_variable.
34450 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
34452         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
34454         * src/thread.c (primary_thread_p): New function.
34455         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
34456         meant for thread objects allocated dynamically.
34457         * src/thread.h (primary_thread_p): Add prototype.
34459 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
34461         Work around reporting a dpi change in apply_xft_settings
34463         * src/xsettings.c (apply_xft_settings): Don't report a change
34464         when dpi settings do not differ substantially.
34466 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
34468         Use completion-at-point in verilog-mode
34470         There were some functions in verilog-mode that implemented in-buffer
34471         completion, but this needlessly duplicates completion-at-point
34472         functionality, and the popup window management had problems
34473         (see Bug #23842).  We need to keep them for backwards compatibility with
34474         older emacs versions, but use completion-at-point if available.
34476         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
34477         obsolete if completion-cycle-threshold is available.
34478         (verilog-mode-map, verilog-menu): Bind completion-at-point and
34479         completion-help-at-point in preference to verilog-complete-word and
34480         verilog-show-completions, respectively.
34481         (verilog-mode): Add verilog-completion-at-point to
34482         completion-at-point-functions.
34483         (verilog-completion-at-point): New function.
34484         (verilog-show-completions, verilog-complete-word): Use it to avoid code
34485         duplication.
34487 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
34489         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
34491         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
34492         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
34493         retain their hardwired values, and all other dictionaries are given
34494         sensible defaults.
34496 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34498         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
34499         and xetex commands.
34501 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
34503         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
34505         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
34506         for thread objects.  They are marked via the all_threads list, and
34507         therefore don't need to be inserted into the red-black tree, so
34508         mem_find will never find them.  Reported by Daniel Colascione
34509         <dancol@dancol.org> in
34510         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
34512 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34514         * src/data.c (Fmake_variable_frame_local): Remove
34516         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
34518         * src/data.c (swap_in_symval_forwarding, set_internal)
34519         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
34520         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
34521         Don't pay attention to ->frame_local any more.
34522         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
34523         Smake_variable_frame_local.
34525         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
34526         of make-variable-frame-local.
34528         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
34529         frame-local case.
34531         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
34533         * src/frame.c (store_frame_param):
34534         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
34536         * src/widget.c (first_frame_p): Remove, unused.
34538 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
34540         Port dumping better to WSL
34542         Problem reported by Angelo Graziosi in:
34543         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
34544         * src/sysdep.c (disable_address_randomization):
34545         Detect buggy platforms where 'personality' always returns 0.
34547 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
34549         Remove gateway methods in Tramp
34551         * doc/misc/tramp.texi (Top, Configuration): Remove section
34552         `Gateway methods', insert section `Firewalls' in menu.
34553         (History): Gateways are removed now.
34554         (Gateway methods): Remove section.
34555         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
34556         (Firewalls): New section.
34558         * etc/NEWS: Gateway methods in Tramp have been removed.
34560         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
34561         (tramp-file-name-port, tramp-accept-process-output): Simplify.
34563         * lisp/net/tramp-gw.el: Remove.
34565         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
34566         (tramp-gw-socks-method): Remove declarations.
34567         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
34568         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
34569         (tramp-do-copy-or-rename-file-out-of-band)
34570         (tramp-compute-multi-hops, tramp-maybe-open-connection):
34571         Remove gateway support.
34573         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
34574         Remove gateway tests.
34576 2016-12-20  Alan Mackenzie  <acm@muc.de>
34578         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
34580         lisp/progmodes/cc-defs.el: Amend the version number.
34581         etc/NEWS: Add an item explaining the change.
34583 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
34585         files-test-read-file-in-: Delete temporary dir on exit
34587         * test/lisp/files-tests.el (files-test-read-file-in-~):
34588         Create subdir inside dir.
34590 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
34592         ibuffer: New filters and commands
34594         Add several new filters and improve documentation.
34595         See discussion on:
34596         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
34597         * lisp/ibuf-ext.el: Add paragraph to file commentary.
34598         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
34599         (ibuffer-filter-groups): Update doc string.
34600         (ibuffer-unary-operand): Add new function that transparently
34601         handles 'not' formats for compound filters.
34602         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
34603         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
34604         (ibuffer-decompose-filter): Handle 'and' as well,
34605         and handle 'not' consistently with other uses.
34606         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
34607         (ibuffer--or-and-filter): New defun.
34608         (ibuffer-or-filter, ibuffer-and-filter): Use it.
34609         (ibuffer-format-qualifier): Handle 'and' filters as well.
34610         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
34611         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
34612         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
34613         Add new pre-defined filters.
34614         (ibuffer-filter-chosen-by-completion): Add new interactive command
34615         for easily choosing a filter from the descriptions.
34616         * lisp/ibuffer.el (ibuffer-mode-map):
34617         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
34618         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
34619         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
34620         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
34621         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
34622         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
34623         and '/ DEL' respectively.
34624         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
34625         skip specification.
34626         Add menu entries for the new filters.
34627         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
34628         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
34629         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
34630         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
34631         ibuffer-decompose-filter, ibuffer-and-filter
34632         ibuffer-or-filter): Add new tests; they are skipped unless
34633         ibuf-ext is loaded.
34635 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34637         Update NEWS
34639         * etc/NEWS (Image-Dired): New section.
34641 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34643         Recognize graphicsmagick in image-dired
34645         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
34646         (image-dired-cmd-create-thumbnail-options):
34647         (image-dired-cmd-create-temp-image-program):
34648         (image-dired-cmd-create-temp-image-options):
34649         (image-dired-cmd-create-standard-thumbnail-options):
34650         (image-dired-cmd-rotate-thumbnail-program):
34651         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
34652         gm(1) executable.
34654 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
34656         Improve skeleton docstrings
34658         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
34659         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
34660         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
34661         `skeleton-end-hook' above the explanation of skeleton syntax.
34663 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34665         Implement asynchronous thumbnail generation in image-dired
34667         Additionally, all FOO-options defcustoms that were in fact shell command
34668         strings have been converted to argument lists.  Another method for
34669         shrinking PNG thumbs with optipng(1) has been added.
34670         * lisp/image-dired.el: Remove TODO item in commentary.
34671         (image-dired-cmd-create-thumbnail-options):
34672         (image-dired-cmd-create-temp-image-options):
34673         (image-dired-cmd-rotate-thumbnail-options):
34674         (image-dired-cmd-rotate-original-options):
34675         (image-dired-cmd-write-exif-data-options):
34676         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
34677         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
34678         Change string type to file.
34679         (image-dired-cmd-create-standard-thumbnail-command): Remove.
34680         (image-dired-cmd-pngnq-options):
34681         (image-dired-cmd-create-standard-thumbnail-options):
34682         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
34683         New defcustoms.
34684         (image-dired-queue, image-dired-queue-active-jobs):
34685         (image-dired-queue-active-limit): New variables.
34686         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
34687         (image-dired-optipng-thumb): New functions.
34688         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
34689         Use start-process instead of call-process.  Set file modes.  Trigger
34690         PNG file optimization in process sentinel.
34691         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
34692         (image-dired-display-thumbs):
34693         (image-dired-create-thumbs): Don't expect call-process return value.
34694         (image-dired-display-image, image-dired-rotate-thumbnail): Use
34695         start-process instead of call-process.
34696         (image-dired-rotate-original, image-dired-set-exif-data):
34697         (image-dired-get-exif-data): Adapt to arguments being an arg list.
34699 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
34701         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
34703         * src/indent.c (restore_window_buffer): New function.
34704         (Fvertical_motion): Use it to restore window's buffer.
34706 2016-12-19  Glenn Morris  <rgm@gnu.org>
34708         Improve default load-path for uninstalled CANNOT_DUMP builds
34710         * src/lread.c (load_path_default) [CANNOT_DUMP]:
34711         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
34712         I think this became an issue several years ago when we stopped
34713         using EMACSLOADPATH in the Makefiles; however this change should
34714         improve the CANNOT_DUMP uninstalled case in general.
34716 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34718         Improve documentation of 'w32-scroll-lock-modifier'
34720         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
34721         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
34723         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
34724         fix.  (Bug#25204)
34726 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34728         Document 'describe-fontset'
34730         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
34731         (Bug#25216)
34733 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34735         Document 'describe-fontset'
34737         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
34738         (Bug#25216)
34740 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34742         Fix crashes upon C-g on Posix TTY frames
34744         * src/thread.h (struct thread_state): New member not_holding_lock.
34745         (maybe_reacquire_global_lock): Add prototype.
34746         * src/thread.c: Include syssignal.h.
34747         (maybe_reacquire_global_lock): New function.
34748         (really_call_select): Set the not_holding_lock member of the
34749         thread state before releasing the lock, and rest it after
34750         re-acquiring the lock when the select function returns.  Block
34751         SIGINT while doing this to make sure we are not interrupted on TTY
34752         frames.
34753         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
34754         functions.
34755         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
34756         Add prototypes.
34757         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
34758         maybe_reacquire_global_lock.  (Bug#25178)
34760 2016-12-19  Sam Steingold  <sds@gnu.org>
34762         avoid Eager macro-expansion failure: (void-function string-to-list)
34764         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
34765           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
34766           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
34768 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
34770         Fix Bug#24980
34772         * lisp/ido.el (ido-add-virtual-buffers-to-list):
34773         Suppress Tramp invocation.  (Bug#24980)
34775 2016-12-18  Philipp Stephani  <phst@google.com>
34777         Add a new compile error regexp for Clang includes
34779         Clang uses a slight variation of GCC's include format, causing includes
34780         to be treated as warnings instead of informational messages.  Use a new
34781         regular expression instead.
34783         * lisp/progmodes/compile.el
34784         (compilation-error-regexp-alist-alist): New element
34785         `clang-include' for Clang-style "included from" lines.
34786         * test/lisp/progmodes/compile-tests.el
34787         (compile-tests--test-regexps-data): Add unit test.
34789 2016-12-18  Alan Third  <alan@idiocy.org>
34791         Reinstate ispell character offset (bug#25219)
34793         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
34794         ispell-offset used to be.
34796 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
34798         Bind new image-mode scroll commands in image-dired
34800         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
34801         to new image-mode commands.
34803 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
34805         Fix rx-any with range with ?\] and ?-
34807         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
34808         list (Bug#25123).
34809         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
34811 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
34813         Use floor of mtime instead of rounding for thumb property
34815         This seems to be the correct thing to do, at least more in line with
34816         what at least one other implementation does.  Anything using
34817         gnome-desktop [0] effectively does the same, as
34818         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
34819         comparison and time_t on GNU/Linux is a signed int.
34820         [0] https://git.gnome.org/browse/gnome-desktop/
34821         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
34823 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
34825         Fix spelling mistake in private defun name (Bug#25218)
34827         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
34828         `flyspell-adjust-cursor-point'.
34830 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
34832         Remove XEmacs support from flyspell.el (Bug#25218)
34834         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
34835         (flyspell-word, flyspell-delete-region-overlays):
34836         (flyspell-correct-word-before-point): Remove XEmacs support.
34837         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
34839 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
34841         More tests for Tramp
34843         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
34844         file names.
34846         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
34847         name properly.
34849         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
34850         Mark quoted file name as absolute.  (Bug#25183)
34851         (tramp--test-windows-nt-and-batch)
34852         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
34853         (tramp--test-windows-nt-or-smb-p): Rename from
34854         `tramp--test-smb-windows-nt-p'.  Adapt callees.
34855         (tramp--test-check-files): Improve checks for environment variables.
34856         (tramp-test33-special-characters)
34857         (tramp-test33-special-characters-with-stat)
34858         (tramp-test33-special-characters-with-perl)
34859         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
34860         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
34861         (tramp-test34-utf8-with-ls): Add more checks for skip.
34863 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34865         Fix comments
34867         * src/thread.h (struct thread_state): Fix comments.
34868         * src/process.c (wait_reading_process_output): Fix a typo in
34869         commentary.
34871 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34873         Repair desktop restoration on text terminals
34875         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
34876         frame here, instead of in desktop-restoring-frameset.  That's
34877         because desktop-read wants to know whether frameset will actually
34878         be restored, and has fallback procedures up its sleeve when it
34879         won't be; these fallbacks need to be invoked when the frameset is
34880         not going to be restored.  (Bug#24298)
34882 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34884         Fix crashes on MS-Windows during dumping
34886         * src/unexw32.c (get_section_info): Make extra_bss_size be the
34887         maximum of extra_bss_size and extra_bss_size_static.  This avoids
34888         computing the size of the output file smaller than it actually
34889         needs to be, which then causes copy_executable_and_dump_data to
34890         write beyond the requested size of the file mapping, thus relying
34891         on the OS roundup to page boundary to save us from ourselves.  See
34892         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
34893         for the details.
34895         * lib/stdio-impl.h: Revert the workaround fix of not including
34896         errno.h for MinGW.
34898 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
34900         Ignore forward-sexp-function in js-mode indentation code
34902         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
34903         (js--maybe-goto-declaration-keyword-end):
34904         Bind forward-sexp-function to nil (bug#25215).
34906 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34908         Be more selective clearing the image cache
34910         * lisp/image-dired.el (image-dired-create-thumbs):
34911         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
34912         the current thumbnail file from the image cache.
34914 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
34916         Unbreak the MinGW build
34918         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
34919         this, temacs crashes while dumping.
34921 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
34923         Make seq-into return the sequence when no conversion needed
34925         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
34926           no conversion is needed.
34927         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
34928           a regression test checking for identity.
34930 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
34932         Improve documentation of 'define-coding-system'
34934         * lisp/international/mule.el (define-coding-system): Warn against
34935         possible infinite recursion in pre-write-conversion and
34936         post-read-conversion functions.  (Bug#25203)
34938 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34940         New commands image-scroll-left and image-scroll-right
34942         * etc/NEWS: Mention them.
34943         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
34944         functions.
34946 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34948         More image-dired refactoring
34950         * lisp/image-dired.el (image-dired-thumbnail-mode):
34951         (image-dired-display-image-mode): Add :group 'image-dired so
34952         customize-mode works.
34953         (image-dired-display-image): Rearrange.
34954         (image-dired-copy-with-exif-file-name): This map is for side effect.
34955         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
34957 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34959         * lisp/image-dired.el: Turn on lexical-binding.
34961 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34963         Teach image-dired to also generate large thumbs
34965         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
34966         standard-large option.
34967         (image-dired-thumb-size): Add condition for standard-large storage.
34968         (image-dired-insert-thumbnail): Check for new option.  Change
34969         thumbnail path conditionally.
34970         (image-dired-thumb-size): New function.
34971         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
34973 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
34975         Merge from gnulib
34977         This incorporates:
34978         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
34979         2016-12-12 fpending: port to native Windows with MSVC
34980         * .gitignore: Do not ignore lib/stdio-impl.h.
34981         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
34982         Copy from gnulib.
34983         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
34984         * lib/stdio-impl.h:
34985         New file, copied from gnulib.
34986         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
34988 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
34990         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
34991         Append newline.
34993 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
34995         Don't abuse princ and spam messages
34997         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
34998         (image-dired-display-thumb-properties):
34999         (image-dired-dired-display-properties): Nix princ.  Bind
35000         message-log-max to nil.
35002 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35004         Inherit things from special-mode and image-mode
35006         * lisp/image-dired.el: Require image-mode library.
35007         (image-dired-thumbnail-mode-map): Remove superfluous binding.
35008         (image-dired-display-image-mode-map): Remove superfluous binding.
35009         Add movement remaps from image-mode-map.
35010         (image-dired-thumbnail-mode): Derive from special-mode.
35011         (image-dired-display-image-mode): Derive from special-mode. Call
35012         image-mode-setup-winprops.
35014 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35016         Fix some image-dired customization types
35018         * lisp/image-dired.el (image-dired): Add info link to defgroup.
35019         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
35020         (image-dired-db-file, image-dired-temp-image-file):
35021         (image-dired-cmd-create-thumbnail-program):
35022         (image-dired-cmd-create-temp-image-program):
35023         (image-dired-cmd-rotate-thumbnail-program):
35024         (image-dired-cmd-rotate-original-program):
35025         (image-dired-temp-rotate-image-file):
35026         (image-dired-cmd-write-exif-data-program):
35027         (image-dired-cmd-read-exif-data-program): Set type to file.
35028         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
35029         type at runtime, since setting image-dired-thumb-size does not
35030         automatically set image-dired-thumb-width and image-dired-thumb-height.
35032 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
35034         Prevent crashes in xg_select due to concurrency
35036         * src/xgselect.c (xg_select): Don't call Glib functions that use
35037         'context' if we failed to acquire it.  This means some other
35038         thread owns the context, in which case both using the context and
35039         calling block_input/unblock_input will step on that thread's toes
35040         and eventually lead to crashes.  (Bug#25172)
35042 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
35044         Fix circular list handling in seq-mapn
35046         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
35047         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
35048           Add a regression test.
35050 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
35052         Check in tramp-tests.el, that environment variables are set correctly
35054         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
35055         Check also, that environment variables are set correctly.
35057 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
35059         Protect environment variables with double quotes in Tramp
35061         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
35062         Protect environment variables with double quotes.
35064 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
35066         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
35068 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35070         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
35072 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35074         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
35076 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35078         Recognize pngnq or pngnq-s9
35080         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
35081         pngnq-s9 as a possible executable.
35083 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35085         Update standard image-dired thumbnail location
35087         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
35088         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
35090 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35092         Reset window scroll when displaying an image
35094         When viewing a large image full size and scrolling, for instance, to
35095         the lower right corner, then selecting a much smaller image in the
35096         thumbnail buffer, the window stays scrolled so the new image is out of
35097         the window.  One must scroll back to the "origin" to view the new
35098         displayed image, or just kill the image-dired-display-image buffer and
35099         try again.  This fixes the issue.
35100         * lisp/image-dired.el (image-dired-display-window-width):
35101         (image-dired-display-window-height): Operate on a window as argument.
35102         (image-dired-display-image): Bind (image-dired-display-window) and use
35103         it. Set window vscroll and hscroll to zero when refreshing the
35104         buffer's contents.
35106 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35108         More image-dired polish
35110         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
35111         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
35112         undo list. Add image-dired-file-name-at-point to
35113         file-name-at-point-functions to facilitate find-file and friends.
35114         (image-dired-thumbnail-display-external):
35115         (image-dired-dired-display-external): Use start-process instead, to
35116         avoid needlessly blocking and using a shell.
35118 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
35120         Replace ldefs-boot with a much smaller file
35122          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
35123            (bootstrap): Depend on bootstrap-build.
35124          * admin/ldefs-clean.el: New file.
35125          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
35126          * lisp/ldefs-boot.el: Remove.
35127          * lisp/ldefs-boot-auto.el: New file.
35128          * lisp/ldefs-boot-manual.el: New file.
35129          * lisp/loadup.el: Load ldefs-boot-manual.el.
35130          * src/emacs.c (generating_ldefs_boot): New variable.
35131            (main): Check whether we are generating ldefs.
35132          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
35133            requested.
35134          * src/lisp.h (generating_ldefs_boot): New variable.
35135          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
35136            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
35137            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
35138            ldefs-boot.
35139          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
35141 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35143         Remove support for aspell < 0.60 (from 2004)
35145         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
35146         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
35148 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35150         Minor docstring and comment fixes to ispell.el
35152         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
35153         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
35154         (ispell-set-spellchecker-params): Change double-single quotes to
35155         single single quotes in comment.
35157 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35159         Remove unused variable
35161         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
35163 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35165         Remove XEmacs-specific ispell-with-no-warnings
35167         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
35168         defmacro, needed only for XEmacs.
35169         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
35171 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35173         Remove meaningless defconst ispell-version
35175         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
35176         firmly part of Emacs, and the version hasn’t changed since 2003, and
35177         isn’t used anywhere, remove it.  3rd-party code can better use the
35178         Emacs version, or feature or function checks.
35179         (ispell-check-version): No longer report ispell.el version.
35181 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35183         Remove boundp test for always-bound symbol
35185         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
35186         defvar’d at the top of the file, so remove a test to see if it is
35187         bound.
35189 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35191         Remove support for ispell < 3.1.12
35193         * lisp/textmodes/ispell.el (ispell-offset): Remove.
35194         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
35195         (ispell-process-line): No longer use ispell-offset.
35197 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35199         Remove unused constant
35201         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
35203 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35205         Remove support for old versions of supercite and GNUS from ispell.el
35207         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
35208         and GNUS >= 5.  Not exactly the bleeding edge!
35210 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35212         Remove remaining mentions of XEmacs from ispell.el
35214         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
35215         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
35216         comments.
35218 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35220         Remove XEmacs-specific minibuffer handling code from ispell.el
35222         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
35223         XEmacs.
35225 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35227         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
35229         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
35230         XEmacs-specific code.
35232 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35234         Remove XEmacs-specific code dealing with enable-multibyte-characters
35236         * lisp/textmodes/ispell.el (ispell-decode-string):
35237         (ispell-init-process):  Remove XEmacs-specific guard.
35239 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35241         Remove XEmacs-specific code from ispell.el
35243         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
35244         (ispell-menu-map-needed): Remove XEmacs-specific check.
35245         (ispell-word): Remove XEmacs-specific extent code.
35246         (ispell-init-process): Remove XEmacs workaround for local add-hook.
35247         Assume we have set-process-query-on-exit-flag.
35248         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
35249         workaround for called-interactively-p.
35251 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35253         Remove some commented-out code
35255         lisp/textmodes/ispell.el (ispell-process)
35256         ispell-valid-dictionary-list): Remove commented-out code.
35258 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35260         Remove XEmacs and old Emacs highlighting code
35262         * lisp/textmodes/ispell.el
35263         (ispell-highlight-spelling-error-xemacs): Remove.
35264         (ispell-highlight-spelling-error): Assume display-color-p exists.
35266 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35268         Assume Emacs supports [:alpha:] in regexps
35270         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
35271         (ispell-set-spellchecker-params): Remove tests of
35272         ispell-emacs-alpha-regexp.
35274 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35276         Remove some XEmacs-specific code from ispell.el
35278         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
35279         (ispell-int-char): Remove.
35281 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35283         Generalize over-specific documentation
35285         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
35286         document precise personal wordlist filenames for only two supported
35287         spelling checkers, simply say that the default personal dictionary
35288         depends on the chosen spelling checker.  The user can check the
35289         spelling checker’s documentation if necessary.  This is simpler, and
35290         works for other supported (and future, or unknown) spelling checkers.
35292 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35294         Remove tests for built-in functions
35296         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
35297         back-up definition.
35298         (ispell-add-per-file-word-list): Remove tests for comment-padright and
35299         comment-normalize-vars.
35301 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35303         Remove unused ispell-looking-back
35305         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
35307 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35309         Assume we have version<= for checking ispell version
35311         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
35312         (ispell-check-version): Use version<= directly.
35314 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35316         Remove ispell.el pre-GNU Emacs comments
35318         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
35319           details, as Emacs version, bug report address and so forth should be
35320           used instead for this version.  Remove in-line change history; use
35321           git instead.
35323 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35325         More small fixes for image-dired
35327         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
35328         node.
35329         (image-dired--with-db-file): Add declare forms.
35330         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
35331         run through the whole list.
35333 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35335         Remove image-dired-kill-buffer-and-window
35337         This breaks window layout, especially when quitting a
35338         image-dired-display-image-mode buffer.
35339         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
35340         (image-dired-display-image-mode-map): Replace in keymap and menu items
35341         bindings to image-dired-kill-buffer-and-window with quit-window.
35342         (image-dired-kill-buffer-and-window): Remove.
35344 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35346         Replace image-dired-setup-dired-keybindings with a minor mode
35348         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
35349         remove mention of nonexistent image-dired-dired and to refer to the
35350         new minor mode.
35351         (image-dired-minor-mode-map): New keymap assimilated from
35352         image-dired-setup-dired-keybindings.  In the future, the keymap parent
35353         should be removed, and perhaps also the duplicate bindings that
35354         already exist in dired-mode-map.
35355         (image-dired-setup-dired-keybindings): Remove.  Replace with an
35356         obsolete function alias.
35357         (image-dired-minor-mode): New minor mode, assuming the role of
35358         image-dired-setup-dired-keybindings.
35360 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
35362         * test/src/regex-resources/PTESTS: Convert to UTF-8.
35364 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35366         Clarify thread-signal semantics
35368         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
35369         thread will be signaled as soon as possible.
35371 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35373         Clean up var watcher disabling on thread switching
35375         * src/data.c (Fset_default): Move code into new C level function,
35376         `set_default_internal'.
35377         (set_default_internal): New function, like `Fset_default' but also takes
35378         additional bindflag parameter.
35379         (set_internal): Only call `notify_variable_watchers' if bindflag is not
35380         SET_INTERNAL_THREAD_SWITCH.
35381         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
35382         passed on to set_internal and set_default_internal.  Adjust callers.
35383         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
35384         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
35385         temporarily adjusting symbol's trapped_write field.
35387 2016-12-13  Glenn Morris  <rgm@gnu.org>
35389         Minor fix for define-derived-mode
35391         * lisp/emacs-lisp/derived.el (define-derived-mode):
35392         Do not let eg eval-defun reset the values of syntax or abbrev tables,
35393         since they might have been defined externally.  (Bug#16160)
35395 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35397         * build-aux/git-hooks/pre-commit: Add whitespace comment.
35399 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
35401         Move backtrace to ELisp using a new mapbacktrace primitive
35403         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
35404         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
35405         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
35407         * lisp/subr.el (backtrace--print-frame): New function.
35408         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
35409         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
35411         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
35412         `mapbacktrace' instead of searching for "(debug" in the output of
35413         `backtrace'.
35415         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
35416         (subr-test-backtrace-integration-test): New tests.
35418         * doc/lispref/debugging.texi (Internals of Debugger): Document
35419         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
35421 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35423         Use C99 syntax for font drivers
35425         Problem reported by Daniel Colascione in:
35426         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
35427         * src/ftcrfont.c (ftcrfont_driver):
35428         * src/ftfont.c (ftfont_driver):
35429         * src/ftxfont.c (ftxfont_driver):
35430         * src/macfont.m (macfont_driver):
35431         * src/nsfont.m (nsfont_driver):
35432         * src/xfont.c (xfont_driver):
35433         * src/xftfont.c (xftfont_driver):
35434         Use C99 syntax, not the old GNU C syntax.
35436 2016-12-12  Glenn Morris  <rgm@gnu.org>
35438         Obsolete gs.el
35440         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
35441         * doc/lispref/display.texi (Image Formats): Remove postscript.
35442         (PostScript Images): Remove section.
35443         * doc/lispref/elisp.texi: Update menu.
35445 2016-12-12  Glenn Morris  <rgm@gnu.org>
35447         Un-revert recent Ffset change
35449         * src/data.c (Ffset): Reinstate the check for "nil".
35451 2016-12-12  Glenn Morris  <rgm@gnu.org>
35453         Minor advice.el fix
35455         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
35456         Avoid setting the function definition of nil.
35457         This was happening during bootstrap of org-compat.el,
35458         apparently due to eager macro expansion of code behind
35459         a (featurep 'xemacs) test.
35461 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35463         Make etags-tests work in out-of-tree builds
35465         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
35466         (etags-bug-23164): Make them work in an out-of-tree build.
35467         Reported by Ken Brown <kbrown@cornell.edu>.
35469 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35471         Avoid crashing if a new thread is signaled right away
35473         * src/thread.c (post_acquire_global_lock): Don't raise the pending
35474         signal if the thread's handlers were not yet set up, as that will
35475         cause Emacs to exit with a fatal error.  This can happen if a
35476         thread is signaled as soon as make-thread returns, before the new
35477         thread had an opportunity to acquire the global lock, set up the
35478         handlers, and call the thread function.
35480         * test/src/thread-tests.el (thread-signal-early): New test.
35482 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35484         Fix point motion in cloned buffers
35486         * src/thread.c (post_acquire_global_lock): Call
35487         set_buffer_internal_2 instead of tricking set_buffer_internal_1
35488         into resetting the current buffer even if it didn't change.  This
35489         avoids bug#25165, caused by failing to record the modified values
35490         of point and mark, because current_buffer was set to NULL.  Also,
35491         don't bother re-setting the buffer if there was no thread switch,
35492         as that just wastes cycles.
35493         * src/buffer.c (set_buffer_internal_2): New function, with most of
35494         the body of set_buffer_internal_1, but without the test for B
35495         being identical to the current buffer.
35496         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
35497         identical to the current buffer.
35498         * src/buffer.h (set_buffer_internal_2): Add prototype.
35500         * test/src/thread-tests.el (thread-sticky-point): New test.
35502 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
35504         Further improvements in Tramp's file name unquoting
35506         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
35507         (tramp-adb-handle-write-region): Unquote localname.
35508         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
35509         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
35511         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
35512         (tramp-handle-file-name-case-insensitive-p):
35513         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
35514         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
35515         (tramp-gvfs-maybe-open-connection):
35516         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
35517         * lisp/net/tramp-smb.el (tramp-smb-get-share)
35518         (tramp-smb-get-localname): Use it.
35520         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
35521         (tramp--test-special-characters, tramp-test34-utf8)
35522         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35523         (tramp-test34-utf8-with-ls): Use it.
35525 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
35527         Strengthen conditions for resizing sibling windows (Bug#25169)
35529         * lisp/window.el (window-resize, delete-window): Resize other siblings
35530         only if `window-combination-resize' equals t (Bug#25169).
35532 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
35534         Quote filenames containing '~' in prompts
35536         When in a directory named '~', the default value given by
35537         `read-file-name' should be quoted by prepending '/:', in order to
35538         prevent it from being interpreted as referring to the $HOME
35539         directory (Bug#16984).
35541         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
35542         (completion--sifn-requote, read-file-name-default): Use it instead of
35543         `minibuffer--double-dollars'.
35544         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
35546 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
35548         Undo part of last change
35550         * src/thread.h:
35551         * src/keyboard.c:
35552         * src/keyboard.h: Undo part of last change:
35553         input_available_clear_time is again a global variable.
35555 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
35557         Avoid aborts when a thread signals an error
35559         * src/thread.h (struct thread_state): Add members
35560         m_waiting_for_input and m_input_available_clear_time.
35561         (waiting_for_input, input_available_clear_time): New macros.
35562         * src/keyboard.c (waiting_for_input, input_available_clear_time):
35563         Remove; they are now macros that reference the current thread.
35564         (Bug#25171)
35565         * src/w32select.c: Don't include keyboard.h.
35567         * test/src/thread-tests.el (thread-errors): New test.
35569 2016-12-11  Philipp Stephani  <phst@google.com>
35571         Clean up compile-tests.el
35573         Switch to lexical binding.  Make checkdoc happy.
35575         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
35576         (compile-test-error-regexps): Instead of checking a single Boolean
35577         value, use `should' for each attribute of the message to be compared.
35578         (compile-tests--test-regexps-data): Document sixth list element
35579         TYPE.
35581 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
35583         Fix Bug#25162
35585         * doc/emacs/files.texi (Reverting): Document
35586         auto-revert-remote-files and auto-revert-verbose.
35588         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
35589         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
35591 2016-12-11  Glenn Morris  <rgm@gnu.org>
35593         Fix a typo in define-abbrev-table
35595         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
35597 2016-12-11  Glenn Morris  <rgm@gnu.org>
35599         Improve previous cperl-mode change
35601         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
35602         Improve previous change.
35604 2016-12-11  Glenn Morris  <rgm@gnu.org>
35606         Mark default cperl abbrevs as system ones
35608         * lisp/progmodes/cperl-mode.el (cperl-mode):
35609         Mark our abbrevs as system ones.  (Bug#10934)
35611 2016-12-11  Glenn Morris  <rgm@gnu.org>
35613         Revert earlier Ffset change
35615         * src/data.c (Ffset): Allow nil again, since it caused
35616         eager macro-expansion failures.
35618 2016-12-11  Glenn Morris  <rgm@gnu.org>
35620         Tweaks for message bogus address detection
35622         * lisp/gnus/message.el (message-bogus-recipient-p):
35623         Do not require "@", since some mailers deliver to local addresses
35624         without one.  (Bug#23054)
35625         Move "@.*@" from here...
35626         (message-bogus-addresses): ...to here, so it can be customized.
35628 2016-12-11  Glenn Morris  <rgm@gnu.org>
35630         Do not allow nil to be defined as a function
35632         * lisp/emacs-lisp/byte-run.el (defun):
35633         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
35635 2016-12-11  Glenn Morris  <rgm@gnu.org>
35637         Bump makeinfo requirement from 4.7 to 4.13
35639         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
35640         We need at least 4.8, and that may be buggy, so go for the last
35641         of the 4 series, which is 8 years old.  (Bug#25108)
35643 2016-12-11  Glenn Morris  <rgm@gnu.org>
35645         Fixes related to select-enable-clipboard
35647         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
35648         (clipboard-kill-region):
35649         * lisp/eshell/esh-io.el (eshell-virtual-targets)
35650         (eshell-clipboard-append):
35651         Replace option gui-select-enable-clipboard with
35652         select-enable-clipboard; renamed October 2014.  (Bug#25145)
35654 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
35656         Add some sanity checking of defun arglist
35658         * lisp/emacs-lisp/byte-run.el (defun):
35659         Check for malformed argument lists.  (Bug#15715)
35661 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
35663         Minor shell-mode fix for zsh
35665         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
35666         becoming confused by zsh abbreviations.  (Bug#24632)
35668 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
35670         Define struct predicate before acccesors
35672         The accessor functions use the predicate function, which causes problems
35673         when reloading after unload-feature: the compiler-macro property is
35674         still present on the predicate symbol, and the compiler fails to find
35675         the definition when trying to inline it into the accessor
35676         function (Bug#25088).
35678         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
35679         before field accessor definitions.
35681 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
35683         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
35684         system unit file.
35686 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35688         Support concurrency in Emacs Lisp
35690         Merge branch 'test-concurrency'
35692         * src/thread.c:
35693         * src/thread.h:
35694         * src/systhread.c:
35695         * src/systhread.h: New files.
35696         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
35697         xnmalloc unconditionally.
35698         * src/window.c (struct save_window_data): Rename current_buffer to
35699         f_current_buffer.
35700         * src/w32proc.c (sys_select): Change the function signature to
35701         closer fit 'pselect' on Posix hosts.
35702         * src/search.c:
35703         * src/regex.h: Convert some globals to macros that reference
35704         thread-specific values.
35705         * src/process.c (pset_thread, add_non_keyboard_read_fd)
35706         (add_process_read_fd, add_non_blocking_write_fd)
35707         (recompute_input_desc, compute_input_wait_mask)
35708         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
35709         (compute_write_mask, clear_waiting_thread_info)
35710         (update_processes_for_thread_death, Fset_process_thread)
35711         (Fprocess_thread): New functions.
35712         (enum fd_bits): New enumeration.
35713         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
35714         'condition' to 'flags'.
35715         (set_process_filter_masks, create_process, create_pty)
35716         (Fmake_serial_process, finish_after_tls_connection)
35717         (connect_network_socket, deactivate_process)
35718         (server_accept_connection, wait_reading_process_output)
35719         (Fcontinue_process, Fstop_process, keyboard_bit_set)
35720         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
35721         (delete_keyboard_wait_descriptor): Use the new functions instead
35722         of manipulating fd flags and masks directly.
35723         (syms_of_process): Defsubr the new primitives.
35724         * src/print.c (print_object): Print threads, mutexes, and
35725         conditional variables.
35726         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
35727         and PVEC_CONDVAR.
35728         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
35729         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
35730         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
35731         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
35732         f_lisp_eval_depth.
35733         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
35734         (rebind_for_thread_switch, do_one_unbind)
35735         (unbind_for_thread_switch): New functions.
35736         (init_eval): 'handlerlist' is not malloc'ed.
35737         (specbind): Call do_specbind.
35738         (unbind_to): Call do_one_unbind.
35739         (mark_specpdl): Accept 2 arguments.
35740         (mark_specpdl): Mark the saved value in a let-binding.
35741         * src/emacs.c (main): Call init_threads_once, init_threads, and
35742         syms_of_threads.
35743         * src/data.c (Ftype_of): Support thread, mutex, and condvar
35744         objects.
35745         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
35746         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
35747         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
35748         (BYTE_CODE_QUIT): Add back.
35749         (exec_byte_code): Add back byte stack manipulation.
35750         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
35751         conditional variables.
35752         (mark_stack): Now extern; accept additional argument 'bottom'.
35753         (flush_stack_call_func): New function.
35754         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
35755         mark handlers.
35756         * src/.gdbinit (xbytecode): Add back.
35758         * test/src/thread-tests.el: New tests.
35759         * test/src/data-tests.el (binding-test-manual)
35760         (binding-test-setq-default, binding-test-makunbound)
35761         (binding-test-defvar-bool, binding-test-defvar-int)
35762         (binding-test-set-constant-t, binding-test-set-constant-nil)
35763         (binding-test-set-constant-keyword)
35764         (binding-test-set-constant-nil): New tests.
35766         * doc/lispref/processes.texi (Processes and Threads): New
35767         subsection.
35768         * doc/lispref/threads.texi: New file
35769         * doc/lispref/elisp.texi (Top): Include it.
35770         * doc/lispref/objects.texi (Thread Type, Mutex Type)
35771         (Condition Variable Type): New subsections.
35772         (Type Predicates): Add thread-related predicates.
35773         * doc/lispref/objects.texi (Editing Types):
35774         * doc/lispref/elisp.texi (Top): Update higher-level menus.
35776         * etc/NEWS: Mention concurrency features.
35778 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35780         Fix error messages in thread.c
35782         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
35783         (Fcondition_notify, Fthread_join): Fix error messages.
35785 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35787         Improve doc strings in thread.c
35789         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
35790         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
35791         (Fthread_join, Fall_threads): Doc fixes.
35793 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35795         Fix building with check-lisp-object-type
35797         * src/thread.c (mark_one_thread): Use NILP to compare with
35798         m_saved_last_thing_searched, which is a Lisp object.  Reported by
35799         Andreas Politz <politza@hochschule-trier.de>.
35801 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35803         Documentation and commentary improvements
35805         * src/lisp.h:
35806         * src/regex.c:
35807         * src/xgselect.c (xg_select): Improve commentary and formatting.
35809         * doc/lispref/objects.texi (Thread Type, Mutex Type)
35810         (Condition Variable Type): New subsections.
35811         (Type Predicates): Add thread-related predicates.
35812         * doc/lispref/objects.texi (Editing Types):
35813         * doc/lispref/elisp.texi (Top): Update higher-level menus.
35815 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
35817         Fix further problems with quoted file names in Tramp
35819         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
35820         (tramp-unquote-name): Move defsubst ...
35821         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
35822         (tramp-compat-file-name-quote)
35823         (tramp-compat-file-name-unquote): ... here. Adapt callees.
35825         * lisp/net/tramp-cache.el (tramp-flush-file-property)
35826         (tramp-flush-directory-property):
35827         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
35828         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
35829         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
35830         (tramp-smb-handle-substitute-in-file-name)
35831         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
35833 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35835         *src/sysdep.c: Fix a comment.
35837 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35839         Fix compilation error on Fedora 24
35841         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
35842         Reported by Paul Eggert <eggert@cs.ucla.edu>.
35844 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35846         Fix compilation warnings due to prototype of thread_select
35848         * src/thread.h <int select_func>: Make the 5th and 6th arguments
35849         be 'const'.
35850         * src/process.c [WINDOWSNT]:
35851         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
35852         'const'.
35854 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35856         Fix compilation on Debian GNU/Linux
35858         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
35859         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
35861 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35863         Fix subtle errors with let-binding of localized variables
35865         * src/eval.c (do_specbind): Don't require a "symbol" that is
35866         actually a cons cell, in order to call set-default, as there are
35867         no longer such bindings.  This makes do_specbind work like the
35868         pre-concurrency implementation in specbind for bindings of
35869         forwarded symbols.  Use specpdl_kind to access the type of the
35870         binding.
35871         (specpdl_kind): New function.
35873 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
35875         Document file-name-quote, file-name-unquote and file-name-quoted-p
35877         * doc/lispref/files.texi (File Name Expansion):
35878         * etc/NEWS: Mention file-name-quote, file-name-unquote and
35879         file-name-quoted-p.
35881         * lisp/files.el (file-name-non-special): Revert using
35882         file-name-quote, file-name-unquote and file-name-quoted-p.
35884 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
35886         Fix bad quoting of python-shell-interpreter
35888         `python-shell-calculate-command' was using `shell-quote-argument' as if
35889         it was generating a shell command, but its callers don't pass the result
35890         to a shell, and they expect to parse it with `split-string-and-unquote'.
35891         This caused problems depending on the flavor of shell quoting in
35892         effect (Bug#25025).
35894         * lisp/progmodes/python.el (python-shell-calculate-command): Use
35895         `combine-and-quote-strings' to quote the interpreter, so that it can be
35896         parsed by `python-shell-make-comint' successfully using
35897         `split-string-and-unquote'.
35899 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
35901         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
35903 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
35905         Make read1 more reentrant
35907         This is needed if ‘read’ is called soon after startup, before the
35908         Unicode tables have been set up, and it reads a \N escape and
35909         needs to look up a value the Unicode tables, a lookup that in turn
35910         calls read1 recursively.  Although this change doesn’t make ‘read’
35911         fully reentrant, it’s good enough to handle this case.
35912         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
35913         (grow_read_buffer): Revamp to use locals, not statics, and to
35914         record memory allocation un the specpdl.  All callers changed.
35915         (read1): Start with a stack-based buffer, and use the heap
35916         only if the stack buffer is too small.  Use unbind_to to
35917         free any heap buffer allocated.  Use bool for boolean.
35918         Redo symbol loop so that only one call to grow_read_buffer
35919         is needed.
35920         (init_obarray): Remove no-longer-needed initialization.
35922 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
35924         Fix compilation warnings
35926         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
35927         compilation warning.
35929 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
35931         Fix unlikely substitute-command-keys memory leak
35933         * src/doc.c (Fsubstitute_command_keys):
35934         Free buffer when unwinding.
35936 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
35938         Add file-name-quoted-p, file-name-quote, file-name-unquote
35940         * lisp/files.el (file-name-quoted-p, file-name-quote)
35941         (file-name-unquote): New defsubst.
35942         (find-file--read-only, find-file-noselect)
35943         (file-name-non-special): Use them.
35945 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
35947         Add a NEWS entry.
35949 2016-12-08  Glenn Morris  <rgm@gnu.org>
35951         Minor fix for symbol-file
35953         * lisp/subr.el (symbol-file): Avoid false matches with "require"
35954         elements in load-history.  (Bug#25109)
35956 2016-12-08  Glenn Morris  <rgm@gnu.org>
35958         Doc fix for vc-git
35960         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
35962 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
35964         Fix Bug#24962
35966         * lisp/buff-menu.el (list-buffers--refresh):
35967         List buffers with name starting with " " if they visit a file.
35968         * test/lisp/buff-menu-tests.el (buff-menu-24962):
35969         Update test result as pass.
35971 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
35973         ediff-fixup-patch-map: Improve prompt
35975         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
35976         Make clear in the prompt when we are applying a multi patch.
35978 2016-12-08  Glenn Morris  <rgm@gnu.org>
35980         Retain message logging in map-y-or-n-p
35982         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
35983         Stop disabling logging to Messages buffer.  (Bug#13326)
35985 2016-12-08  Glenn Morris  <rgm@gnu.org>
35987         Doc fix for recent change
35989         * lisp/simple.el (region-modifiable-p): Doc fix.
35991 2016-12-08  Glenn Morris  <rgm@gnu.org>
35993         Quieten make-dist default operation
35995         * make-dist: Add --verbose option.  Default to quieter operation.
35997 2016-12-08  Glenn Morris  <rgm@gnu.org>
35999         Further improve make-dist checking
36001         * make-dist: Print status messages when checking.
36003 2016-12-08  Glenn Morris  <rgm@gnu.org>
36005         Improve previous make-dist change
36007         * make-dist: Let make check the info files more thoroughly.
36009 2016-12-08  Glenn Morris  <rgm@gnu.org>
36011         Make make-dist --snapshot do some sanity checks
36013         * make-dist: Snapshot mode no longer disables checks.
36014         Checks now includes checks for freshness.  (Bug#25084)
36015         Checks now exits with an error if problems were found.
36017 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36019         Fix regression introduced by commit 7b1e97f
36021         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
36022         of cadr; required after commit 20f5a5b.
36024 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36026         Put post-25 ChangeLog entries into ChangeLog.3
36028         * ChangeLog.2: Copy from emacs-25 branch.
36029         * ChangeLog.3: New file, with changes only in master.
36030         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
36032 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36034         Fix network streams.
36036         The original code messed up flags in fd_callback_data[], and also
36037         didn't call add_process_read_fd for process-related file descriptors.
36039 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36041         Minimize spurious diffs from master.
36043 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36045         Fix the test suite
36047         * test/automated/bindings.el: Contents moved to
36048         test/src/data-tests.el.
36049         * test/automated/threads.el: Moved to test/src/thread-tests.el.
36051 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36053         Fix a typo in bytecode.c.
36055 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
36057         Fix compilation problems.
36059         Fix merged code in process.c and eval.c.
36061 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
36063         Merge branch 'concurrency'
36065         Conflicts (resolved):
36066                 configure.ac
36067                 src/Makefile.in
36068                 src/alloc.c
36069                 src/bytecode.c
36070                 src/emacs.c
36071                 src/eval.c
36072                 src/lisp.h
36073                 src/process.c
36074                 src/regex.c
36075                 src/regex.h
36077 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
36079         Fix the MS-Windows build
36081         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
36083         * src/sysselect.h: Don't define fd_set and FD_* macros for
36084         MS-Windows here.
36085         * src/w32.h: Define them here.
36087         * src/process.h (sys_select): Declare prototype.
36089         * src/sysdep.c:
36090         * src/process.c:
36091         * src/filelock.c:
36092         * src/emacs.c:
36093         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
36094         * nt/inc/socket.h: Include w32.h instead of sysselect.h
36096 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
36098         merge from trunk
36100 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
36102         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
36103         specpdl stack.
36105 2013-10-18  Tom Tromey  <tromey@redhat.com>
36107         change condition-variablep to condition-variable-p
36109 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
36111         Fix crashes when unbind_for_thread_switch signals an error.
36113          src/eval.c (unbind_for_thread_switch): Accept a 'struct
36114          thread_state *' argument and use specpdl_ptr and specpdl of that
36115          thread.  Fixes crashes if find_symbol_value signals an error.
36116          src/thread.c (post_acquire_global_lock): Update current_thread
36117          before calling unbind_for_thread_switch.  Pass the previous thread
36118          to unbind_for_thread_switch.
36120 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
36122         Improve MS-Windows implementation of threads.
36124          src/systhread.c (sys_cond_init): Set the 'initialized' member to
36125          true only if initialization is successful.  Initialize wait_count
36126          and wait_count_lock.
36127          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
36128          'initialized' is false, do nothing.
36129          (sys_cond_wait): Fix the implementation to avoid the "missed
36130          wakeup" bug: count the waiting threads, and reset the broadcast
36131          event once the last thread was released.
36132          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
36133          PulseEvent.  Don't signal the event if no threads are waiting.
36134          (sys_cond_destroy): Only close non-NULL handles.
36135          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
36136          src/systhread.h (w32thread_cond_t): New member 'initialized'.
36137          Rename waiters_count and waiters_count_lock to wait_count and
36138          wait_count_lock, respectively.
36140 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
36142         Enable thread support in the MS-Windows build.
36144          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
36145          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
36146          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
36147          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
36148          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
36149          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
36150          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
36152          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
36153          if pthreads is not available.
36155 2013-08-27  Tom Tromey  <tromey@redhat.com>
36157         use condition-notify in the docs, not condition-signal
36159         zap until-condition docs
36161         zap until-condition
36163         rename thread-blocker to thread--blocker
36165         remove binding_symbol
36167         fix style of threadp, mutexp, and condition-variable-p
36169         make thread_check_current_buffer return bool
36171         add a comment before flush_stack_call_func
36173         fix whitespace_regexp warning
36175 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
36177         Fix MS-Windows build.
36179          src/callproc.c:
36180          src/emacs.c:
36181          src/filelock.c:
36182          src/process.c:
36183          src/sysdep.c:
36184          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
36185          redefinition of fd_set etc.
36186          src/process.c: Don't use num_pending_connects when
36187          NON_BLOCKING_CONNECT is not defined.
36188          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
36189          here from w32.h.
36190          src/w32proc.c (sys_select): Adjust the argument types to what
36191          thread.h expects.
36193          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
36194          of w32.h.
36196 2013-08-26  Tom Tromey  <tromey@redhat.com>
36198         use record_unwind_protect_void, avoid warning
36200         implement --enable-threads and a thread-less mode
36202 2013-08-25  Tom Tromey  <tromey@redhat.com>
36204         merge from trunk
36206 2013-08-20  Tom Tromey  <tromey@redhat.com>
36208         fix up some merge errors in process.c
36210         remove a dead function
36211         clean up a fixme I added in create_pty during the merge
36213 2013-08-20  Tom Tromey  <tromey@redhat.com>
36215         merge from trunk
36217 2013-07-26  Tom Tromey  <tromey@redhat.com>
36219         merge from trunk
36221 2013-07-13  Tom Tromey  <tromey@redhat.com>
36223         Merge from trunk
36225 2013-07-12  Tom Tromey  <tromey@redhat.com>
36227         Use thread_alive_p in a couple more spots
36229 2013-07-07  Tom Tromey  <tromey@redhat.com>
36231         fix xfree bug in run_thread
36233         this fixes run_thread to account for the dummy slot
36234         in specpdl
36236 2013-07-07  Tom Tromey  <tromey@redhat.com>
36238         merge from trunk
36240         this merges frmo trunk and fixes various build issues.
36241         this needed a few ugly tweaks.
36242         this hangs in "make check" now
36244 2013-07-06  Tom Tromey  <tromey@redhat.com>
36246         add assertion to flush_stack_call_func
36248         functions called via flush_stack_call_func are assumed
36249         to return with the global lock held again, and with
36250         current_thread reset.  this assertion verifies part of this
36252 2013-07-06  Tom Tromey  <tromey@redhat.com>
36254         call init_primary_thread from init_threads
36256 2013-07-05  Tom Tromey  <tromey@redhat.com>
36258         avoid SAFE_ALLOCA
36260         avoid SAFE_ALLOCA in xgselect.c.
36261         in this code it is just as easy to always use malloc;
36262         and it avoids thread-switching problems, as the safe-alloca
36263         stuff implicitly refers to the current thread
36265 2013-07-05  Tom Tromey  <tromey@redhat.com>
36267         avoid current_thread sometimes
36269         this tweaks thread.c to use 'self' instead of current_thread
36270         in a couple spots.  this is clearer and more robust
36272 2013-07-05  Tom Tromey  <tromey@redhat.com>
36274         initialize saved_value
36276         initialize the saved_value field in all needed cases
36277         also, add an assertion to do_one_unbind
36279 2013-07-04  Tom Tromey  <tromey@redhat.com>
36281         fix buglet in test case
36283 2013-07-04  Tom Tromey  <tromey@redhat.com>
36285         unlink thread later
36287         unlink thread from global list later
36288         also remove some unnecessary destruction code
36290 2013-07-04  Tom Tromey  <tromey@redhat.com>
36292         introduce thread_alive_p macro
36294         This introduces the thread_alive_p macro and changes
36295         thread-alive-p to use it.  This is a minor cleanup.
36296         It also changes all-threads to ignore dead threads.
36298 2013-07-03  Tom Tromey  <tromey@redhat.com>
36300         Don't call unbind_for_thread_switch in run_thread
36302         This removes the call to unbind_for_thread_switch from run_thread.
36303         This isn't necessary because acquire_global_lock does it properly.
36305 2013-07-03  Tom Tromey  <tromey@redhat.com>
36307         remove unused field from struct thread_state
36309         Fix a comment.
36311 2013-06-13  Tom Tromey  <tromey@redhat.com>
36313         merge from trunk
36315 2013-06-06  Tom Tromey  <tromey@redhat.com>
36317         fix a few latent issues in the thread patch
36319         * we called unbind_for_thread_switch unconditionally, but this
36320           is wrong if the previous thread exited
36321         * likewise, exiting a thread should clear current_thread
36322         * redundant assignment in run_thread
36323         * clean up init_threads - no need to re-init the primary thread
36325         This patch still sometimes causes weird hangs in "make check".
36326         However, I think that is a kernel bug, since Emacs enters the zombie
36327         state but its parent process hangs in wait.  This shouldn't happen.
36329 2013-06-04  Tom Tromey  <tromey@redhat.com>
36331         update eval.c to make it build again after the merge
36333 2013-06-03  Tom Tromey  <tromey@redhat.com>
36335         merge from trunk; clean up some issues
36337 2013-03-18  Tom Tromey  <tromey@redhat.com>
36339         don't let kill-buffer kill a buffer if it is current in any thread
36341 2013-03-18  Tom Tromey  <tromey@redhat.com>
36343         fix process bugs
36345         Fix some process-related bugs, mostly thinkos from the conversion to
36346         recording fd state as flags.
36347         This now passes the test suite without hanging.
36349 2013-03-17  Tom Tromey  <tromey@redhat.com>
36351         merge from trunk
36353 2013-03-08  Tom Tromey  <tromey@redhat.com>
36355         merge from trunk
36357 2013-01-16  Tom Tromey  <tromey@redhat.com>
36359         merge from trunk
36361 2013-01-06  Tom Tromey  <tromey@redhat.com>
36363         merge from trunk
36365 2012-12-23  Tom Tromey  <tromey@redhat.com>
36367         mention let bindings and lack of other ways to rewind
36369 2012-12-17  Tom Tromey  <tromey@redhat.com>
36371         Remove bit accidentally left over from the merge
36373         merge from trunk
36375 2012-09-04  Tom Tromey  <tromey@redhat.com>
36377         merge from trunk
36379         link from thread docs to match data
36381 2012-08-27  Tom Tromey  <tromey@redhat.com>
36383         cannot thread-join the current thread
36385         fix test suite for condition-variable-p name change
36387         add tests for variable bindings
36389 2012-08-25  Tom Tromey  <tromey@redhat.com>
36391         minor update to thread-join docs
36393 2012-08-24  Tom Tromey  <tromey@redhat.com>
36395         minor documentation updates
36397 2012-08-23  Tom Tromey  <tromey@redhat.com>
36399         document until-condition
36401         first draft of threads documentation
36403         rename condition-variablep to condition-variable-p
36405         document process-thread and set-process-thread
36407 2012-08-20  Tom Tromey  <tromey@redhat.com>
36409         pass the thread name to the OS if possible
36411         use prctl to pass the thread name to the OS, if possible
36413 2012-08-20  Tom Tromey  <tromey@redhat.com>
36415         add convenience macros with-mutex and until-condition
36417         with-mutex is a safe way to run some code with a mutex held.
36418         until-condition is a safe way to wait on a condition variable.
36420 2012-08-20  Tom Tromey  <tromey@redhat.com>
36422         Merge from trunk
36424 2012-08-19  Tom Tromey  <tromey@redhat.com>
36426         another docstring fixlet
36428         minor docstring fixup
36430         add condition-mutex and condition-name
36432         ensure name of a thread is a string
36434         ensure name of a mutex is a string
36436         use NILP
36438 2012-08-19  Tom Tromey  <tromey@redhat.com>
36440         condition variables
36442         This implements condition variables for elisp.
36443         This needs more tests.
36445 2012-08-19  Tom Tromey  <tromey@redhat.com>
36447         comment fixes
36449 2012-08-19  Tom Tromey  <tromey@redhat.com>
36451         refactor systhread.h
36453         This refactors systhread.h to move the notion of a "lisp mutex"
36454         into thread.c.  This lets us make make the global lock and
36455         post_acquire_global_lock static.
36457 2012-08-17  Tom Tromey  <tromey@redhat.com>
36459         write docstrings for the thread functions
36461         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
36463 2012-08-15  Tom Tromey  <tromey@redhat.com>
36465         add test case for I/O switching
36467 2012-08-15  Tom Tromey  <tromey@redhat.com>
36469         process changes
36471         This changes wait_reading_process_output to handle threads better.  It
36472         introduces a wrapper for select that releases the global lock, and it
36473         ensures that only a single thread can select a given file descriptor
36474         at a time.
36476         This also adds the thread-locking feature to processes.  By default a
36477         process can only have its output accepted by the thread that created
36478         it.  This can be changed using set-process-thread.  (If the thread
36479         exits, the process is again available for waiting by any thread.)
36481         Note that thread-signal will not currently interrupt a thread blocked
36482         on select.  I'll fix this later.
36484 2012-08-15  Tom Tromey  <tromey@redhat.com>
36486         Prepare process.c for threads by not having global select masks.
36487         The next step is to make it so selects can choose fds by thread.
36489 2012-08-15  Tom Tromey  <tromey@redhat.com>
36491         fix a latent bug in process.c
36493         * src/process.c (wait_reading_process_output): Check Writeok bits,
36494         not write_mask.
36496 2012-08-15  Tom Tromey  <tromey@redhat.com>
36498         This adds thread-blocker, a function to examine what a thread is
36499         blocked on.  I thought this would be another nice debugging addition.
36501         This adds names to mutexes.  This seemed like a nice debugging
36502         extension.
36504         This adds some tests of the threading code.
36506 2012-08-15  Tom Tromey  <tromey@redhat.com>
36508         This supplies the mutex implementation for Emacs Lisp.
36510         A lisp mutex is implemented using a condition variable, so that we can
36511         interrupt a mutex-lock operation by calling thread-signal on the
36512         blocking thread.  I did things this way because pthread_mutex_lock
36513         can't readily be interrupted.
36515 2012-08-15  Tom Tromey  <tromey@redhat.com>
36517         This adds most of the thread features visible to emacs lisp.
36519         I roughly followed the Bordeaux threads API:
36521         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
36523         ... but not identically.  In particular I chose not to implement
36524         interrupt-thread or destroy-thread, but instead a thread-signaling
36525         approach.
36527         I'm still undecided about *default-special-bindings* (which I did not
36528         implement).  I think it would be more emacs-like to capture the let
36529         bindings at make-thread time, but IIRC Stefan didn't like this idea
36530         the first time around.
36532         There are one or two semantics issues pointed out in the patch where I
36533         could use some advice.
36535 2012-08-15  Tom Tromey  <tromey@redhat.com>
36537         This turns thread_state into a pseudovector and updates various bits
36538         of Emacs to cope.
36540 2012-08-15  Tom Tromey  <tromey@redhat.com>
36542         This introduces some new functions to handle the specpdl.  The basic
36543         idea is that when a thread loses the interpreter lock, it will unbind
36544         the bindings it has put in place.  Then when a thread acquires the
36545         lock, it will restore its bindings.
36547         This code reuses an existing empty slot in struct specbinding to store
36548         the current value when the thread is "swapped out".
36550         This approach performs worse than my previously planned approach.
36551         However, it was one I could implement with minimal time and
36552         brainpower.  I hope that perhaps someone else could improve the code
36553         once it is in.
36555 2012-08-15  Tom Tromey  <tromey@redhat.com>
36557         This introduces the low-level system threading support.  It also adds
36558         the global lock.  The low-level support is a bit over-eager, in that
36559         even at the end of the present series, it will not all be used.  I
36560         think thiat is ok since I plan to use it all eventually -- in
36561         particular for the emacs lisp mutex implementation.
36563         I've only implemented the pthreads-based version.  I think it should
36564         be relatively clear how to port this to other systems, though.
36566         I'd also like to do a "no threads" port that will turn most things
36567         into no-ops, and have thread-creation fail.  I was thinking perhaps
36568         I'd make a future (provide 'threads) conditional on threads actually
36569         working.
36571         One other minor enhancement available here is to make it possible to
36572         set the name of the new thread at the OS layer.  That way gdb, e.g.,
36573         could display thread names.
36575 2012-08-15  Tom Tromey  <tromey@redhat.com>
36577         This parameterizes the GC a bit to make it thread-ready.
36579         The basic idea is that whenever a thread "exits lisp" -- that is,
36580         releases the global lock in favor of another thread -- it must save
36581         its stack boundaries in the thread object.  This way the boundaries
36582         are always available for marking.  This is the purpose of
36583         flush_stack_call_func.
36585         I haven't tested this under all the possible GC configurations.
36586         There is a new FIXME in a spot that i didn't convert.
36588         Arguably all_threads should go in the previous patch.
36590 2012-08-15  Tom Tromey  <tromey@redhat.com>
36592         This introduces a thread-state object and moves various C globals
36593         there.  It also introduces #defines for these globals to avoid a
36594         monster patch.
36596         The #defines mean that this patch also has to rename a few fields
36597         whose names clash with the defines.
36599         There is currently just a single "thread"; so this patch does not
36600         impact Emacs behavior in any significant way.
36602 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36604         Merge from origin/emacs-25
36606         eeecac7 Fix minor quoting problems in doc strings
36608 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36610         Merge from origin/emacs-25
36612         35ce3fb Don't assume window-point and point are the same
36614 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36616         Merge from origin/emacs-25
36618         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
36619         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
36620         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
36621         93d8346 Improve indexing of 'man'
36623 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36625         Merge from origin/emacs-25
36627         d31298d Fix documentation of `window-combination-resize'
36628         2086f4c Typo fixes in elisp manual
36630 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36632         Merge from origin/emacs-25
36634         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
36635         5878abf Fix 'expand-file-name' during startup on MS-Windows
36637 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36639         Merge from origin/emacs-25
36641         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
36642         6d27423 Tweak refcard note about documentation location
36643         e46a134 Improve treatment of Fortran's "class is"
36645 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36647         Merge from origin/emacs-25
36649         93c0f51 Handle TeX comments when making new paragraph
36650         e0884f1 Restore keystroke echo in 'C-q'
36651         a6213ce Improve documentation of 'current-word'
36652         0828126 Fix a typo in an Eshell defcustom
36653         2e361c7 Minor copyedits of electric-pair-mode
36654         7499ee8 ; Minor copyedit in the Emacs manual
36655         45b652b Fix documentation of 'invocation-directory'
36656         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
36657         ba48880 ; Fix pl-refcard.tex
36659 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36661         Merge from origin/emacs-25
36663         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
36665 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36667         Merge from origin/emacs-25
36669         3d63b48 Update ChangeLog files and authors.el
36670         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
36671         a725592 Avoid errors in shr-pixel-column due to dedicated windows
36672         3138598 Update format-time-string documentation
36674 2016-12-07  Sam Steingold  <sds@gnu.org>
36676         delete-trailing-whitespace: handle read-only text in buffer
36678         * lisp/simple.el (region-modifiable-p): New function.
36679         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
36681 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36683         Fix minor quoting problems in doc strings
36685 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36687         Fix --enable-gcc-warnings --with-ns on Fedora
36689         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
36690         (ALL_OBJC_CFLAGS): Use it.
36691         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
36692         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
36694 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
36696         Fix problems in quoting Tramp file names
36698         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
36699         (tramp-unquote-shell-quote-argument): New defun.
36700         (tramp-shell-quote-argument):
36701         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
36702         (tramp-make-copy-program-file-name):
36703         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
36704         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
36705         (tramp-smb-shell-quote-argument): Use it.
36707 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36709         ibuffer-map-deletion-lines: Re-included it
36711         It was deleted in previous commit, but it's referenced
36712         by the macro 'define-ibuffer-op'.
36713         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
36715 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36717         ibuffer-unmark-all: simplify code
36719         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
36720         (ibuffer-unmark-all): Simplify code.
36722 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36724         define-ibuffer-filter: Discard wrong filters
36726         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
36727         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
36728         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
36730 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
36732         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
36734         so that it matches the actual implementation.
36735         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
36737 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36739         ibuffer-decompose-filter-group avoid unwanted side effects
36741         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
36742         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
36743         All callers changed (Bug#25058).
36744         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
36746 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36748         ibuffer-unmark-backward: Unmark the region when is active
36750         * lisp/ibuffer.el (ibuffer-unmark-backward):
36751         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
36752         with the region boundary as the first 2 arguments (Bug#24987).
36754 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
36756         Docstring improvement for seq-some (bug#25129)
36758         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
36759           regarding the returned value.
36761 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36763         dired-unmark-backward: Unmark the region when is active
36765         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
36766         a non-nil second argument (Bug#24986).
36768 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36770         New test file for ediff
36772         Fix previous commit.
36773         * test/lisp/vc/ediff-ptch-tests.el: New test.
36775 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36777         ediff-context-diff-label-regexp: Detect the end of second file
36779         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
36780         '\n' in file names (Bug#25010).
36781         * test/lisp/vc/ediff-ptch-tests.el: New file.
36782         (ibuffer-test-bug25010): Add test for Bug#25010.
36784 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36786         ibuffer-decompose-filter: Avoid side effects on error
36788         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
36789         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
36790         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
36791         Update test result as pass.
36793 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36795         ibuffer: compare marks with EQ
36797         * lisp/ibuffer.el:
36798         (ibuffer-update-title-and-summary)
36799         (ibuffer-redisplay-current)
36800         (ibuffer-buffer-name-face, ibuffer-unmark-all)
36801         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
36802         Use 'eq' instead of 'char-equal' when comparing mark characters
36803         (Bug#25000).
36804         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
36805         Update test result as pass.
36807 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
36809         ibuffer-saved-filters: Remove extra nesting level
36811         Fix Bug#25049.
36812         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
36813         nesting level; add transparent setter to adjust old-format values;
36814         update doc string.
36815         (ibuffer-save-filters): Remove extra level of nesting
36816         in ibuffer-saved-filters values when saving new filters.
36817         (ibuffer-old-saved-filters-warning): New variable with
36818         clickable message with repair options to be displayed
36819         as a warning if 'ibuffer-repair-saved-filters' detects
36820         a format mismatch.
36821         (ibuffer-repair-saved-filters): Add new command to check and
36822         repair saved filters format.
36823         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
36824         Change access of saved filter data (cadr->cdr) to account
36825         for reduced nesting.
36826         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
36827         New test; check that filters are saved in the proper format.
36829 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
36831         Clean out some IRIX cruft
36833         * etc/MACHINES: Remove obsolete discussion of IRIX.
36834         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
36835         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
36836         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
36837         * src/unexelf.c [__sgi]: Don't include <syms.h>.
36838         (unexec) [__sgi]: Remove SGI-specific code.
36840 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
36842         Simplify FUNCTIONP implementation
36844         * src/bytecode.c (exec_byte_code):
36845         * src/image.c (parse_image_spec):
36846         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
36847         * src/eval.c (FUNCTIONP): Move here ...
36848         * src/lisp.h: ... from here.  No longer inline, as that
36849         bloats the text and does not help speed (at least on my platform).
36850         (functionp): Remove this name, since callers use FUNCTIONP.
36852 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36854         Don't assume window-point and point are the same
36856         The function `cursor-sensor--detect' calls `bobp' to decide whether to
36857         check properties at (1- (window-point)).  However, (window-point) may be
36858         at beginning of buffer, even if (point) is not.  In this case an
36859         `args-out-of-range' error will be signaled (Bug#25104).
36861         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
36862         value of (window-point) against (point-min), rather than (bobp) to
36863         decide if (1- (window-point)) is accessible.
36865 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36867         Give test-completion's PREDICATE the hashtable key
36869         For hashtable entries with symbol keys, `test-completion' would convert
36870         the key to a string before calling PREDICATE, unlike `try-completion'
36871         and `all-completions'.
36873         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
36875 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36877         Give test-completion's PREDICATE full alist entry
36879         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
36880         calling test-completion with an alist collection, the predicate was
36881         recieving the string value instead of the alist entry (Bug#24966).
36883         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
36884         test STRING against `completion-regexp-list'.
36885         * test/src/minibuf-tests.el: New tests for `try-completion',
36886         `all-completions', and `test-completion'.
36888 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36890         Fix ert-tests when running compiled
36892         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
36893         specific macroexpansion, just check result of evaluation.
36894         (ert-test-record-backtrace): Don't hardcode representation of closure in
36895         expected backtrace, this lets the test succeed even when the test code
36896         is compiled.
36898         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
36899         `byte-compile-macro-environment' to `macroexpand', this allows the
36900         `should' macro to properly handle macroexpansion of macros that were
36901         defined in the same file when it's being compiled (Bug #17851).
36903 2016-12-06  Glenn Morris  <rgm@gnu.org>
36905         Make "g" in vc push/pull buffers re-push/pull
36907         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
36908         * lisp/vc/vc-git.el (vc-git--pushpull):
36909         * lisp/vc/vc-hg.el (vc-hg--pushpull):
36910         Set compile-command so that "g" works.  (Bug#11446)
36912 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
36914         Change two _Noreturn functions to return void
36916         This is a bit clearer than _Noreturn functions that (do not)
36917         return a non-void type.
36918         * src/callproc.c (call_process) [MSDOS]:
36919         Use 'status' local to record status.
36920         (child_setup): Return CHILD_SETUP_TYPE.
36921         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
36922         All callers changed.
36923         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
36925 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36927         Fix GPG bug introduced by Oct file-missing change
36929         Problem with visiting nonexistent .gpg file
36930         reported by Herbert J Skuhra.
36931         * lisp/epa-file.el (epa-file--find-file-not-found-function):
36932         (epa-file-insert-file-contents, epa-file-write-region):
36933         Signal file-missing or file-error instead of epa-error.
36935 2016-12-05  Glenn Morris  <rgm@gnu.org>
36937         Tweak recent flymake change
36939         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
36940         Avoid double message when flymake-log-level >= 0.
36941         * doc/misc/flymake.texi (Customizable variables):
36942         No longer mention flymake-gui-warnings-enabled.
36944 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
36946         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
36948         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
36949         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
36950         `widget-backward' instead (bug#25091).
36952 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
36954         Remove compat code in Tramp
36956         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
36958         * lisp/net/tramp-compat.el (top): Require parse-time.
36960         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
36961         Use `parse-time-months'.
36963 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
36965         Don't try to split side windows in ibuffer (Bug#25115)
36967         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
36968         split a side window (Bug#25115).
36970 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
36972         * src/lisp.h: Update comment to kick -Og down the road.
36974 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
36976         More image-dired refactoring
36978         * lisp/image-dired.el: Remove TODO comment. This appears to have been
36979         implemented in 5d7433a "image-dired: Signal an error before calling a
36980         missing executable".
36981         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
36982         Add :version.
36983         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
36984         when. Remove superfluous call to image-dired-thumb-name. Move single nil
36985         binding and setq into dolist form.
36987 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
36989         Implement quoting the local part of a remote file name
36991         * doc/emacs/files.texi (Quoted File Names):
36992         * etc/NEWS: Mention quoting the local part of a remote file name.
36994         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
36995         `tramp-tramp-file-p'.
36996         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
36997         New defsubst.
36998         (tramp-handle-substitute-in-file-name)
36999         (tramp-handle-make-auto-save-file-name): Handle quoted files.
37000         (tramp-shell-quote-argument): Unquote argument.
37002         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
37003         Handle quoted files.
37005         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
37006         (tramp--test-make-temp-name): New argument QUOTED.
37007         (tramp-test01-file-name-syntax)
37008         (tramp-test02-file-name-dissect)
37009         (tramp-test04-substitute-in-file-name)
37010         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
37011         (tramp-test08-file-local-copy)
37012         (tramp-test09-insert-file-contents)
37013         (tramp-test10-write-region, tramp-test11-copy-file)
37014         (tramp-test12-rename-file, tramp-test13-make-directory)
37015         (tramp-test14-delete-directory, tramp-test15-copy-directory)
37016         (tramp-test16-directory-files)
37017         (tramp-test17-insert-directory)
37018         (tramp-test18-file-attributes)
37019         (tramp-test19-directory-files-and-attributes)
37020         (tramp-test20-file-modes, tramp-test21-file-links)
37021         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
37022         (tramp-test24-file-name-completion, tramp-test25-load)
37023         (tramp-test26-process-file, tramp-test27-start-file-process)
37024         (tramp-test28-shell-command, tramp-test30-vc-registered)
37025         (tramp-test31-make-auto-save-file-name)
37026         (tramp--test-check-files)
37027         (tramp-test35-asynchronous-requests): Test also quoted file names.
37028         (tramp--test-shell-command-to-string-asynchronously): Rename.
37029         (tramp-test29-environment-variables): Use it.
37031 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
37033         Fix typo in dired-omit-case-fold-p
37035         * lisp/dired-x.el (dired-omit-case-fold-p):
37036         Write 'file-name-case-insensitive-p' instead of
37037         'file-name-case-sensitive-p'.
37038         Add declaration of 'file-name-case-insensitive-p'.
37040 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
37042         Add HTML5 attributes for the input element
37044         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
37045         for the input element.
37047 2016-12-03  Glenn Morris  <rgm@gnu.org>
37049         Obsolete sc-load-hook in favor of eval-after-load
37051         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
37052         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
37053         No longer mention sc-load-hook.
37055 2016-12-03  Glenn Morris  <rgm@gnu.org>
37057         Obsolete calendar-load-hook in favor of eval-after-load
37059         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
37060         (calendar): Doc fix - no longer mention calendar-load-hook.
37061         * doc/emacs/cal-xtra.texi (Calendar Customizing):
37062         No longer mention calendar-load-hook.
37063         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
37064         Replace calendar-load-hook in example with with-eval-after-load.
37066 2016-12-03  Glenn Morris  <rgm@gnu.org>
37068         Fix markup in read-multiple-choice doc (Bug#25102)
37070         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
37072 2016-12-03  Glenn Morris  <rgm@gnu.org>
37074         Stop flymake using dialog boxes for errors (Bug#16622)
37076         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
37077         Mark as obsolete.
37078         (flymake-display-warning): Turn into an obsolete alias.
37079         (flymake-report-fatal-status): Just use message for a warning that
37080         was formerly displayed by default.
37082 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37084         Clean up keymap and menu code in image-dired
37086         A function to populate these maps is not necessary, just define the maps
37087         once and for all.
37088         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
37089         clearer and in the spirit of dired's.
37090         (image-dired-define-display-image-mode-keymap):
37091         (image-dired-define-thumbnail-mode-keymap): Remove.
37092         (image-dired-thumbnail-mode-map):
37093         (image-dired-thumbnail-mode-line-up-map):
37094         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
37095         menu code from the aforementioned removed functions.  Reorder so that
37096         the definitions are inherited properly.
37097         (image-dired-display-current-image-sized): Fix erroneous message.
37098         (image-dired-thumbnail-mode):
37099         (image-dired-display-image-mode): Remove defunct call.
37101 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
37103         Mention `file-name-case-insensitive-p' as magic file name
37105         * doc/lispref/files.texi (Magic File Names):
37106         Mention `file-name-case-insensitive-p'.
37108         * doc/lispref/variables.texi (Connection Local Variables):
37109         Fix typo.
37111 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37113         Clean up uses of cl-foo in image-dired
37115         Both instances here are just emulating cl-find-if.
37116         * lisp/image-dired.el: Use cl-lib at compile time.
37117         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
37118         Replace the cl-foo instances with equivalent cl-loops.
37120 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
37122         Avoid compilation warnings in nt/*.c files
37124         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
37125         (console_event_handler): Add prototypes.
37126         (canon_filename, skip_space, skip_nonspace, get_next_token)
37127         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
37128         (spawn, get_env_size): Now static.
37129         * nt/ddeclient.c (DdeCallback): Provide prototype.
37130         * nt/addpm.c (DdeCallback): Provide prototype.
37131         (add_registry): Now static.
37133 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37135         Display window before calculating width
37137         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
37138         before calling image-dired-line-up and friends, which in turn calculate
37139         the window width. Otherwise, the thumbnail layout will be wrong in
37140         a side-by-side split.
37142 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37144         Use pop-to-buffer-same-window
37146         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
37147         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
37148         use pop-to-buffer-same-window cf. Bug#22244.
37149         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
37151 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37153         Document watchpoints
37155         * doc/lispref/debugging.texi (Variable Debugging):
37156         * doc/lispref/variables.texi (Watching Variables): New section.
37157         * etc/NEWS: Add entry for watchpoints
37159 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37161         Add tests for watchpoints
37163         * test/src/data-tests.el (data-tests-variable-watchers):
37164         (data-tests-local-variable-watchers): New tests.
37166 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37168         Ensure redisplay using variable watcher
37170         This replaces looking up the variable name in redisplay--variables when
37171         setting it.
37173         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
37174         calls.
37175         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
37176         set the redisplay flag unconditionally.
37177         (Vredisplay__variables): Remove it.
37178         * src/data.c (set_internal): Remove maybe_set_redisplay call.
37180 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37182         Add function to trigger debugger on variable write
37184         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
37185         (debug--variable-list):
37186         (cancel-debug-on-variable-change): New functions.
37187         (debugger-setup-buffer): Add watchpoint clause.
37189 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37191         Show watchpoints when describing variables
37193         * src/data.c (Fget_variable_watchers): New function.
37194         * lisp/help-fns.el (describe-variable): Use it to detect watching
37195         functions.
37197 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37199         Add lisp watchpoints
37201         This allows calling a function whenever a symbol-value is changed.
37203         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
37204         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
37205         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
37206         (enum symbol_trapped_write): New enumeration.
37207         (struct Lisp_Symbol): Rename field constant to trapped_write.
37208         (make_symbol_constant): New function.
37210         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
37211         (set_symbol_trapped_write, restore_symbol_trapped_write):
37212         (harmonize_variable_watchers, notify_variable_watchers): New functions.
37214         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
37215         symbols.
37216         (set_internal): Change bool argument BIND to 3-value enum and call
37217         `notify_variable_watchers' for trapped symbols.
37219         * src/data.c (syms_of_data):
37220         * src/data.c (syms_of_data):
37221         * src/font.c (syms_of_font):
37222         * src/lread.c (intern_sym, init_obarray):
37223         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
37225         * src/alloc.c (init_symbol):
37226         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
37227         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
37228         (Fmake_variable_frame_local):
37229         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
37230         trapped_write instead of constant.
37231         (Ffuncall): Move subr calling code into separate function.
37232         (funcall_subr): New function.
37234 2016-12-02  Glenn Morris  <rgm@gnu.org>
37236         Starting doc of user options with "*" is long obsolete
37238         * lisp/battery.el (battery-upower-device): Doc fix.
37240 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37242         Fix bug#25087
37244         * etc/themes/manoj-dark-theme.el: Fix two typos.
37246         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
37248 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37250         Fix docstrings to have a complete sentence in first line
37252         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
37253         docstrings.
37255 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37257         Remove obsolete comments and commented code from dired-x.el
37259         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
37260         1997 answer about whether dired-mark-sexp is used.
37261         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
37262         commented out since before dired-x.el was added to RCS in 1994.
37264 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37266         Remove pre-customize dired-x.el documentation
37268         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
37269         use dired-x from .emacs.  It is now fully customizable.
37270         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
37271         how to set this custom variable in .emacs.  It should be customized.
37273 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37275         Allow files to be matched case-sensitively in dired-x
37277         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
37278         controls case folding for matching the regex (Bug#18716).
37279         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
37280         systems, `nil' otherwise.
37281         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
37282         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
37284 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37286         Add support for curly quotation marks to electric-pair-mode
37288         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
37289         entries for left/right single/double quotation marks, from
37290         electric-quote-chars. Note that this is safe for single quotation marks,
37291         unlike with the ASCII apostrophe, since, although the right quotation
37292         mark can be used as an apostrophe, it is the left quotation mark that is
37293         typed to get a pair (Bug#24901).
37295 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37297         Fix bug#25087
37299         * etc/themes/manoj-dark-theme.el: Fix two typos.
37301 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
37303         Handle quoted file names in Tramp
37305         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
37306         case the file name is quoted.  This is not trapped by the
37307         reassigned `tramp-file-name-regexp' anymore.
37309 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37311         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
37313 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37315         Support for rawrgb images using imagemagick
37317         * src/image.c (imagemagick_load_image): Set wand size before loading
37318         blob when ':width' and ':height' are provided.
37320         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
37322 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
37324         Fix 'sql-connect' on first invocation
37326         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
37327         param-var.  (Bug#19452)
37329 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37331         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
37333 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37335         Improve indexing of 'man'
37337         * doc/emacs/programs.texi (Man Page): Index 'man', not
37338         'manual-entry', as the latter is an alias for the former.
37339         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
37341 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37343         Port to Sun C 5.14
37345         Backport from master.  Sun C 5.14 supports C11 but not GCC
37346         extensions, and so refuses to compile Emacs without this patch.
37347         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
37348         size_t, as in general this macro is restricted to signed types.
37350 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37352         Fix type typo on Solaris
37354         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
37355         Fix type mismatch, caught by --enable-check-lisp-object-type.
37357 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37359         Merge from gnulib
37361         This incorporates:
37362         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
37363         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
37364         * build-aux/snippet/c++defs.h:
37365         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
37366         Copy from gnulib.
37368 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37370         Make struct font_drivers read-only
37372         This simplifies the code a bit, and makes the structs more
37373         shareable and less likely to become corrupt.
37374         * src/alloc.c (cleanup_vector):
37375         * src/font.c (valid_font_driver, font_prepare_cache)
37376         (font_finish_cache, font_get_cache, font_clear_cache)
37377         (register_font_driver, font_update_drivers):
37378         * src/font.h (struct font, struct font_driver_list)
37379         (valid_font_driver):
37380         struct font_drivers are now const.
37381         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
37382         Omit no-longer-necessary decls.
37383         * src/ftcrfont.c (syms_of_ftcrfont):
37384         * src/ftxfont.c (syms_of_ftxfont):
37385         * src/xftfont.c (syms_of_xftfont):
37386         Omit no-longer-necessary initialization code.
37387         * src/ftcrfont.c (ftcrfont_driver):
37388         * src/ftfont.c (ftfont_driver):
37389         * src/ftxfont.c (ftxfont_driver):
37390         * src/macfont.m (macfont_driver):
37391         * src/nsfont.m (nsfont_driver):
37392         * src/xfont.c (xfont_driver):
37393         * src/xftfont.c (xftfont_driver):
37394         Use C99-style initializer for ease of maintenance, and make it const.
37395         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
37396         Refer to functions like ftfont_text_extents directly.
37397         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
37398         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
37399         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
37400         (ftfont_variation_glyphs, ftfont_filter_properties)
37401         (ftfont_combining_capability):
37402         * src/xfont.c (xfont_get_cache):
37403         Now extern, so that other modules’ struct font_drivers can use
37404         them directly.
37405         * src/macfont.m (macfont_descriptor_entity):
37406         * src/nsfont.m (nsfont_open):
37407         Use constant directly; this is clearer.
37409 2016-12-01  Richard Stallman  <rms@gnu.org>
37411         Fix mail-combine-fields
37413         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
37414         avoid losing our place in the search loop.
37416         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
37418 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
37420         Forth related improvements for etags
37422         Generate correct tags names for things like "(foo)".
37423         Previously "(foo" created.
37425         Fix a bug where a tag for "-bar" was created when encountering things
37426         like "create-bar".
37428         Recognize more words from the Forth-2012 Standard.
37430         * lib-src/etags.c (Forth_words): Check for whitespace after defining
37431         words.  Create tag with make_tag instead of get_tag to avoid notiname
37432         which isn't appropriate for Forth.
37434         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
37435         * test/manual/etags/ETAGS.good_1:
37436         * test/manual/etags/ETAGS.good_2:
37437         * test/manual/etags/ETAGS.good_3:
37438         * test/manual/etags/ETAGS.good_4:
37439         * test/manual/etags/ETAGS.good_5:
37440         * test/manual/etags/ETAGS.good_6:
37441         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
37442         new test cases.
37444 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
37446         Fix bugs with buffer-local tags tables
37448         * lisp/progmodes/etags.el (visit-tags-table): After
37449         'visit-tags-table-buffer' returns, retrieve the value of
37450         'tags-file-name' from the buffer we started in.  Force
37451         recomputation of 'tags-completion-table' next time it is used,
37452         since the list of tags table has changed.
37453         (visit-tags-table-buffer): Accept an additional optional argument
37454         CBUF, the buffer in which to start processing, and switch to that
37455         buffer if CBUF is non-nil.  All callers changed to supply a
37456         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
37457         Doc fix.
37458         (tags-completion-table): Accept an optional argument, the buffer
37459         for which to build 'tags-completion-table', and build that
37460         buffer's completion table.
37461         (tags-lazy-completion-table): Pass the current buffer to
37462         'tags-completion-table'.
37463         (tags-file-name): Don't say in the doc string that setting this
37464         variable directly is enough; say that 'visit-tags-table' should be
37465         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
37467         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
37468         advice to set 'tags-file-name' directly.
37470         * test/lisp/progmodes/etags-tests.el: New tests.
37472 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
37474         Fix documentation of `window-combination-resize'
37476         * src/window.c (Vwindow_combination_resize): Fix doc-string.
37477         * doc/lispref/windows.texi (Recombining Windows): Fix
37478         documentation of `window-combination-resize'.
37480 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37482         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
37484         All uses replaced by LISPSYM_INITIALLY.
37486 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37488         Make Cairo safer for --enable-gcc-warnings
37490         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
37491         Avoid overflow warnings about ‘0xff << 24’.
37492         (xpm_load, gif_load): Avoid unnecessary casts.
37493         (gif_load): Fewer ifdefs.
37495 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37497         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
37499         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
37500         !NILP.
37502 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
37504         Fix previous commit
37506         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
37507         of hunk before calling `diff-hunk-style'.
37509 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
37511         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
37513 2016-11-29  Glenn Morris  <rgm@gnu.org>
37515         Use archive-mode for .cbr files
37517         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
37519 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37521         Pacify Sun C 5.14
37523         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
37524         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
37525         into this enum rather than into an anonymous enum.  This avoids
37526         diagnostics from Sun C 5.14 and is a bit clearer anyway.
37528 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37530         Adjust lwlib to recent config.h change
37532         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
37534 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37536         * src/eval.c (clobbered_eassert): Check E's syntax.
37538 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
37540         Improve user retrieval from auth-source in Tramp
37542         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
37543         Use user for auth-source request only in case it exists.
37545 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
37547         shr.el: Don't render a normal table twice
37549         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
37550         Don't render a table if it is called for the first time,
37551         IOW, recognize it to never be invalid (bug#25051).
37553 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
37555         Typo fixes in elisp manual
37557         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
37558         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
37559         definitions of 'string-prefix-p' and 'string-suffix-p'.
37560         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
37562 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
37564         Improve diff-mode navigation/manipulation
37566         This is Bug #17544.
37568         Navigation and use of diff buffers had several annoying corner cases
37569         that this patch fixes.  These corner cases were largely due to
37570         inconsistent treatment of file headers.  Say you have a diff such as
37571         this:
37573          --- aaa
37574          +++ bbb
37575          @@ -52,7 +52,7 @@
37576          hunk1
37577          @@ -74,7 +74,7 @@
37578          hunk2
37579          --- ccc
37580          +++ ddd
37581          @@ -608,6 +608,6 @@
37582          hunk3
37583          @@ -654,7 +654,7 @@
37584          hunk4
37586         The file headers here are the '---' and '+++' lines.  With the point on
37587         such a line, hunk operations would sometimes refer to the next hunk and
37588         sometimes to the previous hunk.  Most of the time it would be the
37589         previous hunk, which is not what the user would expect.  This patch
37590         consistently treats such headers as the next hunk.  So with this patch,
37591         if the point is on the '--- ccc' line, the point is seen as referring to
37592         hunk3.
37594         Specific behaviors this fixes are:
37596         1. It should be possible to place the point in the middle of a diff
37597         buffer, and press M-k repeatedly to kill hunks in the order they appear
37598         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
37599         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
37600         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
37601         This is fixed by this patch.
37603         2. Similarly, it should be possible to apply hunks in order.  Previously
37604         with the point at the start, C-c C-a would apply the hunk1, then move
37605         the point to the first @@ header, and thus C-c C-a would try to apply
37606         the same hunk again.
37608         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
37609         navigation logic to diff-{hunk,file}-{next,prev}.
37610         (diff-hunk-next, diff-hunk-prev):
37611         (diff-file-next, diff-file-prev): Better navigation logic if
37612         skip-hunk-start is true, which happens when called interactively.
37613         (diff-bounds-of-hunk, diff-find-source-location):
37614         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
37615         improve hunk navigation.
37617 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
37619         Upcase Path and ComSpec in process-environment
37621         Since 2016-07-18 "Keep w32 environment settings internal only", the
37622         upcasing of environment variables "Path" and "ComSpec" occurred after
37623         initializing process-environment.  This meant that Lisp code trying to
37624         override "PATH" environment had no effect (Bug #24956).
37626         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
37627         in Vprocess_environment.
37629 2016-11-28  Philipp Stephani  <phst@google.com>
37631         Guard terminal parameter in XTerm mouse mode
37633         It has been observed (in the HTerm terminal emulator) that the
37634         event stored in the 'xterm-mouse-last-down' terminal parameter gets
37635         overwritten during a mouse drag operation, causing Emacs to attempt to
37636         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
37637         the terminal parameter to protect against such modifications.
37639         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
37640         of input event list.
37642 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
37644         Fix template for module functions
37646         Reported by Syohei YOSHIDA (Bug#24932).
37647         * modules/modhelp.py (TEMPLATES):
37648         c_func’s 2nd arg is ptrdiff_t, not int.
37650 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
37652         Pacify gcc -Wswitch.
37654         * src/keyboard.c (kbd_buffer_store_buffered_event):
37655         Move initialization into default case.
37657 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37659         Reuse already existing lisp symbols for ignore_event (bug#19547).
37661         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
37662         * src/keyboard.c (kbd_buffer_store_buffered_event):
37663         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
37664         and make-frame-visible for DEICONIFY_EVENT.
37665         (syms_of_keyboard): Remove unneeded symbols.
37667 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37669         Allow configuring which event throw-on-input should ignore (bug#19547).
37671         * src/keyboard.c (kbd_buffer_store_buffered_event):
37672         Translate event to corresponding symbol from `while-no-input-ignore-events`
37673         and check them with Fmemq.
37674         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
37675         and its symbols.
37677         * lisp/subr.el (while-no-input-ignore-events): Add default values.
37679         * doc/lispref/commands.texi (Event Input Misc):
37680         Document while-no-input-ignore-events.
37681         * etc/NEWS: Same.
37683 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
37685         ash, lsh avoid code duplication
37687         See discussion in:
37688         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
37689         * src/data.c (ash_lsh_impl): New function.
37690         (ash, lsh): Use it.
37692 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
37694         Add will change module to CSS property list
37696         * lisp/textmodes/css-mode.el (css-property-alist)
37697         (css-value-class-alist): Add new property and value class from CSS
37698         Will Change Module.
37700 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
37702         Don't access pointers to freed storage in regex.c
37704         Remove __BOUNDED_POINTERS__ code, which does not work with
37705         -fcheck-pointer-bound and which has undefined behavior anyway.
37706         Problem found when trying to port to gcc -fcheck-pointer-bounds.
37707         (This code was removed from glibc and gnulib regex.c many years ago.)
37708         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
37709         (EXTEND_BUFFER): Use a more-portable approach that avoids
37710         undefined behavior due to inspecting pointers to freed storage.
37712 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
37714         Port build to gcc -fcheck-pointer-bounds
37716         This does not let Emacs run, just build.
37717         * lib-src/etags.c (main):
37718         * lib-src/profile.c (main):
37719         Use return, not exit.
37720         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
37721         Do not define, as -fcheck-pointer-bounds is incompatible with taking
37722         addresses of labels.
37723         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
37724         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
37726 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
37728         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
37730 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
37732         * lisp/rot13.el: Use lexical-binding
37734 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
37736         Add "using" to cl-loop debug spec (Bug#24750)
37738         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
37739         "using" hash table clause.
37741 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
37743         Allow user control of progress messages in cpp.el
37745         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
37746         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
37747         the doc string.
37748         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
37749         'message' to print messages.  (Bug#24861)
37751 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
37753         New input method 'polish-prefix'
37755         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
37756         method.  (Bug#24967)
37758         * etc/NEWS: Mention the new input method.
37760 2016-11-25  Damien Cassou  <damien@cassou.me>
37762         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
37764 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
37766         Add missing 'provide's in preloaded packages
37768         * lisp/composite.el:
37769         * lisp/replace.el:
37770         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
37772 2016-11-24  Alan Mackenzie  <acm@muc.de>
37774         Handle correctly an (undocumented) bare mode in hack-local-variables.
37776         lisp/files.el (hack-local-variables-prop-line): When a file's first line
37777         contains only a mode specification without the string "mode:", return the mode
37778         symbol only when `handle-mode' is t.
37780 2016-11-23  Dima Kogan  <dima@secretsauce.net>
37782         Clarify ediff-directories prompt
37784         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
37785         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
37786         ediff-directories3, ediff-merge-directories,
37787         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
37788         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
37789         filename filter in interactive ediff. The new message makes it clear what is
37790         being filtered
37792 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
37794         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
37796 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
37798         Fix Bug#24199.
37800         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
37801           bracket in doc string (make checkdoc happy).
37802           (icalendar-import-buffer),
37803           (icalendar-import-buffer),
37804           (icalendar--convert-ical-to-diary),
37805           (icalendar--add-diary-entry): Rename argument diary-file to
37806           diary-filename (make checkdoc happy).
37807           (icalendar--convert-recurring-to-diary): Take care of byday-clause
37808           in monthly recurring events.  Actually fix Bug#24199.
37810         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
37812 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
37814         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
37816 2016-11-22  Philipp Stephani  <phst@google.com>
37818         Comint: new user option for C-c M-r and C-c M-s
37820         This option allows the user to specify where to place point after these
37821         commands.
37823         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
37824         (comint-previous-matching-input-from-input): Use user option.
37826 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
37828         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
37830         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
37831         `eshell-first-time-mode-hook'.
37833 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
37835         Dump also connection local variables in Tramp bug reports
37837         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
37838         Dump also connection local variables.
37840 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37842         Make sure elided long buffer names have ellipses added (Bug#24972)
37844         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
37845         string concat, and chop "strvar" less the width of the ellipsis.
37846         (ibuffer-compile-make-substring-form): Add space as padding, to fix
37847         off-by-one in alignment.
37849 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
37851         Buffer-menu-no-header: Detect a fake header
37853         * lisp/buff-menu.el (Buffer-menu-no-header): Use
37854         'tabulated-list-header-overlay-p' (Bug#24855).
37856 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
37858         buff-menu: Add command to unmark all buffers
37860         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
37861         to unmark all buffers (Bug#24880).
37862         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
37863         New predicate; return non-nil if tabulated-list has a fake header.
37864         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
37865         New command; remove all flags that use a particular mark from all the lines.
37866         Bind it to 'M-DEL'.
37867         (Buffer-menu-unmark-all):
37868         New command; remove all flags from all the lines.  Bind it to 'U'.
37869         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
37870         (Buffer-menu-delete, Buffer-menu-mark): Use them.
37871         (Buffer-menu-mode-map): Update menus.
37872         (Buffer-menu-mode): Update mode doc.
37873         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
37874         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
37875         (bs-mode): Update mode doc.
37876         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
37877         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
37878         to 'M-DEL'.
37879         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
37880         Use point instead of cursor in doc string.
37881         (electric-buffer-list): Update mode doc.
37882         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
37883         and Buffer-menu-unmark-all-buffers.
37885 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37887         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
37889         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
37891 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37893         Port htmlfontify to cl-lib
37895         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
37896         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
37897         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
37898         instances of cl aliases with their cl-lib counterparts.
37900 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37902         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
37904 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
37906         Fix another CANNOT_DUMP problem
37908         Reported by Robert Pluim in:
37909         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
37910         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
37911         * src/lisp.h: ... to here.
37913 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37915         Add further consideration to string-width (Bug#24972)
37917         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
37918         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
37920 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
37922         Don't collect strings existing out of <tr>...</tr>
37924         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
37925         Don't collect strings existing out of <tr>...</tr> to avoid
37926         duplication with what `shr-tag-table' renders.
37928 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
37930         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
37931         the last commit.
37933 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
37935         Add a variable to pass additional options to rcvstore
37937         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
37938         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
37939         the arguments that are passed to rcvstore.
37941         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
37942         and followups, i.e., ding mailing list.
37944 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37946         Fix undefined refs on some GNU/Linux hosts
37948         Problem reported by Ken Raeburn in:
37949         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
37950         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
37951         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
37952         removes unwanted references to my_endbss and my_endbss_static,
37953         which are not optimized away on some platforms.
37955 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37957         Make CANNOT_DUMP work better on GNU/Linux
37959         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
37960         lets the build succeed again, and fixes the testing framework so
37961         that most test cases now pass.  About twenty test cases still
37962         fail, though, and we still have Bug#24974.
37963         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
37964         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
37965         be any point to messing with a private memory allocator unless
37966         Emacs is dumping.
37967         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
37968         * src/image.c (reset_image_types):
37969         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
37970         Do not define if CANNOT_DUMP.
37971         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
37972         (daemon_pipe) [!WINDOWSNT]: Now static.
37973         * test/Makefile.in (mostlyclean): Remove *.tmp files.
37974         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
37976 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37978         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
37980 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37982         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
37984         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
37985         Do not define.  If defining, do it in a smaller scope.
37987 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
37989         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
37991 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
37993         Fix redrawing non-selected frame after resize on MS-Windows
37995         * src/xdisp.c (redisplay_internal): If all the frames were
37996         successfully updated, reset the "garbaged" flag of each frame, to
37997         make sure it doesn't stay set.
37999         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
38000         "garbaged", since expose_frame won't redraw the foreground then.
38001         (Bug#24642)
38003 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
38005         Add file-local-name
38007         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
38008         (Unique File Names): Use it.
38010         * etc/NEWS: Mention `file-local-name'.
38012         * lisp/files.el (file-local-name): New defun.
38013         (file-expand-wildcards):
38014         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
38015         * lisp/eshell/esh-ext.el (eshell-remote-command):
38016         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
38017         * lisp/org/ob-core.el (org-babel-local-file-name):
38018         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
38019         * lisp/progmodes/python.el (python-shell-send-file):
38020         * lisp/shell.el (shell):
38021         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
38022         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
38024 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
38026         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
38028 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
38030         * src/editfns.c (format-time-string): Mention %q in doc string.
38032 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38034         Document format-time-string %q
38036         * doc/lispref/os.texi (Time Parsing):
38037         * etc/NEWS: Document new %q functionality taken from gnulib.
38039 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38041         Merge from gnulib
38043         This incorporates:
38044         2016-11-15 sys_time: add gnulib::timeval for C++
38045         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
38046         2016-11-13 strftime: don't use __THROW
38047         2016-11-12 strftime: tune %q
38048         2016-11-12 Merge strftime.c changes from glibc
38049         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
38050         2016-11-05 strftime,strptime: support %q to represent the quarter
38052         The glibc changes in turn incorporate the following strftime.c changes:
38053         2015-10-20 Convert misc function definitions to prototype style
38054         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
38055         2010-01-09 Add support for XPG7 testing
38056         2009-10-30 Implement Burmese language locale for Myanmar
38057         2008-06-13 [BZ #6612] pass reference to tzset_called around
38058         2007-10-16 [BZ #5184] Add tzset_called argument
38060         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
38061         * m4/manywarnings.m4: Copy from gnulib.
38063 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38065         Merge from origin/emacs-25
38067         07f45d7 ; Spelling fix
38068         1a210f0 * admin/release-process: Update versions and blocking bug num...
38069         36bafc9 Improve documentation of functions that accept time values
38071         # Conflicts:
38072         #       admin/release-process
38073         #       src/editfns.c
38075 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38077         Merge from origin/emacs-25
38079         4af5981 Add a comment in generated refcards about the source
38080         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
38081         4887e7c js-mode: Fix indent problem after a regexp
38082         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
38083         1fc101b Don't confuse how Texinfo outputs @var with the input
38084         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
38085         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
38086         5b0cddd More fixes in copyright notices in etc/refcards/
38087         f994c20 Update copyright text in refcards
38088         9ad2ae7 Fix Outline command names
38089         26c3554 Send text received by bracketed paste to process
38090         db0b58d Correct the statement about programming modes always running ...
38091         78aece4 Improve documentation of 'occur'
38092         eb364fd Do call debugger on failed cl-assert
38093         3ef4ee8 Avoid infloop in python
38094         8da810f Don't refer to obsolete FEATURE-unload-hook
38095         4f478ca Improve documentation of dabbrevs
38096         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
38097         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
38098         3b199f7 Improve documentation of some Help commands
38099         93d3a0e Fix documentation of yes-or-no prompts
38100         af04919 Fix documentation of partial completion style
38101         ed80184 Fix documentation of the mode line on emacsclient frames
38102         e6be855 Fix description of 'C-z' in User manual
38103         16f7007 Improve and clarify documentation of Outline Mode
38104         31d93aa Add Emacs version number to nt/README.W32
38105         0b6b815 Fix python-mode hideshow regexp
38106         dc152c5 Modernize usage of 'macOS' in doc and comments
38107         84c5343 Prefer comments /* like this */ in C code
38108         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
38109         3ef86fd Clarify documentation of face attribute functions
38110         de51d59 ; * nt/README.W32: Minor copyedits.
38111         db436e9 Don't call debug on failed cl-assert
38113         # Conflicts:
38114         #       doc/emacs/cmdargs.texi
38115         #       etc/NEWS
38116         #       etc/PROBLEMS
38117         #       lisp/auth-source.el
38118         #       lisp/net/tramp-sh.el
38120 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
38122         Port RefTeX to cl-lib
38124         * lisp/textmodes/reftex-auc.el:
38125         * lisp/textmodes/reftex-cite.el: Use cl-lib.
38126         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
38127         macros.
38128         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
38129         (reftex-view-regexp-match): Substitute cl-lib macro.
38130         * lisp/textmodes/reftex-global.el: Use cl-lib.
38131         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
38132         (reftex-translate): Substitute cl-lib macros.
38133         * lisp/textmodes/reftex-index.el: Use cl-lib.
38134         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
38135         (reftex-index-next-phrase, reftex-index-phrases-info):
38136         (reftex-query-index-phrase): Substitute cl-lib macros.
38137         * lisp/textmodes/reftex-parse.el: Use cl-lib.
38138         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
38139         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
38140         Substitute cl-lib macros.
38141         * lisp/textmodes/reftex-ref.el: Use cl-lib.
38142         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
38143         macros.
38144         * lisp/textmodes/reftex-sel.el: Use cl-lib.
38145         (reftex-select-shared-map): Set keymap parent to special-mode-map.
38146         Flatten loop and remove digits and hyphen definitions from the map.
38147         (reftex-select-label-mode-map):
38148         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
38149         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
38150         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
38151         cl-pushnew.
38152         * lisp/textmodes/reftex.el: Use cl-lib.
38153         (reftex-docstruct-symbol): Use cl-incf.
38154         (reftex-ref-style-toggle): Replace add-to-list with append.
38155         (reftex-compile-variables): Use cl-lib macros, and functions with
38156         compiler macros. cl-first is just an alias.
38157         (reftex-parse-args, reftex-scanning-info-available-p):
38158         (reftex-select-external-document, reftex-get-file-buffer-force): Use
38159         cl-lib macros.
38160         (reftex-isearch-minor-mode): Replace add-to-list with append.
38162 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
38164         ibuffer-exchange-filters: Simplify code
38166         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
38168 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
38170         Implement getrlimit and setrlimit for MS-Windows
38172         * src/w32heap.c (getrlimit, setrlimit): New functions.
38173         Include w32.h.
38174         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
38175         should be compatible with 'struct rlimit' members.
38177         * nt/inc/sys/resource.h: New header file.
38179         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
38180         Set to "yes".
38182 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38184         Move key mappings into reftex-mode-map defvar
38186         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
38187         key mappings.
38188         (reftex-reset-mode): Just use dolist.
38190 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38192         Derive reftex-index-mode from special-mode
38194         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
38195         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
38196         from special-mode now.
38197         (reftex-index-mode): Derive from special-mode.
38198         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
38200 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38202         Clean up reftex-toc-mode-map
38204         * lisp/textmodes/reftex-toc.el: Remove cl.
38205         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
38206         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
38208 2016-11-18  Philipp Stephani  <phst@google.com>
38210         Prevent dubious argument lists
38212         See Bug#24912 and Bug#24913.
38214         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
38215         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
38216         more dubious argument lists.
38217         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
38218         test.
38220 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
38222         Add test suite for buff-menu.el
38224         * test/lisp/buff-menu-tests.el: New file.
38225         (buff-menu-24962): Add test for Bug#24962.
38227 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
38229         Add cyrillic-tuvan input method
38231         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
38232         method.  (Bug#24942)
38234         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
38236 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
38238         Extend 'indent-relative' when its arg is non-nil
38240         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
38241         (indent-relative-first-indent-point): Renamed from
38242         'indent-relative-maybe'.
38243         (indent-relative): Now accepts an additional optional argument.
38244         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
38245         the additional arg.  (Bug#24766)
38247 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
38249         Add example for bug#24854
38251         * test/manual/indent/js.js: Add example for bug#24854.
38253 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38255         Port registry.el the rest of the way to cl-lib
38257         This file already is using cl-lib functions at runtime; eieio ultimately
38258         loads cl-lib, which explains why doing so wasn't an issue.
38259         * lisp/registry.el: Require cl-lib.
38260         (registry-db, registry--match, registry-search, registry-delete):
38261         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
38262         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
38264 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38266         Fix arglist in python.el (Bug#24762)
38268         * lisp/progmodes/python.el: Remove unneeded second args.
38269         (python-define-auxiliary-skeleton): DOC arg should be &optional.
38271 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
38273         Add tests for rot13.el
38275         * lisp/rot13.el (rot13): Docstring correction.
38277         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
38279 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
38281         Fix Bug#24947 (Tramp + ido)
38283         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
38285         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
38286         Run remote tests only if a connection is established only.  (Bug#24947)
38288 2016-11-16  Ken Brown  <kbrown@cornell.edu>
38290         Unbreak the build on Darwin (Bug#24957)
38292         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
38293         mistakes in recent commit.
38295 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
38297         Do not use map.el in seq-tests.el
38299         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
38300         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
38301         Emacs 24.5.
38303 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
38305         Update parameter :version to 26.1 in several defcustom
38307         Following defcustom where added or modified for 25.2 release.
38308         In fact all these changes belong to 26.1 release.
38309         * lisp/battery.el (battery-linux-sysfs-regexp)
38310         * lisp/comint.el (comint-password-prompt-regexp)
38311         * lisp/dired.el (dired-always-read-filesystem)
38312         * lisp/image.el (image-scaling-factor)
38313         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
38314         (ibuffer-never-search-content-mode)
38315         * lisp/mouse.el (mouse-select-region-move-to-beginning)
38316         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
38317         (netstat-program, route-program, route-program-options)
38318         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
38319         * lisp/progmodes/grep.el (grep-save-buffers)
38320         * lisp/vc/add-log.el (change-log-directory-files)
38321         * lisp/url/url-vars.el (url-user-agent)
38322         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
38323         (vc-hg-use-file-version-for-mode-line-version)
38324         (vc-hg-parse-hg-data-structures)
38325         * lisp/wdired.el (wdired-create-parent-directories)
38326         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
38327         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
38328         (gnus-button-url-regexp)
38329         * lisp/window.el (switch-to-buffer-preserve-window-point)
38330         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
38331         (ibuffer-locked-buffer)
38332         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
38333         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
38334         * lisp/gnus/message.el (message-user-fqdn)
38335         * lisp/simple.el (shell-command-dont-erase-buffer)
38336         (extended-command-suggest-shorter)
38337         * lisp/net/shr.el (shr-use-fonts)
38338         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
38340 2016-11-15  Glenn Morris  <rgm@gnu.org>
38342         Add --new-daemon, which runs in the foreground and does not fork
38344         This is intended for modern init systems such as systemd,
38345         which manage many of the traditional aspects of daemon behavior
38346         themselves.  (Bug#2677)
38347         * src/emacs.c (daemon_type): New integer.
38348         (usage, standard_args): Add --old-daemon and --new-daemon.
38349         (main): Handle --old-daemon and --new-daemon arguments.
38350         Restrict all the forking and complicated daemon stuff to old-daemon.
38351         (Fdaemon_initialized): Handle new-style daemon.
38352         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
38353         Replace daemon_pipe with daemon_type.
38354         * doc/emacs/cmdargs.texi (Initial Options):
38355         * doc/emacs/glossary.texi (Glossary):
38356         * doc/emacs/misc.texi (Emacs Server):
38357         * doc/lispref/display.texi (Window Systems):
38358         * doc/lispref/os.texi (Startup Summary): Related doc updates.
38359         * etc/NEWS: Mention this.
38360         * etc/emacs.service: Use Type=simple and --new-daemon.
38362 2016-11-15  Glenn Morris  <rgm@gnu.org>
38364         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
38365         * doc/man/emacs.1.in: Likewise.
38367 2016-11-15  Ken Brown  <kbrown@cornell.edu>
38369         Simplify case-insensitivity checks on Mac OS X
38371         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
38372         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
38373         Leave in two alternatives conditionally compiled based on
38374         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
38376         * etc/PROBLEMS: Mention the possible problem with pathconf on
38377         Mac OS X.
38379 2016-11-15  Glenn Morris  <rgm@gnu.org>
38381         * src/emacs.c (sort_args): Warn about multiple matches.
38383 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
38385         Implement file name handler for `file-name-case-insensitive-p'
38387         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
38388         is also applicable for remote hosts.
38390         * lisp/net/tramp.el (tramp-methods): Improve docstring.
38391         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
38392         (tramp-handle-file-name-case-insensitive-p): New defun.
38394         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
38395         Add `tramp-case-insensitive' entry.
38397         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
38398         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
38399         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
38400         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
38401         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
38403 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
38405         Nix more uses of default-FOO variables (Bug#24946)
38407         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
38408         Check for header-line-format instead.
38409         * lisp/emulation/viper.el (viper-load-custom-file): Reference
38410         major-mode instead.
38411         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
38412         fill-column instead.
38414 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
38416         Complete the name of PostgreSQL databases
38418         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
38419         name.
38420         (sql-postgres-list-databases): New function returning a list of
38421         available PostgreSQL databases.
38423         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
38425 2016-11-14  Sam Steingold  <sds@gnu.org>
38427         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
38429         When `vc-git-print-log-follow' is true and all files are
38430         non-directory, pass "--follow" to "git log".
38431         This works around bug#8756 and bug#16422.
38433 2016-11-14  Sam Steingold  <sds@gnu.org>
38435         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
38437         vc-git-print-log: pass "--follow" to "log" to handle renamed files
38439 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
38441         Revert "Improve case-insensitive checks (Bug#24441)"
38443         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
38444         I see no reason for removing code, documentation, and comments
38445         in the original commit.
38447 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
38449         Update verilog-mode.el
38451         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
38452         (verilog-calc-1): Fix "default clocking" indentation and
38453         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
38454         (verilog-diff-report): Fix `verilog-diff-report'
38455         not returning bad status on differences, bug1087.  Reported by
38456         Eric Jackowski.
38457         (verilog-auto-inst-param-value)
38458         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
38459         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
38460         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
38461         (verilog-read-sub-decls-type): When
38462         `verilog-auto-inst-param-value-type' is set, which is now the
38463         default, AUTOINPUT etc will now substitute parameter types from
38464         submodules, bug1061.  Reported by Brad Dobbie.
38465         (verilog-auto-reset, verilog-backward-case-item)
38466         (verilog-extended-case-re, verilog-read-always-signals-recurse):
38467         Fix indentation of randcase, bug1072. Reported by David Rogoff.
38468         (verilog-read-sub-decls-expr)
38469         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
38470         in generated comments, bug1057. Reported by Kaushal Modi.
38471         (verilog-auto-wire-comment, verilog-insert-definition):
38472         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
38473         Eric Jackowski.
38474         (verilog-extended-complete-re): Fix indentation
38475         of class static functions, bug1053. Reported by Gregory
38476         Czajkowski.
38477         (verilog-module-filenames): Support tramp for
38478         finding verilog modules. Reported by Nevada Sanchez.
38480 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
38482         Improve case-insensitive checks (Bug#24441)
38484         * doc/lispref/files.texi (Truenames): Simplify documentation,
38485         to avoid giving too much platform-specific information that
38486         may not be accurate anyway.
38487         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
38488         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
38489         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
38490         back on an alternative rather than returning false.  Try skipping
38491         the Darwin code, as it (1) no longer seems to be needed and (2)
38492         does not seem to match the Apple documentation.  Leave in two
38493         alternatives conditionally compiled based on
38494         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
38496 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
38498         Fix documentation changes of connection-local variables
38500         * etc/NEWS: Fix last change.
38501         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
38502         * doc/lispref/elisp.texi (Top): Update the master menu.
38504 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
38506         Implement connection-local variables
38508         * doc/lispref/variables.texi (Connection Local Variables): New section.
38510         * etc/NEWS: Mention connection-local variables.
38512         * lisp/files-x.el (enable-connection-local-variables)
38513         (connection-local-variables-alist, connection-local-class-alist)
38514         (connection-local-criteria-alist): New defvars.
38515         (connection-local-get-classes)
38516         (connection-local-get-class-variables): New defsubst.
38517         (connection-local-set-classes)
38518         (connection-local-set-class-variables)
38519         (hack-connection-local-variables)
38520         (hack-connection-local-variables-apply): New defuns.
38521         (with-connection-local-classes): New defmacro.
38523         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
38525         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
38526         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
38527         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
38528         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
38530         * test/lisp/files-x-tests.el: New file.
38532 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
38534         tabulated-list: extend truncation into next align-right column
38536         See discussion on:
38537         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
38538         * lisp/emacs-lisp/tabulated-list.el
38539         (tabulated-list--near-rows): New variable.
38540         (tabulated-list-print, tabulated-list-set-col): Use it.
38541         (tabulated-list--col-local-max-widths): New defsubst.
38542         (tabulated-list-print-col): Use it.  If the next column is
38543         align-right, and has some space left then don't truncate to width,
38544         use some of the available space from the next column.
38546 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38548         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
38550         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
38551         (shr-collect-extra-strings-in-table): Render images as well.
38553 2016-11-13  Ken Brown  <kbrown@cornell.edu>
38555         Use the new 'file-name-case-insensitive-p' function
38557         * lisp/international/mule.el (auto-coding-alist-lookup):
38558         * lisp/files.el (file-truename):
38559         (abbreviate-file-name, set-auto-mode, file-relative-name):
38560         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
38561         'file-name-case-insensitive-p' instead of 'system-type' to test
38562         case-insensitivity.
38564 2016-11-13  Glenn Morris  <rgm@gnu.org>
38566         Include a systemd user unit file.  (Bug#16507)
38568         * etc/emacs.service: New file.
38569         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
38570         * Makefile.in (libdir): New, set by configure.
38571         (systemdunitdir): New variable.
38572         (install-etc, uninstall): Handle the emacs.service file.
38574 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
38576         Port --enable-gcc-warnings to Ubuntu 16.10
38578         * src/gmalloc.c: Include <stdlib.h>, so it declares
38579         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
38580         so that GCC doesn't complain that hybrid_aligned_alloc is
38581         defined without being declared.
38583 2016-11-13  Ken Brown  <kbrown@cornell.edu>
38585         Silence tramp warning
38587         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
38588         'file-name-case-insensitive-p' as a known file primitive.
38589         (Bug#24936)
38591 2016-11-12  Ken Brown  <kbrown@cornell.edu>
38593         Check case-sensitivity when renaming files
38595         * src/fileio.c (file_name_case_insensitive_p)
38596         (Ffile_name_case_insensitive_p):  New functions.
38597         (Frename_file): Allow renames that simply change case when the
38598         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
38600         * lisp/dired-aux.el (dired-do-create-files): Use
38601         'file-name-case-insensitive-p' instead of 'system-type' to check
38602         for case-insensitivity.  (Bug#24441)
38604         * doc/lispref/files.texi (Truenames): Document
38605         'file-name-case-insensitive-p'.
38607 2016-11-12  Ken Brown  <kbrown@cornell.edu>
38609         Unbreak the build on Cygwin
38611         * configure.ac (system_malloc) [CYGWIN]: Unset.
38613 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
38615         Update chart.el
38617         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
38618         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
38619         fixed number of newlines, use window-height.
38620         (chart-bar):
38621         (chart-trim): Use dolist.
38622         (chart-file-count): The previous implementation was buggy and missed
38623         extensions.  Use file-name-extension instead to detect file extensions.
38624         Also use dolist and cl-incf to reduce verbosity.
38626 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
38628         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
38629         (shr-collect-extra-strings-in-table):
38630         Render extra tables in an invalid html as well.
38632 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
38634         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
38636 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
38638         Resurrect 'memory-limit' on MS-Windows
38640         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
38641         'memory-limit' will produce a trivial and useless result on Windows.
38643 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
38645         Update quickurl.el
38647         * lisp/net/quickurl.el (quickurl-format-function):
38648         (quickurl-sort-function): Use named function.
38649         (quickurl-list-mode-map): Remove lines that are extraneous now that the
38650         parent mode is special-mode.
38651         (quickurl-format-url, quickurl-sort-urls): New functions.
38652         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
38653         be used.
38654         (quickurl-list-mode): Derive from special-mode.  Nix setting
38655         buffer-read-only: special-mode does that.
38656         (quickurl-list-populate-buffer): Use dolist instead.
38657         (quickurl-list-quit): Use quit-window.  It looks like this was written
38658         before the quit-window rewrite.  quit-window is very useful now.
38660 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
38662         Refine multi-hop specs in Tramp
38664         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
38666         * test/lisp/net/tramp-tests.el
38667         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
38668         method.  "/h:" is allowed on non MS Windows.
38670 2016-11-08  Daniel Colascione  <dancol@dancol.org>
38672         Avoid infloop in python
38674         Fix bug#24905
38676         * lisp/progmodes/python.el (python-info-docstring-p): Improve
38677         infloop avoidance: replace (bobp) with generic test for
38678         forward progress.
38679         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
38680         test for bug#24905
38682 2016-11-08  Daniel Colascione  <dancol@dancol.org>
38684         Make gnus/message.el work correctly under lexical binding
38686         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
38687         `_' to shut up the byte compiler.
38688         (sha1-maximum-internal-length, smtpmail-smtp-server)
38689         (smtpmail-smtp-service): add missing defvars
38691 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
38693         Fix Bug#24889
38695         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
38696         defvar.  Fix docstring.
38697         (tramp-completion-file-name-handler-alist): Fix docstring.
38698         (tramp-register-file-name-handlers): Reassign
38699         `tramp-file-name-regexp' to the car of
38700         `tramp-file-name-structure'.  (Bug#24889)
38702 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38704         Port to FreeBSD 11 AMD
38706         Problem reported by Ashish Shukla (Bug#24892).  I tested
38707         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
38708         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
38709         (sbrk): Check whether it exists.
38710         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
38711         Do not define, since this function is now used only on GNU/Linux,
38712         and sbrk might not exist on other platforms.
38713         (malloc_initialize_hook) [!GNU_LINUX]:
38714         Do not call my_heap_start, since its side effect will never be used.
38715         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
38716         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
38717         sbrk exists.
38719 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38721         Port emacsclient to FreeBSD 11 etc.
38723         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
38724         platforms like FreeBSD 11 that use code involving strlen etc., and
38725         because <config.h> no longer includes string.h.
38727 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
38729         Prescribe history for read-regexp in query-replace
38731         In the fix for bug#24580, the history argument for read-regexp was
38732         removed erroneously; read-regexp's history argument defaults to
38733         regexp-history, not minibuffer-history.
38734         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
38735         minibuffer-history.  Fixes bug#24873.
38737 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
38739         Remove obsolete default-FOO variables
38741         * etc/NEWS: Indicate the removed variables.
38742         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
38743         * lisp/subr.el (default-mode-line-format, default-header-line-format):
38744         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
38745         (default-truncate-lines, default-left-margin, default-tab-width):
38746         (default-case-fold-search, default-left-margin-width):
38747         (default-right-margin-width, default-left-fringe-width):
38748         (default-right-fringe-width, default-fringes-outside-margins):
38749         (default-scroll-bar-width, default-vertical-scroll-bar):
38750         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
38751         (default-fringe-indicator-alist, default-fringe-cursor-alist):
38752         (default-scroll-up-aggressively, default-scroll-down-aggressively):
38753         (default-fill-column, default-cursor-type):
38754         (default-cursor-in-non-selected-windows):
38755         (default-buffer-file-coding-system, default-major-mode):
38756         (default-enable-multibyte-characters): Remove obsolete declarations.
38757         * src/buffer.c (default-mode-line-format, default-header-line-format):
38758         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
38759         (default-truncate-lines, default-left-margin, default-tab-width):
38760         (default-case-fold-search, default-left-margin-width):
38761         (default-right-margin-width, default-left-fringe-width):
38762         (default-right-fringe-width, default-fringes-outside-margins):
38763         (default-scroll-bar-width, default-vertical-scroll-bar):
38764         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
38765         (default-fringe-indicator-alist, default-fringe-cursor-alist):
38766         (default-scroll-up-aggressively, default-scroll-down-aggressively):
38767         (default-fill-column, default-cursor-type):
38768         (default-cursor-in-non-selected-windows):
38769         (default-buffer-file-coding-system, default-major-mode):
38770         (default-enable-multibyte-characters): Remove.
38771         * src/fileio.c (choose_write_coding_system): Fix comment.
38772         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
38774 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
38776         Improve the tutorial
38778         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
38779         * etc/tutorials/TUTORIAL.he: Follow suit.
38781 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38783         Restore file descriptor limit in subprocesses
38785         Problem reported by Philipp Stephani (Bug#24869).
38786         * src/callproc.c (child_setup) [!DOS_NT]:
38787         Call restore_nofile_limit in the child.
38788         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
38789         (restore_nofile_limit): New function.
38790         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
38792 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
38794         Remove some subr.el functions obsoleted in 22.1
38796         * etc/NEWS: Document removed functions.  Also mention the "face"
38797         variables that have been removed recently.
38798         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
38799         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
38801 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
38803         Prefer comments /* like this */ in C code
38805 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
38807         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
38809 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
38811         Support zstd compressed files
38813         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
38814         zstd compression info: <http://facebook.github.io/zstd/>.
38815         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
38816         compressed tar archives.  (Bug#24853)
38818 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
38820         Enlarge DUMPED_HEAP_SIZE
38822         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
38823         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
38825 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38827         Update from gnulib
38829         This incorporates:
38830         2016-11-03 intprops: port to older XL C
38831         * lib/intprops.h: Copy from gnulib.
38833 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38835         Merge from origin/emacs-25
38837         acae275 ; Spelling fixes
38838         d8fac73 Update README for precompiled windows Emacs.
38839         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
38840         f708cb2 Clarify doc string of 'transpose-sexps'
38841         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
38842         bdc89eb Improve documentation of 'font-lock-remove-keywords'
38843         4a0c590 Fix documentation of the command summary key
38844         0221b7a Mark relocation workarounds with REL_ALLOC
38846 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38848         Merge from origin/emacs-25
38850         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
38851         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
38852         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
38853         9c247d2 Update category-table for Chinese characters
38854         43986d1 Inhibit buffer relocation during regex searches
38855         fee4cef Revert fixes to allocation of regex matching
38857 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
38859         Fix references to long obsoleted functions/aliases
38861         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
38862         * doc/misc/cl.texi (Conditionals):
38863         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
38864         not string-to-int.
38865         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
38866         default-major-mode.
38867         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
38868         here is not a function call, but shorten the binding names anyways.
38869         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
38870         Bug#22244.
38871         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
38872         read-input.
38874 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
38876         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
38878 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
38880         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
38881         that gathers extra strings in an invalid html.  (bug#24831)
38882         (shr-tag-table): Use it.
38884 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
38886         Add 'x-ctrl-keysym' support on X window system
38888         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
38889         Support 'x-ctrl-keysym'.
38890         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
38891         property on it.
38892         <x-ctrl-keysym>: New DEFVAR_LISP.
38893         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
38894         fix.  (Bug#24822)
38896         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
38898         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
38900 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
38902         Improve autoload error reporting
38904         * src/eval.c (Fautoload_do_load): Include the absolute file name
38905         in the error message.
38907 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38909         Stop force parameter of whitespace-report-region having global effect
38911         * lisp/whitespace.el (whitespace-report-region): Force parameter
38912         previously changed whitespace-style globally.  Fix this, and use
38913         whitespace-active-style, to take account of any changes the user may
38914         have made.  Simplify the documentation: the force parameter simply
38915         forces all classes of whitespace problem to be considered.
38916         (Bug#24745)
38918 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38920         Document use of `tab-width'
38922         * lisp/whitespace.el: When talking about `8 or more spaces', mention
38923         `tab-width' instead of 8.  (Bug#24745)
38925 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38927         Make whitespace-report-region respect current settings
38929         * lisp/whitespace.el (whitespace-report-region): Make it respect
38930         whitespace-style, including any additions made by the force parameter.
38931         This means that the function does not return t unless a whitespace
38932         problem that the user cares about is reported.  (Bug#24745)
38934 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38936         Fix whitespace-space-after-tab-regexp
38938         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
38939         (whitespace-regexp): Match all the spaces after tabs for highlighting,
38940         not just the first tab-width.  Fix whitespace-space-after-tab::space
38941         version so that it requires at least tab-width spaces, not just 1.
38942         (Bug#24745)
38944 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38946         Remove duplicate documentation
38948         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
38949           section which duplicate and in some places contradict (due to being
38950           out of date) the docstrings (Bug#24745).
38952 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38954         Fix bob/eob checks
38956         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
38957         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
38958         work at beginning & end of buffer in whitespace-report-region, and only
38959         there (i.e. they will never match in regions that don't include the
38960         start or end of the buffer).  (Bug#24745)
38962 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
38964         (thing-at-point 'list) return nil if no list at point
38966         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
38967         Check first if we are at the beginning of a top-level sexp (Bug#24627).
38968         If point is inside a comment or string, look for a list out of the
38969         comment/string.
38970         Escape '[' in doc string.
38971         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
38972         expected test result as pass.
38974 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38976         Remove antlr face aliases obsoleted in 22.1
38978         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
38979         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
38980         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
38981         (antlr-tokenref-face, antlr-literal-face):
38982         (antlr-literal-face): Remove.
38983         (antlr-font-lock-additional-keywords): Use face symbols instead.
38985 2016-11-02  Daniel Colascione  <dancol@dancol.org>
38987         Revert "Disable bracketed paste in a terminal in char mode"
38989         This change causes regressions, and besides, disabling BPM frame-wide
38990         for the sake of one buffer is the wrong solution.
38992         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
38994 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38996         Revert change to eww-suggest-uris
38998         The introduced append is ugly and can yield '(nil); doing delq on it
38999         would be hacks on hacks.
39000         * lisp/net/eww.el: Require cl-lib at run time.
39001         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
39002         (eww): Remove erroneous append.
39003         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
39004         equal to eww-current-url, which is nil anyways if we are not in an EWW
39005         buffer.
39007 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39009         Add eww-open-in-new-buffer to EWW
39011         * doc/misc/eww.texi (Basic): Document new command and key.
39012         * etc/NEWS: Mention new key and its purpose.
39013         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
39014         (eww): Append (eww-current-url) to the prompt defaults.
39015         (eww-open-in-new-buffer): New command.
39016         (eww-mode-map): Bind it and add a menu item.
39018 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
39020         Migrate auth-source to cl-lib
39022         * lisp/auth-source.el: Use cl-lib.
39023         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
39024         (auth-source-search): Replace cl calls with cl-lib ones.
39025         (auth-source-netrc-cache):
39026         (auth-source-forget+): Use cl-do-symbols instead.
39027         (auth-source-specmatchp, auth-source-netrc-parse):
39028         (auth-source-netrc-search, auth-source-netrc-create):
39029         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
39030         (auth-source-secrets-search, auth-source-secrets-create):
39031         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
39032         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
39033         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
39035 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
39037         Don't segfault on timed-out TLS connections
39039         * src/process.c (finish_after_tls_connection): Check that the
39040         file descriptor is still alive before proceeding (bug#24811).
39041         Also clean up the code slightly.
39043 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
39045         Support 'TARGETS' in clipboard selections on MS-Windows
39047         * src/w32select.c (Fw32_selection_targets): New function.
39049         * lisp/term/w32-win.el (w32--get-selection): Call
39050         'w32-selection-targets' to obtain the list of data formats
39051         available in the clipboard.
39053 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
39055         Fix documentation for 'eudc-options-file'
39057         * doc/misc/eudc.texi (The Server Hotlist): Update the default
39058         value of 'eudc-options-file'.
39060 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
39062         Fix documentation of 'eudc-inline-expansion-format'
39064         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
39065         'eudc-inline-expansion-format'. (Bug#24840)
39067 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39069         Turn on lexical-binding in some more libs
39071         * lisp/calendar/icalendar.el:
39072         * lisp/emacs-lisp/regexp-opt.el:
39073         * lisp/emacs-lisp/timer.el:
39074         * lisp/gnus/message.el:
39075         * lisp/hex-util.el: Turn on lexical-binding.
39077 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39079         Turn on lexical-binding in some net libs
39081         * lisp/net/dbus.el: Turn on lexical-binding.
39082         (dbus-list-hash-table, dbus-list-known-names):
39083         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
39084         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
39085         (dbus-introspect-get-property-names):
39086         (dbus-introspect-get-argument-names, dbus-get-all-properties):
39087         (dbus-property-handler, dbus-get-all-managed-objects):
39088         (dbus-managed-object-handler): Replace add-to-list with push. Add
39089         nreverse in some places where the APPEND argument of add-to-list was
39090         used.
39091         * lisp/net/network-stream.el: Turn on lexical-binding.
39092         * lisp/net/newsticker.el: Turn on lexical-binding.
39093         * lisp/net/shr.el: Turn on lexical-binding.
39094         (shr-make-placeholder-image): Remove unused variable binding.
39095         (shr-inspect-table): Replace ignored bindings with underscore.
39097 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39099         Turn on lexical-binding in some url libs
39101         * lisp/url/url-auth.el:
39102         * lisp/url/url-expand.el:
39103         * lisp/url/url-future.el:
39104         * lisp/url/url-parse.el:
39105         * lisp/url/url-util.el: Turn on lexical-binding.
39107 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
39109         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
39111         (Bug#24733)
39113 2016-10-30  Alan Mackenzie  <acm@muc.de>
39115         Handle chars of syntax word which are also flagged as comment delimiters
39117         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
39118         as the start/end of two char comment delimiters, recognize a comment delimiter
39119         in preference to a portion of a word.  This fixes bug #24767.
39121 2016-10-29  Daniel Colascione  <dancol@dancol.org>
39123         Speed up initialization by preferring /dev/urandom to GnuTLS
39125         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
39127 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
39129         Quote file names in dired compression commands
39131         * lisp/dired-aux.el (dired-do-compress-to): Change the string
39132         used as shell command for compression by quoting the filenames
39133         used for input and output (Bug #24620).
39135 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39137         Avoid errors in posn-at-point for large images
39139         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
39140         returns a 6-member list for a partially visible glyph, pass the
39141         sum of Y and RTOP to posn-at-x-y, since that's where the visible
39142         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
39143         (Bug#23809)
39145 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39147         Unbreak MS-Windows build
39149         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
39150         name is "wignore".
39151         (x_set_cursor_gc, x_set_mouse_face_gc)
39152         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
39153         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
39154         use s->window, which doesn't exist anymore.
39156         * src/w32term.h (XCreateGC): Adjust prototype.
39158 2016-10-28  Daniel Colascione  <dancol@dancol.org>
39160         Add double-buffering support to reduce flicker
39162         * src/dispextern.h (struct glyph_string): Remove window member
39163         (block_buffer_flips, unblock_buffer_flips)
39164         (buffer_flipping_blocked_p): Declare.
39166         * src/xterm.h (struct x_display_info): New member supports_xdbe.
39167         (struct x_output): New members draw_desc and need_buffer_flip.
39168         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
39169         (FRAME_X_DOUBLE_BUFFERED_P)
39170         (FRAME_X_NEED_BUFFER_FLIP): New macros.
39171         (set_up_x_back_buffer, tear_down_x_back_buffer)
39172         (initial_set_up_x_back_buffer): Declare.
39174         * src/xterm.c: Include Xdbe.h.
39175         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
39176         (x_draw_vertical_window_border, x_update_end)
39177         (x_setup_relief_color, x_draw_relief_rect)
39178         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
39179         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
39180         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39181         variables appropriately; substitute calls to XClearArea with
39182         x_clear_area, which DTRT for double buffering.
39183         (x_clear_window, x_clear_area): In double-buffering mode, use
39184         rect-drawing X functions instead of XClearWindow and
39185         XClearArea, which always operate on the front buffer.
39186         (show_back_buffer): New function.
39187         (XTframe_up_to_date): Call show_back_buffer when done.
39188         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
39189         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
39190         now independent X windows.
39191         (handle_one_xevent): Call font_drop_xrender_surfaces when
39192         XftDraw might need regenerating; perform buffer flip when
39193         responding to Expose events; issue front-buffer clearing
39194         commands as stopgap while we wait for redisplay.
39195         Call flush_dirty_back_buffers.
39196         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
39197         earlier in function.
39198         (x_free_frame_resources): Call tear_down_x_back_buffer when
39199         destroying frame.
39200         (x_term_init): Attempt to initialize double buffer extension.
39201         (x_flip_and_flush): New function.
39202         (x_redisplay_interface): Point to x_flip_and_flush instead of
39203         x_flip directly.
39204         (flush_dirty_back_buffers): New function.
39205         (x_create_terminal): Register buffer_flipping_unblocked_hook.
39207         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
39208         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39209         (xftfont_draw): Call x_mark_frame_dirty.
39210         (xftfont_drop_xrender_surfaces): New function.
39211         (syms_of_xftfont): Register it.
39213         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
39214         FRAME_X_WINDOW.
39216         * src/xfns.c: Include Xdbe.h.
39217         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
39218         (Fx_double_buffered_p): New functions.
39219         (x_window): Call initial_set_up_x_back_buffer.
39220         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39221         (Fx_create_frame): Configure `inhibit-double-buffering'
39222         frame parameter.
39223         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
39224         (x_frame_parm_handlers): Register
39225         x_set_inhibit_double_buffering.
39226         (syms_of_xfns): Register Sx_double_buffered_p.
39227         (x_mark_frame_dirty): Define.
39229         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
39230         FRAME_X_WINDOW.
39232         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
39233         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39234         (redisplay_internal): Restart redisplay if a frame is garbaged
39235         during updating; explain why. Block buffer flips
39236         during redisplay.
39237         (redisplay_preserve_echo_area): Block buffer flip during call
39238         to redisplay_internal.
39239         (buffer_flip_blocked_depth): New variable.
39240         (block_buffer_flips, unblock_buffer_flips)
39241         (buffer_flipping_blocked_p): New functions.
39242         (init_glyph_string): Stop setting window member of struct
39243         glyph_string.
39245         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
39246         x_set_inhibit_double_buffering.
39248         * src/termhooks.h (struct terminal): Add
39249         buffer_flipping_unblocked_hook.
39251         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
39252         x_set_inhibit_double_buffering.
39254         * src/image.c (x_create_bitmap_from_data)
39255         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
39256         (Create_Pixmap_From_Bitmap_Data)
39257         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
39258         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39259         variables appropriately.
39261         * src/gtkutil.c: Include Xdbe.h.
39262         (xg_get_widget_from_map): Forward declare.
39263         (xg_clear_under_internal_border): Remove obsolete calls to
39264         refresh scroll bars.
39265         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
39266         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
39267         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
39268         same reason.
39269         (xg_set_background_color): Set scroll bar background colors.
39270         (xg_finish_scroll_bar_creation): New function with common
39271         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
39272         scroll bars to be real X11 windows.
39273         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
39274         xg_finish_scroll_bar_creation.
39275         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
39276         Remove obsolete calls to refresh scroll bars; fix comments.
39278         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
39279         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
39280         FRAME_X_WINDOW.
39282         * src/frame.c (frame_parms): Add table entry for new
39283         `inhibit-double-buffering' frame parameter
39284         (syms_of_frame): Register Qinhibit_double_buffering.
39286         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
39287         (font_drop_xrender_surfaces): Declare.
39289         * src/font.c (font_drop_xrender_surfaces): New function.
39291         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
39293         * etc/NEWS: Mention use of double buffering
39295         * doc/lispref/frames.texi (Management Parameters): Document
39296         `inhibit-double-buffering' frame parameters.
39297         (Visibility of Frames): Document `x-double-buffered-p'.
39299         * configure.ac: Check for the X double buffer extension
39301 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
39303         Improve result of `auth-source-search' in Tramp
39305         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
39306         :user in result of `auth-source-search'.
39308 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
39310         Fix avl-tree alias docstrings
39312         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
39313         (avl-tree-stack-p, avl-tree-create):
39314         (avl-tree-compare-function): Add calling convention to docstrings.
39316 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39318         Update from gnulib
39320         This incorporates:
39321         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
39322         2016-10-13 stdint: port SIZE_MAX to glibc s390
39323         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
39324         * lib/gnulib.mk: Regenerate.
39325         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
39326         * m4/utimes.m4: Copy from gnulib.
39328 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39330         electric-quote-chars fixups
39332         * lisp/electric.el (electric-quote-chars): Check types and safety
39333         more carefully.
39334         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
39335         Omit no-longer-necessary runtime error diagnostic.
39337 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
39339         New user variable 'electric-quote-chars'
39341         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
39342         * lisp/electric.el (electric-quote-chars): New defcustom.
39343         (electric-quote-post-self-insert-function): Use it.
39345 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
39347         Add more tests for Bug#24627
39349         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
39350         Add tests for 'list-at-point'.
39352 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
39354         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
39356         * lisp/shell.el (shell--unquote&requote-argument): Fix
39357         off-by-one thinko.  Don't use match data after a failed string-match.
39359 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39361         * src/xwidget.c (webkit_js_to_lisp): Now static.
39363 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39365         xwidget: Map "previous-line" and "next-line" to scroll
39367         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
39368         procedures.
39370 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39372         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
39374         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
39375         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
39376         respectively.
39377         (xwidget-webkit-scroll-top,
39378         xwidget-webkit-scroll-bottom): New procedures.
39380 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39382         Implement zoom for WebKit widget.
39384         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
39385         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
39386         (xwidget-webkit-zoom): Declare procedure.
39387         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
39389 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39391         Dynamically resize WebKit widget.
39393         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
39394         xwidget-webkit-adjust-size-in-frame): New procedures.
39395         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
39396         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
39397         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
39398         add widget and window as arguments.
39399         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
39401 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39403         Let initial WebKit view fill window
39405         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
39406         WebKit widget to window size.
39408 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39410         xwidget: Remove title hack.
39412         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
39413         * lisp/xwidget.el (xwidget-webkit-get-title,
39414         xwidget-webkit-execute-script-rv): Remove procedures.
39416 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39418         xwidget: Get URL asynchronously.
39420         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
39422 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39424         xwidget: Get selection with asynchronous JavaScript
39426         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
39427         process selection.
39428         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
39430 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39432         xwidget: Add function to find element by CSS selector
39434         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
39436 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39438         xwidget: Simplify functions to scroll to elements
39440         * lisp/xwidget.el (xwidget-webkit-show-named-element,
39441         xwidget-webkit-show-id-element,
39442         xwidget-webkit-show-id-or-named-element): Simplify functions by
39443         scrolling exclusively with JavaScript.
39445 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39447         xwidget: Get title via asynchronous JavaScript.
39449         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
39450         asynchronously.
39452 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39454         xwidget: Do not use `xwidget-execute-script-rv' to insert string
39456         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
39457         return value via callback instead of using
39458         `xwidget-webkit-execute-script-rv'.
39460 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39462         Remove scrolled window container around WebKit widget
39464         The WebKit widget can scroll on its own and does not need to wrapped
39465         with a scrolled window container.
39467         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
39468         * src/xwidget.c: Remove widgetscrolledwindow_osr.
39469         (xwidget-set-adjustment): Remove.
39470         (xwidget-resize): Resize Webkit widget last.
39471         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
39472         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
39473         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
39474         Implement scrolling via JavaScript.
39476 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39478         xwidget: Pass JavaScript return value to optional callback procedure
39480         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
39481         callback argument.
39482         (xwidget-webkit-callback): Handle "javascript-callback" event type.
39483         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
39484         argument FUN, a Lisp procedure to execute on the JavaScript return
39485         value.
39486         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
39487         webkit_js_to_lisp): New procedures.
39489 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39491         xwidget: Use WebKit2 API
39493         * configure.ac: Check for webkit2gtk-4.0.
39494         * src/xwidget.c: Adjust to use WebKit2 API.
39495         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
39496         `xwidget-event-type'.
39498 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39500         Merge from origin/emacs-25
39502         4c3f738 Comment for bug#24793
39504 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39506         Merge from origin/emacs-25
39508         96ac0c3 Yet another fix for using pointers into buffer text
39509         1047496 Another fix for using pointer to buffer text
39510         3121992 Fix Bug#24478
39512 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39514         Merge from origin/emacs-25
39516         ee04aed Fix handling of buffer relocation in regex.c functions
39517         71ca4f6 Avoid relocating buffers while libxml2 reads its text
39518         1b3fc8a ; Remove redundant code in gmalloc.c
39519         9afea93 Attempt to catch reads from a buffer that is relocated
39521 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
39523         Minor fix in the documentation of seq-random-elt
39525         * doc/lispref/sequences.texi (Sequence Functions): Remove false
39526           sentence.
39528 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
39530         Minor copyedits in documentation of 'seq-random-elt'
39532         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
39533         last change.  Use 2 spaces between sentences.
39535 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
39537         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
39539 2016-10-25  Damien Cassou  <damien@cassou.me>
39541         Add seq-random-elt to seq.el
39543         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
39544           random element from it's sequence parameter.
39546         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
39547           test-seq-random-elt-return-nil): Test the new function
39549         * doc/lispref/sequences.texi: Document the new function
39551 2016-10-24  Ken Brown  <kbrown@cornell.edu>
39553         * configure.ac: Stop using mmap for buffers on Cygwin.
39555 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
39557         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
39559 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
39561         Don't prompt user when killing Flymake processes
39563         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
39564         Don’t prompt the user when killing Flymake processes.
39566         * doc/misc/flymake.texi (Starting the syntax check process):
39567         Document new behavior.
39569 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39571         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
39573         This finishes the merge of the recent emacs-25 regex changes into
39574         master.
39576 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39578         Merge from origin/emacs-25
39580         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
39581         6f1325e electric-quote mode no longer worries about coding
39582         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
39583         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
39584         b2ba630 Explain how to debug emacsclient lisp errors
39585         9da53e2 Let describe-function work for lambda again
39586         5c2da93 Fix kill-line's docstring
39587         ad66b3f Fix handling of allocation in regex matching
39588         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
39589         3877c91 vc-region-history: Search just on lines intersecting the region
39590         8988327 Fix documentation of 'alist-get'
39591         b6998ea * src/regex.h (re_match_object): Improve commentary.
39593         # Conflicts:
39594         #       etc/NEWS
39595         #       lisp/help-fns.el
39597 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39599         Merge from origin/emacs-25
39601         8ad0d7d ; Fix quoting in etc/NEWS
39602         6b9dee1 Change Tramp version to "2.2.13.25.2"
39603         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
39604         b2f32e4 Don't scan compiled module files for autoloads
39605         9a758b4 Fix Bug#24698
39606         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
39607         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
39608         12da149 Update URL of MS-Windows optional DLLs
39609         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
39610         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
39611         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
39612         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
39614         # Conflicts:
39615         #       doc/misc/trampver.texi
39616         #       etc/NEWS
39617         #       lisp/net/tramp-sh.el
39618         #       lisp/net/trampver.el
39620 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39622         Merge from origin/emacs-25
39624         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
39625         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
39626         993acb5 ; Minor fix for last change in characters.el
39627         30c4bb5 More char-width fixes
39628         4eb4463 Fix char-width-table values for some Emoji
39629         528997d Keep point when switching from and to *terminal* buffer
39630         2130005 * INSTALL: Use correct Emacs release number 25.
39631         10835b1 Avoid crashes due to objects read with the #n=object form
39632         4de671d Improve doc string of 'completion-at-point-functions'
39633         ceb46f0 Fix crash in evaluating functions
39634         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
39636 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39638         Merge from origin/emacs-25
39640         2deb20c Port last_marked change to full-program optimizers
39641         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
39642         dac64e3 Avoid optimizing out the last_marked[] array
39644 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
39646         Avoid infinite hscrolling in redisplay
39648         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
39649         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
39650         redisplay (Bug #24633).
39652 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
39654         Fix error codes in Tramp
39656         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
39657         taken from tramp.el.
39658         (tramp-file-missing): New defconst.
39660         * lisp/net/tramp.el (tramp-user-error): Remove it.
39661         (tramp-check-proper-method-and-host)
39662         (tramp-dissect-file-name, tramp-debug-message)
39663         (tramp-handle-shell-command):
39664         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
39665         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
39666         Use `tramp-compat-user-error'.
39668         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
39669         (tramp-handle-load):
39670         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
39671         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
39672         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
39673         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
39674         Use `tramp-file-missing'.  (Bug#24714)
39676         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
39677         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
39678         Use `file-already-exists'.
39680 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
39682         Autoload all commands from misc.el
39684         Only two of the commands there were autoloaded, one of which is an
39685         easter egg.
39686         * lisp/misc.el (copy-from-above-command):
39687         * lisp/misc.el (zap-up-to-char):
39688         * lisp/misc.el (mark-beginning-of-buffer):
39689         * lisp/misc.el (mark-end-of-buffer):
39690         * lisp/misc.el (upcase-char):
39691         * lisp/misc.el (forward-to-word):
39692         * lisp/misc.el (backward-to-word):
39693         Add autoload cookie.
39695 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
39697         On terminal frames ignore minibuffer frame parameter (Bug#24758)
39699         * src/frame.c (Fmake_terminal_frame): Don't complain when the
39700         caller asks for a deviant minibuffer setting (Bug#24758).
39702 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39704         New error file-missing
39706         This fixes a recently-introduced bug in delete-directory,
39707         where the code assumes the C locale when determining
39708         whether a file-error corresponds to a missing file (Bug#24714).
39709         * doc/lispref/errors.texi (Standard Errors):
39710         * doc/lispref/files.texi (Changing Files):
39711         * etc/NEWS:
39712         Document this.
39713         * doc/lispref/loading.texi (How Programs Do Loading):
39714         Say "a file-error" rather than "the error file-error" since
39715         it might be a file-missing now.
39716         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
39717         * lisp/epa-file.el (epa-file--find-file-not-found-function):
39718         (epa-file-insert-file-contents, epa-file-write-region):
39719         * lisp/ffap.el (find-file-at-point, dired-at-point):
39720         * lisp/jka-compr.el (jka-compr-insert-file-contents)
39721         (jka-compr-insert-file-contents):
39722         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
39723         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
39724         * lisp/progmodes/etags.el (visit-tags-table):
39725         * lisp/url/url-handlers.el (url-copy-file):
39726         * src/fileio.c (report_file_errno):
39727         Signal file-missing if appropriate.
39728         * lisp/epa-file.el (epa-file-insert-file-contents):
39729         * lisp/jka-compr.el (jka-compr-insert-file-contents):
39730         Don't assume file-error is a leaf in the error hierarchy.
39731         * lisp/files.el (files--force):
39732         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
39733         * lisp/jka-compr.el (jka-compr-insert-file-contents):
39734         Use file-missing to detect whether the file is missing.
39735         * lisp/url/url-handlers.el (url-copy-file):
39736         Signal file-already-exists if appropriate.
39737         * src/fileio.c (syms_of_fileio): Define file-missing.
39739         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
39741 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
39743         Teach browse-url to open man page urls
39745         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
39746         (browse-url): Add a condition to catch links matching "^man:".
39747         (browse-url-man): New function.
39749 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
39751         Improve fontification of footnote references in Info buffers
39753         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
39754         in parentheses as if they were footnote references.  See
39755         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
39756         for the details.
39758 2016-10-20  Philipp Stephani  <phst@google.com>
39760         Minor fixes to cc-mode-tests.el
39762         See Bug#24747.
39764         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
39765         file-local variable; add comments to make checkdoc happy.
39767 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
39769         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
39771 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
39773         Document, how to suppress iTerm2 shell integration in Tramp
39775         * doc/misc/tramp.texi (Frequently Asked Questions):
39776         Suppress iTerm2 shell integration.
39778 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
39780         cl-seq: Remove max limit on input sequence length
39782         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
39783         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
39784         Remove limit on maximum length for the input sequence
39785         (#Bug24264).
39786         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
39788 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
39790         Derive dig-mode from special-mode
39792         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
39793         mode-class assignment.
39794         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
39795         (dig-mode): Derive from special-mode.
39796         (dig-exit): Use quit-window instead.
39797         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
39798         (query-dig): Use pop-to-buffer-same-window.
39800 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
39802         cl-defstruct: Fix debug spec and check of slot options
39804         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
39805         option syntax.  Fix debug spec.  (Bug#24700)
39807 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
39809         isearch: Fix bug in defstruct syntax
39811         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
39812         options.  (Bug#24685)
39814 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
39816         Add an option for eshell-input-filter
39818         * etc/NEWS: Document changes.
39819         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
39820         symbol.  Change type to a radio for choosing functions.  Refer to both
39821         new functions.
39822         (eshell-input-filter-default): New function.  Same body as the previous
39823         value of eshell-input-filter.
39824         (eshell-input-filter-initial-space): New function.
39826 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
39828         delete-directory no longer errors when racing
39830         Problem reported by Glenn Morris for package-test.el (Bug#24714).
39831         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
39832         * lisp/files.el (files--force): New function.
39833         (delete-directory): Use it to avoid error in this case.
39835 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
39837         Support Shift selection in nxml-mode commands
39839         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
39840         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
39841         (nxml-backward-down-element, nxml-forward-element)
39842         (nxml-backward-element, nxml-forward-paragraph)
39843         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
39844         support shift-selection.
39846 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
39848         Simplify some loops and cons
39850         * lisp/net/mailcap.el: Replace cl with cl-lib.
39851         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
39852         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
39853         (mailcap-possible-viewers): Use push and dolist where possible.
39854         (mailcap-viewer-passes-test): Remove unused binding.
39855         (mailcap-add-mailcap-entry): Use push.
39856         (mailcap-mime-info): Remove unused binding.  Use push.
39857         (mailcap-parse-mimetypes): Use dolist.
39859 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
39861         Turn on lexical-binding in auth-source
39863         * lisp/auth-source.el: Turn on lexical-binding.
39864         (auth-source-netrc-parse, auth-source-netrc-normalize):
39865         (auth-source-token-passphrase-callback-function):
39866         (auth-source-netrc-create, auth-source-secrets-search):
39867         (auth-source-macos-keychain-search-items):
39868         (auth-source-plstore-search): Use let instead of lexical-let.
39870 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
39872         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
39874         * src/frame.c (do_switch_frame): Redirect frame focus also when
39875         the frame switched to has its minibuffer window on the selected
39876         frame.
39877         * src/window.c (candidate_window_p): To qualify as candidate
39878         it's not sufficient for the window's frame to just share the
39879         minibuffer window - it must be active as well.
39881 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
39883         Fix time-related data types in 2 editfns.c functions
39885         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
39886         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
39887         instead of relying on struct timespec's 'tv_sec' member to be of
39888         compatible type.
39890 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
39892         Document atomic windows in Elisp manual (Bug#18170)
39894         * lisp/window.el (display-buffer-in-atom-window): If no `side'
39895         alist entry was specified, use `below' as the doc tells.
39896         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
39897         * doc/lispref/windows.texi (Atomic Windows): New section.
39898         (Window Parameters): Update reference.
39900 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39902         New face homoglyph
39904         Suggested by Eli Zaretskii, from a feature request by
39905         Alan Mackenzie (Bug#24468).
39906         * doc/emacs/display.texi (Standard Faces, Text Display):
39907         * etc/NEWS: Document this.
39908         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
39909         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
39910         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
39911         * etc/themes/wombat-theme.el:
39912         Customize homoglyph to be the same as escape-glyph.
39913         * lisp/cus-theme.el (custom-theme--listed-faces):
39914         Add homoglyph.
39915         * lisp/faces.el (homoglyph): New face.
39916         * lisp/startup.el (startup--setup-quote-display): Use it.
39918 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39920         Port to Ubuntu 16.10, which needs gcc -nopie
39922         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
39923         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
39924         preference to -nopie (Bug#24682).
39926 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
39928         Fix bug#24665 in Tramp
39930         * doc/misc/tramp.texi (External methods): Do not confuse
39931         method names.  (Bug#24665)
39933 2016-10-15  Sam Steingold  <sds@gnu.org>
39935         use full time objects (lists) instead of floats when possible
39937         * lisp/midnight.el (midnight-buffer-display-time): Remove
39938         (clean-buffer-list): Use float time only for time comparison
39940 2016-10-15  Sam Steingold  <sds@gnu.org>
39942         Save and restore buffer-display-time
39944         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
39945         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
39946         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
39948 2016-10-15  Philipp Stephani  <phst@google.com>
39950         Disable bracketed paste in a terminal in char mode
39952         In char mode, a terminal doesn't accept bracketed paste events,
39953         therefore we should disable them; see Bug#24639.  To decouple the XTerm
39954         management from term.el, introduce a per-buffer setting to disable
39955         bracketed paste for that buffer.  If bracketed paste is inhiited for at
39956         least one buffer in a terminal, it is disabled for the whole terminal.
39958         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
39959         inhibit XTerm bracketed paste per buffer.
39960         (xterm--buffer-terminals, xterm--update-bracketed-paste)
39961         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
39962         functions.
39963         (xterm--init-bracketed-paste-mode): Remove unused helper
39964         function.
39965         (terminal-init-xterm): Update bracketed paste status when
39966         initializing an XTerm and on window configuration change.
39968         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
39969         bracketed paste in char mode.
39971 2016-10-15  Dima Kogan  <dima@secretsauce.net>
39973         Undo the effect of CapsLock when other modifiers are present
39975         * src/keyboard.c (make_lispy_event): Effectively undo the effect
39976         of CapsLock if any modifiers other than Shift are present in a key.
39977         (Bug#24456)
39979 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
39981         Add tests for foreign completions in CSS mode
39983         * test/lisp/textmodes/css-mode-tests.el
39984         (css-test-foreign-completions): New test for
39985         `css--foreign-completions'.
39986         (css-test-complete-selector-tag): Rename test.
39987         (css-test-complete-selector-class): New test testing completion of
39988         class names in selectors.
39989         (css-test-complete-selector-id): New test testing completion of IDs in
39990         selectors.
39992 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
39994         Cosmetic change to last mm-url change
39996         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
39997         Tweak last change slightly for more readability.
39999 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
40001         Fix problem with submitting binary data via HTTP forms
40003         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
40004         Document the parameters, clean up the code, and make uploading
40005         binary data really work (which it didn't if the binary bits
40006         were in the last part of the data).
40008 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
40010         * lisp/time.el (display-time-string-forms): Fix custom type.
40012 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
40014         Derive Man and WoMan modes from special-mode
40016         * lisp/man.el (Man-mode-map): Set parent to map composed from both
40017         button-buffer-map and special-mode-map.  Remove redundant bindings.
40018         Fix menu to refer to the quit-window command.
40019         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
40020         buffer-read-only binding.
40021         (Man-quit): Remove.
40022         * lisp/woman.el (woman-really-find-file): Use setq-local.
40023         (woman-mode-map): Refer to woman-mode in docstring.
40024         (woman-mode): Derive from special-mode.  Document woman-mode-map in
40025         docstring.  Use setq-local where possible; imenu-generic-expression is
40026         already buffer-local.
40027         (woman-negative-vertical-space): Replace unused binding with _.
40029 2016-10-13  Philipp Stephani  <phst@google.com>
40031         Fix crash in evaluating functions
40033         See Bug#24673
40035         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
40036         as (closure).
40038         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
40040 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
40042         Add test for Bug#24627
40044         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
40046 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
40048         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
40050 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40052         Work around Samba bug with ':' in symlink contents
40054         * src/filelock.c (current_lock_owner): When reading the contents
40055         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
40057 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
40059         If autoloads buffer is unchanged, mark it as such (bug#23692)
40061         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
40062         If autoloads buffer is unchanged, mark it as such (bug#23692).
40064 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
40066         Use "26.1" version string in Tramp, fix some comments
40068         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
40069         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
40070         Use "26.1" version string.
40072 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
40074         form-at-point work for all kind of THINGS
40076         * lisp/thingatpt.el (form-at-point):
40077         Use thing-at-point--read-from-whole-string only if thing-at-point
40078         returns a string (Bug#24605).
40080 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
40082         Fix compilation warnings on MS-Windows
40084         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
40085         definitions of these macros, which seem to be unneeded and cause
40086         compiler warnings.
40087         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
40088         macros.
40089         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
40090         make it external, to avoid compiler warning.
40092 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40094         Spelling and clarity fixes
40096 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40098         Merge from origin/emacs-25
40100         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
40101         44e402e Allow to disable compaction of font caches
40102         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
40103         c03d44b ; Fix last commit
40104         d4be4f3 ; Fix indexing in lispref manual
40105         ed399f2 ; Minor improvement in documentation of generators
40106         197a6bc Fix horizontal scrolling during Isearch
40107         3566644 Fix infloop in redisplay due to truncated lines and invisible...
40109         # Conflicts:
40110         #       etc/NEWS
40112 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40114         Merge from origin/emacs-25
40116         c4a5e7e Improve documentation of 'menu-bar-open'
40118 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40120         Merge from origin/emacs-25
40122         4b347fe Clarify that doc fixes are okay in feature freeze
40123         01669ad Avoid crashes when setting the cursor
40124         f2144ee Restore 'command-debug-status' functionality
40125         ec6e4b9 ; Minor addition to CONTRIBUTE
40127 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40129         Merge from origin/emacs-25
40131         74b4f13 Document nil args of compare-buffer-substrings
40132         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
40133         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
40135 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40137         Merge from origin/emacs-25
40139         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
40140         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
40141         bbf1ffd Regexp Functions doc minor fixes
40143 2016-10-08  Philipp Stephani  <phst@google.com>
40145         Don’t consider nested let-alist forms
40147         See Bug#24641.
40149         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
40150         consider symbols in nested ‘let-alist’ forms.
40152         * test/lisp/emacs-lisp/let-alist-tests.el
40153         (let-alist--deep-dot-search--nested): Add a unit test.
40155 2016-10-08  Alain Schneble  <a.s@realize.ch>
40157         Support SIGTRAP in kill emulation on Windows
40159         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
40160         'DebugBreakProcess' to cause a breakpoint exception to occur in the
40161         specified process.  On Windows versions prior to Windows XP that do
40162         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
40163         (as opposed to EINVAL before this change).
40164         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
40165         and global variable to track state of run-time dynamic linking of this
40166         function.
40168         * etc/NEWS: Add entry to document that 'signal-process' now supports
40169         SIGTRAP.
40171 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
40173         Deprecate 'wp' group and introduce a new group 'text'
40175         * lisp/textmodes/tildify.el (tildify):
40176         * lisp/textmodes/text-mode.el (text-mode-hook):
40177         * lisp/textmodes/table.el (table):
40178         * lisp/textmodes/rst.el (rst):
40179         * lisp/textmodes/refer.el (refer):
40180         * lisp/textmodes/refbib.el (refbib):
40181         * lisp/textmodes/picture.el (picture):
40182         * lisp/textmodes/nroff-mode.el (nroff):
40183         * lisp/textmodes/enriched.el (enriched):
40184         * lisp/textmodes/bib-mode.el (bib):
40185         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
40186         * lisp/nxml/rng-valid.el (relax-ng):
40187         * lisp/view.el (view):
40188         * lisp/ps-print.el (ps-print):
40189         * lisp/printing.el (printing):
40190         * lisp/outline.el (outlines):
40191         * lisp/lpr.el (lpr):
40192         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
40193         * lisp/cus-edit.el (wp): Remove the "text" tag.
40194         (text): New defgroup, inherits from the deprecated 'wp'.
40195         (outlines): Remove, in favor of the definition in outline.el.
40196         (tex): Inherit from 'text'.
40197         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
40199 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
40201         Extend dictionary and library-directory handling for Ispell
40203         * lisp/textmodes/ispell.el (ispell-check-version): Allow
40204         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
40205         ISPELL_DICTDIR).
40206         (ispell-valid-dictionary-list): If the -d option to Ispell
40207         specifies an absolute file name, use that regardless of
40208         ispell-library-directory.  (Bug#24439)
40210 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
40212         Fix unescaped \begin{...} in docstring
40214         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
40215         \begin{...} in docstring.
40217 2016-10-06  Noah Friedman  <friedman@splode.com>
40219         Update comment.
40221 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
40223         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
40225         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
40226         defining to avoid redefinition warnings.
40228         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
40229         inclusion of sys/stat.h from the system headers, which could then
40230         lead to compilation errors due to redefinition of 'struct stat'
40231         etc.  This is needed because latest versions of MinGW runtime
40232         include sys/stat.h from wchar.h.
40234         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
40235         redefine to 4 to avoid conflict between 2 definitions of
40236         MemoryBarrier.  (Bug#24613)
40238 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40240         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
40242 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40244         Autoload entry point testcover-start
40246         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
40247         testcover-start.
40249 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40251         Bump version of ntlm.el to 2.1.0
40253         * lisp/net/ntlm.el: Bump version to 2.1.0.
40255 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40257         lisp/net/ntlm.el: Fix comment and docstring formatting
40259 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40261         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
40263         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
40264         "negotiate domain supplied" bit when a domain is supplied.  Do
40265         not set "negotiate workstation supplied" bit.
40266         (ntlm-build-auth-response): Set domain to empty string by
40267         default.  Set workstation name to "WORKSTATION".  Set flags to
40268         logical and of Type 1 and Type 2 message flags.  Remove four
40269         trailing 0 bytes.  Always set LM response.  Hard-code domain
40270         offset.  Reorder buffer fields.
40272 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40274         Document return value of `display-buffer-in-side-window'
40276         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
40277         * lisp/window.el (display-buffer-in-side-window): Describe
40278         return value of `display-buffer-in-side-window'.
40280 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
40282         Improve wording in side windows documentation
40284         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
40285         (Side Window Options and Functions)
40286         (Frame Layouts with Side Windows): Minor wording improvements.
40288 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40290         Document and fix some bugs with side windows
40292         Add a documentation for side windows and fix some bugs
40293         found when testing their behavior.  Also add a new window
40294         parameter `no-delete-other-window', a new `display-buffer'
40295         alist member called `window-parameters', and functions to
40296         toggle and reverse side windows on a frame.  Add new function
40297         `window-swap-states' to exchange states of two live windows.
40299         * lisp/window.el (display-buffer-in-atom-window): Use
40300         `split-window-no-error'.
40301         (window-sides-vertical): Maybe change layouts when setting this
40302         variable.
40303         (window-sides-reversed): New option.
40304         (window-sides-slots): Rewrite doc-string and help echoes.
40305         (window-sides-shown): New buffer-local variable set when showing
40306         a buffer in a side window.
40307         (window--sides-inhibit-check): New variable.
40308         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
40309         (window--sides-reverse-all, window--sides-reverse-frame)
40310         (window--sides-reverse-side, window--sides-reverse)
40311         (window--sides-verticalize-frame, window--sides-verticalize)
40312         (window--sides-check-failed): New functions.
40313         (window--side-window-p): Remove function.
40314         (window--major-non-side-window): Rename to `window-main-window',
40315         adjust callers, rewrite doc-string.
40316         (window--major-side-window): Rename to
40317         `window--make-major-side-window-next-to', adjust caller, fix
40318         doc-string.
40319         (display-buffer-in-major-side-window): Rename to
40320         `window--make-major-side-window', adjust
40321         caller, rewrite doc-string.  Make `window-side' and
40322         `window-slot' parameters persistent (Bug#23858).  Don't set
40323         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40324         (delete-side-window): Remove function.
40325         (display-buffer-in-side-window): Fix doc-string.  Don't set
40326         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40327         (window--side-check): Rename to window--sides-check.  Rewrite
40328         completely.  Adjust caller.
40329         (window-resize-no-error): Don't describe PIXELWISE argument.
40330         (adjust-window-trailing-edge): Fix bug that disallowed
40331         re-enlarging windows that were too small.
40332         (window-deletable-p): Don't tell that a minibuffer window on a
40333         non-minibuffer-only frame can be deleted.  Fix doc-string.
40334         (delete-window): Handle deleting a side window here (the
40335         `delete-window' parameter is no more set for side windows).
40336         (delete-other-windows): Handle ‘no-delete-other-window'
40337         parameter. Don't treat side windows separately (see discussion
40338         of Bug#24368) but keep optimization that makes the main window
40339         the root window of its frame.
40340         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
40341         windows and buffers shown in side windows separately.
40342         (split-window-no-error): New function.
40343         (window--state-get-1): Use right buffer when storing window
40344         point and start positions and WRITABLE is nil (Bug#24368).
40345         (window--state-put-1): Fix handling of `window-combination-limit'.
40346         Use `split-window-no-error'.
40347         (window--state-put-2): Try to restore windows with preserved
40348         size to their original size.  Fix bug where a fixed window's width
40349         was not preserved.
40350         (window-state-put): When reducing an internal window to a live
40351         one, don't choose a side window.
40352         (window-swap-states): New function.
40353         (window-splittable-p): Don't call `window--side-window-p'.
40354         (window--display-buffer): Handle `window-parameters' ALIST entry.
40355         Minor rewrite.
40356         (display-buffer): Mention `window-parameters' entry in
40357         doc-string.
40358         (display-buffer-at-bottom): Call `split-window-no-error'.
40360         * doc/lispref/elisp.texi (Top): New section "Side Windows".
40361         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
40362         of `delete-window' and `delete-other-windows' wrt window
40363         parameters and side windows.
40364         (Display Action Functions): Mention `window-parameters' ALIST
40365         entry.
40366         (Side Windows): New section (Bug#18170).
40367         (Window Configurations): Describe new function `window-swap-states'.
40368         (Window Parameters): Say that functions may behave specially when
40369         their homonymous window parameter has been set.  Mention new
40370         parameter `no-delete-other-window'.  Add cross reference for
40371         `window-side' and `window-slot' parameters.
40373 2016-10-04  John Wiegley  <johnw@newartisans.com>
40375         Add documentation note from Alex
40377 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
40379         Avoid dynamic binding on a symbol
40381         Instead, bind history in the default minibuffer-history.
40382         Fixes bug#24580.
40383         * lisp/replace.el (query-replace-read-from): Let-bind
40384         minibuffer-history.  Change read-regexp and read-from-minibuffer's
40385         HISTORY arguments to nil so that they use minibuffer-history.
40387 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
40389         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
40391         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
40392         deleting the old buffer content.
40393         * src/lisp.h (del_range_byte):
40394         * src/insdel.c (del_range_byte): Drop the last argument.
40395         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
40397 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40399         Ibuffer: 'w' and 'B' default to buffer at current line
40401         See discussion in:
40402         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
40403         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
40404         return buffers near current line.
40405         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
40406         Add argument ARG; if a non-zero integer, return next ARG buffers.
40407         Otherwise return the marked buffers.
40408         If there are not marked buffers, return buffer at current line
40409         without prompting the user.
40410         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
40411         Append to kill ring when last command was a kill-region.
40412         (ibuffer-copy-filename-as-kill): Idem.
40413         Simplify the code.
40414         Use ibuffer-buffer-file-name instead of buffer-file-name to
40415         include buffers in Dired mode.
40417 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40419         dired-mark-extension: Unmark if called with C-u prefix
40421         See discussion in #Bug2518 and:
40422         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
40423         * lisp/dired-x.el (dired-mark-extension):
40424         Update interactive calls: a prefix arg C-u unmark files;
40425         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
40426         (dired-mark-sexp):
40427         Show in the prompt that we are unmarking if called with a prefix argument.
40428         * doc/misc/dired-x.texi (Advanced Mark Commands):
40429         Update documentation for 'dired-mark-extension'.
40431 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
40433         Document yank behavior in the right place
40435         * lisp/simple.el (yank): Document the handling of the
40436         `yank-handled-properties' and `yank-excluded-properties' variables,
40437         and the `yank-handler' text property.
40438         (yank-pop): Refer to `yank' now (bug#286)
40440         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
40441         (insert-for-yank-1): Refer to `insert-for-yank' now.
40443         See this thread for discussion:
40445           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
40446           From: Karl Fogel
40447           To: Emacs Devel
40448           Subject: Question about intended behavior of 'insert-for-yank-1'.
40449           Date: Mon, 12 Sep 2016 00:17:14 -0500
40450           Message-ID: <874m5lr92d.fsf@red-bean.com>
40452 2016-10-02  Philipp Stephani  <phst@google.com>
40454         Restart blink cursor timers on interval changes
40456         This prevents surprising behavior when timer interval customizations are
40457         only applied whenever the timers happen to be restarted (see Bug#24372).
40459         * lisp/frame.el (blink-cursor--start-idle-timer)
40460         (blink-cursor--start-timer): New functions.
40461         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
40462         the new helper functions.
40463         (blink-cursor-delay, blink-cursor-interval): Restart timers when
40464         the value is changed.
40466 2016-10-01  Philipp Stephani  <phst@google.com>
40468         Use a simple keyword for a non-nil argument
40470         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
40471         and non-nil values are distinguished.  Passing a number here is
40472         confusing.  Pass a descriptive symbol instead.
40474         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
40475         :repeat symbol instead of number for second argument of
40476         `run-with-idle-timer'
40478 2016-10-01  Philipp Stephani  <phst@google.com>
40480         Make querying to kill processes customizable
40482         Introduce a new customization option, `confirm-kill-processes', that
40483         users can set to nil if they don't want Emacs to nag them about killing
40484         processes.
40486         * lisp/files.el (confirm-kill-processes): New customization option.
40487         (save-buffers-kill-emacs): Use customization option.
40489         * test/lisp/files-tests.el
40490         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
40491         test for new customization option.
40493         * doc/emacs/entering.texi (Exiting): Document new user option.
40495         * doc/lispref/processes.texi (Query Before Exit): Document new
40496         user option.
40498         * etc/NEWS: Document new user option.
40500 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40502         Set :version of 'debugger-stack-frame-as-list'
40504         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
40505         the ':version' attribute.
40507 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40509         Bump Emacs version to 26.0.50
40511         * README:
40512         * configure.ac:
40513         * etc/NEWS:
40514         * etc/refcards/ru-refcard.tex:
40515         * msdos/sed2v2.inp:
40516         * src/msdos.c: Increment Emacs version to 26.0.50.
40517         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
40518         moved to etc/NEWS.
40520 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40522         Avoid compilation warning on MinGW
40524         * src/w32.c: Include string.h, needed for the prototype of
40525         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
40526         warning about "no previous prototype".  The string.h header
40527         must be included after ms-w32.h, but before "#undef strerror".
40529 2016-09-30  Alan Third  <alan@idiocy.org>
40531         Fix compatibility with macOS 10.12 pmset (bug#24537)
40533         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
40534         present in output.
40536 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
40538         Limit <config.h>’s includes
40540         This follows up on recent problems with the fact that config.h
40541         includes stdlib.h etc.; some files need to include stdlib.h later.
40542         config.h generally should limit itself to includes that are
40543         universally safe; outside of MS-Windows, only stdbool.h makes
40544         the cut among the files currently included.  So, move the
40545         other includes to just the files that need them (Bug#24506).
40546         * configure.ac (config_opsysfile): Remove, as this generic hook
40547         is no longer needed.
40548         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
40549         * src/w32proc.c (_GNU_SOURCE):
40550         Remove, as it’s OK for config.h to do this now.
40551         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
40552         config_opsysfile, for simplicity as this old way of configuring is
40553         now done only for the MS-Windows port.  Do not include <ms-w32.h>
40554         if DEFER_MS_W32_H, for the benefit of the few files that want its
40555         effects later.  Do not include <alloca.h>, <string.h>, or
40556         <stdlib.h>.  Other files modified to include these headers as
40557         needed, or to not include headers that are no longer needed.
40558         * src/lisp.h: Include <alloca.h> and <string.h> here, since
40559         some of the inline functions need them.
40560         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
40561         we can rely on SAFE_ALLOCA.)  There is no longer any need to
40562         worry about HAVE_ALLOCA_H.
40563         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
40564         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
40565         Define before including <config.h> first, and include <ms-w32.h>
40566         after the troublesome headers.
40568 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
40570         New user option 'debugger-stack-frame-as-list'
40572         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
40573         variable.
40574         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
40575         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
40576         backtrace processing for the value of debugger-stack-frame-as-list.
40577         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
40578         processing for the value of debugger-stack-frame-as-list.
40579         * doc/lispref/debugging.texi (Internals of Debugger): Document
40580         debugger-stack-frame-as-list.
40581         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
40583 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
40585         * src/alloc.c: call only non-null finalizers
40587 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
40589         Avoid compiler warnings in image.c on MS-Windows
40591         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
40592         warning about unused macros.
40594 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
40596         * lisp/outline.el (outline-invisible-p): Only return `t' for
40597         the 'outline property.
40599 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40601         Fix problems found by static checking --with-ns
40603         This is for Fedora 24 when configured with --enable-gcc-warnings.
40604         Although it does not fix all the problems, it fixes many of them.
40605         * src/frame.c (XParseGeometry):
40606         * src/nsterm.m (mouseDown:):
40607         Mark locals with UNINIT to pacify --enable-gcc-warnings.
40608         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
40609         Remove unused macros.
40610         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
40611         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
40612         (xpm_put_color_table_v, xpm_get_color_table_v)
40613         (xpm_make_color_table_h, xpm_put_color_table_h)
40614         (xpm_get_color_table_h, xpm_load_image, xpm_load)
40615         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
40616         (svg_load_image):
40617         * src/nsfns.m (x_get_string_resource):
40618         * src/nsimage.m (ns_image_from_XBM):
40619         Fix pointer signedness problems.
40620         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
40621         (imagemagick_load_image): Omit unused locals.
40622         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
40623         (Fx_open_connection):
40624         * src/nsfont.m (ns_antialias_threshold):
40625         Move extern decl to nsterm.h so it can be checked.
40626         * src/nsmenu.m (svcsMenu, dockMenu):
40627         Move to the only file that uses them, so they can be static.
40628         * src/nsterm.h (find_and_call_menu_selection):
40629         * src/nsterm.m (x_set_frame_alpha):
40630         Omit duplicate decls.
40631         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
40632         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
40633         (ns_set_name_as_filename, x_set_menu_bar_lines)
40634         (x_set_tool_bar_lines, x_set_internal_border_width):
40635         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
40636         Now static.
40637         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
40638         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
40639         Remove; unused.
40640         * src/nsfont.m (ns_dump_glyphstring):
40641         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
40642         (ns_clear_frame, keyDown:):
40643         Fix signedness problem with printf arg.
40644         * src/nsterm.h (ns_input_events, ns_finish_events):
40645         * src/nsterm.m (ns_finish_events, hide_bell):
40646         Prototype the decls.
40647         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
40648         Omit unnecessary decl.
40649         (dockMenu):
40650         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
40651         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
40652         (toggleFullScreen:): Use FACE_FROM_ID instead of
40653         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
40654         result to be non-null.
40655         (applicationShouldTerminate:): Fix misleading indentation.
40657 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
40659         Turn on more lexical-binding
40661         * lisp/dom.el:
40662         * lisp/faces.el:
40663         * lisp/htmlfontify.el: Turn on lexical-binding.
40664         (htmlfontify-string): Use pushnew instead of add-to-list.
40665         * lisp/info-xref.el:
40666         * lisp/isearch.el:
40667         * lisp/man.el:
40668         * lisp/ps-def.el:
40669         * lisp/ps-print.el:
40670         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
40671         time.
40672         (multi-occur): Use cl-pushnew instead of add-to-list.
40673         (replace-match-string-symbols): Remove unused lexical variable.
40674         (replace-search, replace-highlight): Fix argument shadowing.
40675         * lisp/sort.el:
40676         * lisp/xml.el: Turn on lexical-binding.
40677         (xml--parse-buffer): Use push instead of add-to-list.
40678         * lisp/xt-mouse.el: Turn on lexical-binding.
40680 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
40682         * admin/notes/bug-triage: Do not mention closed bugs
40684         * admin/notes/bug-triage: Do not mention closed bugs, they are
40685         suppressed by default in debbugs-{gnu,org}.
40687 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
40689         * etc/PROBLEMS: Remove problem Bug#22814, again.
40691 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40693         Stick with debbugs-supported tags in triage
40695         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
40696         debbugs supports, rather than suggesting "doneunreproducible" or
40697         "unreproducable".
40699 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40701         Merge from origin/emacs-25
40703         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
40704         c14a1d4 Minor copyedits of MS-Windows installation instructions
40705         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
40707         # Conflicts:
40708         #       lisp/minibuffer.el
40710 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40712         Merge from origin/emacs-25
40714         0ae9a81 Document 'timerp'
40715         2c72c46 Improve documentation of overlay priorities
40716         f6fa160 Fix 'dired-compress-files'
40717         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
40719         # Conflicts:
40720         #       lisp/dired.el
40721         #       src/buffer.h
40722         #       src/character.h
40724 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40726         Merge from origin/emacs-25
40728         cf9e174 Document the optional zlib library in MS-Windows builds
40729         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
40730         73c67dd Fix tagging of DEFUN by etags
40731         ea1960b Avoid resetting track-mouse by mouse clicks
40732         505fef3 Improve nt/README.W32 instructions
40733         1229cc4 Document that desktop file overrides frame parameters
40734         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
40736         # Conflicts:
40737         #       ChangeLog.2
40738         #       admin/notes/unicode
40739         #       lisp/ldefs-boot.el
40741 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40743         Merge from origin/emacs-25
40745         0ffc9ce Update admin/authors.el
40746         0ad7410 Update Antinews in ELisp manual
40747         ea0f750 Fix comments on window height macros
40748         0bbdeed Fix 'url-http-create-request' when cookies are used
40749         0045998 Fix cross reference in frames.texi
40750         1392894 ; * etc/DEBUG: Minor copyedits.
40751         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
40752         56bf7d7 Fix regexp-opt documentation (bug #17862)
40753         803ad6f ; Fix documentation of seq-subseq
40754         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
40755         88ea396 ; Spelling fixes
40756         17197d0 Fix tags-query-replace docstring
40757         80a7f8b Clarify documentation of precision in format specs
40758         88a5052 Improve and clarify documentation of subprocesses
40759         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
40761         # Conflicts:
40762         #       etc/PROBLEMS
40763         #       src/process.c
40765 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
40767         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
40769 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40771         Fix 'dired-mark-extension' with prefix argument
40773         * lisp/dired-x.el (dired-mark-extension): Allow to specify
40774         MARKER-CHAR interactively as a string, not as a character's
40775         codepoint.  (Bug#24518)
40777         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
40778         behavior when invoked with a prefix arg.
40780 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
40782         Support completion of classes and IDs in CSS mode
40784         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
40785         holding the function to call for retrieving completions of class
40786         names.
40787         (css-id-list-function): New variable holding the function to call for
40788         retrieving completions of IDs.
40789         (css--foreign-completions): New function for retrieving completions
40790         from other buffers.
40791         (css--complete-selector): Support completing HTML class names and IDs
40792         from other buffers in addition to completing HTML tags.
40794         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
40795         variable holding a cache for `html-current-buffer-classes'.
40796         (html--buffer-ids-cache): New variable holding a cache for
40797         `html-current-buffer-ids'.
40798         (html-current-buffer-classes): New function returning a list of class
40799         names used in the current buffer.
40800         (html-current-buffer-ids): New function returning a list of IDs used
40801         in the current buffer.
40802         (html-mode): Set `css-class-list-function' and `css-id-list-function'
40803         to `html-current-buffer-classes' and `html-current-buffer-ids'
40804         respectively.
40806 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40808         Update test suite files due to removal of test/lisp/legacy
40810         * test/README: Reference file-organization.org.
40811         * test/file-organization.org: Remove the description of files in
40812         the lisp/legacy/ directory.
40814 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40816         Incorporate syntax-tests in lisp-tests.
40818         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
40819         test/lisp/legacy/syntax-tests.el.
40820         * test/lisp/legacy/syntax-tests.el: File deleted.
40822 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40824         Incorporate occur-tests in replace-tests
40826         * test/lisp/replace-tests.el: Add tests from
40827         test/lisp/legacy/occur-tests.el.
40828         * test/lisp/legacy/occur-tests.el: File deleted.
40830 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40832         Incorporate lexbind-tests.el in bytecomp-test.el
40834         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
40835         test/lisp/legacy/lexbind-tests.el.
40836         * test/lisp/legacy/lexbind-tests.el: File deleted.
40838 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
40840         Improve integer overflow handling a bit
40842         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
40843         The machine code is the same on my platform.
40844         * src/doprnt.c (doprnt):
40845         * src/emacs-module.c (module_funcall):
40846         * src/font.c (font_intern_prop):
40847         * src/keyboard.c (Frecursion_depth):
40848         * src/lread.c (read1):
40849         Use WRAPV macros instead of checking overflow by hand.
40850         * src/editfns.c (hi_time, time_arith, decode_time_components):
40851         * src/emacs-module.c (Fmodule_load):
40852         Simplify by using FIXNUM_OVERFLOW_P.
40853         * src/emacs-module.c: Include intprops.h.
40854         * src/xdisp.c (percent99): New function.
40855         (decode_mode_spec): Use it to simplify overflow avoidance and
40856         formatting of %p and %P.
40858 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40860         Incorporate core-elisp-tests in lisp-tests
40862         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
40863         test/lisp/legacy/core-elisp-tests.el.
40864         * test/lisp/legacy/core-elisp-tests.el: File removed.
40866 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40868         Move coding-tests.el and decoder-test.el to their places
40870         * test/src/coding-tests.el: Added all the tests from
40871         test/lisp/legacy/decoder-tests.el.
40872         * test/lisp/legacy/decoder-tests.el: File deleted.
40874 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
40876         Use correct TYPE value for displaying error messages in (erc-display-message)
40878 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
40880         Bump the version to 25.2.50
40882         * README:
40883         * configure.ac:
40884         * etc/NEWS:
40885         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
40887 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
40889         ibuffer-do-view-other-frame: Display each buffer in a new frame
40891         * lisp/ibuffer.el (ibuffer-do-view-1):
40892         When TYPE equals 'other-frame, then display each buffer
40893         in a new frame (Bug#24086).
40895 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40897         Update from gnulib
40899         This incorporates:
40900         2016-09-22 stdint: port to GCC 7
40901         2016-09-22 limits-h, stdint: don't assume extensions
40902         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
40904 2016-09-22  Alan Mackenzie  <acm@muc.de>
40906         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
40908 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
40910         Port recent flexmember changes to NetBSD
40912         The NetBSD library supports localtime_rz directly, and without
40913         this change 'configure' omitted the flexmember test that is marked
40914         as conditional on localtime_rz.  Emacs now needs to use
40915         flexmember.m4 even when localtime_rz works.
40916         Problem reported by Thomas Klausner.
40917         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
40918         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
40920 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
40922         * doc/misc/texinfo.tex: Copy from gnulib.
40924 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
40926         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
40928 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40930         Use flexmembers on IBM XL C for AIX
40932         This removes a workaround where Emacs did not use flexible
40933         array members when compiled with IBM XL C.  Instead, avoid
40934         the problem by making the aliasing issues more obvious to
40935         this compiler.
40936         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
40937         * m4/flexmember.m4: Copy from gnulib.
40938         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
40939         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
40940         problem that would otherwise mess up code generated for flexible
40941         array members by IBM XL C for AIX, V12.1.
40942         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
40943         by gnulib code.
40945 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
40947         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
40949         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
40950         `tramp-drop-volume-letter' any longer, it causes collateral
40951         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
40953 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
40955         Port January __morecore changes to AIX 7.1
40957         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
40958         (__after_morecore_hook):
40959         * src/ralloc.c (__morecore):
40960         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
40961         not defined.  <malloc.h> does not declare these in AIX 7.1.
40963 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
40965         Define _GNU_SOURCE in files delaying config.h
40967         Problem reported by Richard Copley in:
40968         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
40969         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
40970         Define early.
40972 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
40974         Update the bidi test code and data
40976         * test/manual/BidiCharacterTest.txt: Import the version from
40977         Unicode Standard 9.0.0.
40978         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
40979         in the 4th field of the test data.
40981 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
40983         ibuffer-do-toggle-read-only: Fix unused argument
40985         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
40986         'read-only-mode' with ARG when its an integer.
40987         Clarify the meaning of ARG in doc string.
40989 2016-09-17  Alan Mackenzie  <acm@muc.de>
40991         Improve accuracy of line/column numbers in byte compiler's warning messages.
40993         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
40994         value of byte-compile-last-position is not lower than old value.
40995         (byte-compile-function-warn): call byte-compile-set-symbol-position.
40997 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
40999         Minor Tramp tweaks
41001         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
41002         property "process-buffer" if already existing.
41003         (tramp-connectable-p): Suppress debug messages.
41005 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41007         Define _GNU_SOURCE in unexmacosx.c
41009         Problem reported by Bob Halley in:
41010         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
41011         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
41013 2016-09-16  Alan Mackenzie  <acm@muc.de>
41015         C Mode: Fix mis-fontification of macro invocation as function declaration
41017         This happened with a macro invocation which was followed by a statement block
41018         in braces.
41020         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
41021         between contexts nil and top, being less permissive in the former case.
41022         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
41024 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41026         Improve the doc string of 'format'
41028         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
41029         of a literal period.  (Bug#24407)
41031 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41033         Improve doc strings in whitespace.el
41035         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
41036         (global-whitespace-mode, global-whitespace-newline-mode): Improve
41037         the doc strings.  (Bug#24413)
41039 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41041         Improve detectability of 'next-logical-line' and 'previous-logical-line'
41043         * lisp/simple.el (next-line, previous-line): Mention
41044         'next-logical-line' and 'previous-logical-line' in the doc
41045         strings.  (Bug#24443)
41047 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41049         Update from gnulib
41051         This incorporates:
41052         2016-09-16 extensions: fix typo in comment
41053         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
41054         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
41056 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41058         Prefer now-standard int width macros
41060         * src/data.c (ULL_WIDTH):
41061         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
41062         * src/lread.c (read_integer):
41063         * src/term.c (produce_glyphless_glyph):
41064         * src/xterm.c (x_send_scroll_bar_event):
41065         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
41066         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
41067         with the *_WIDTH standard macros.  All uses changed.
41068         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
41069         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
41070         for consistency with the *_WIDTH standard macros.  All uses changed.
41071         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
41072         be the same as CHAR_WIDTH and avoids confusion with Elisp
41073         char-width, which counts columns not bits.
41074         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
41075         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
41076         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
41077         used directly.
41079 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41081         Update from gnulib
41083         This incorporates:
41084         2016-09-15 stdint: support new _WIDTH macros
41085         2016-09-15 limits-h: new module
41086         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
41087         2016-09-15 extensions: port to more ISO C TSes
41088         2016-09-13 intprops: new macro TYPE_WIDTH
41089         2016-09-13 extensions: port to recent ISO C TRs
41090         * .gitignore: Add lib/limits.h.
41091         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
41092         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
41093         * m4/sys_types_h.m4: Copy from gnulib.
41094         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41095         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
41096         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
41098 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
41100         Rework fixing Bug#24432
41102         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
41103         "process-buffer" in order to mark connection as active.
41105         * lisp/net/tramp-cache.el (tramp-get-hash-table)
41106         (tramp-set-connection-property)
41107         (tramp-dump-connection-properties): Do not use "active" property.
41108         (tramp-list-connections): Use "process-buffer" property.
41110         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
41111         properties prior deletion of process.
41113 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
41115         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
41117         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
41119 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41121         Avoid compiler warning on MS-Windows due to clone_file
41123         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
41124         call to it is not compiled in that build, and having it defined
41125         causes compiler warnings.
41127 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41129         Avoid aborts in GC due to abort_on_gc
41131         * src/lisp.h:
41132         * src/print.c (Fprin1_to_string):
41133         * src/eval.c (signal_or_quit):
41134         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
41135         and testing the value of abort_on_gc.  It is no longer needed, and
41136         using it causes rare aborts in GC for no good reason.  (Bug#23912)
41138 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
41140         Fix Bug#24432
41142         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
41143         connection as inactive.
41144         (tramp-set-connection-property): Make the connection active.
41145         (tramp-dump-connection-properties): Don't save "active" property.
41146         (tramp-list-connections): List only active connections.  (Bug#24432)
41148 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
41150         Don't bug out on all-whitespace URLs
41152         * lisp/net/shr.el (shr-expand-url): Don't bug out on
41153         degenerate all-whitespace URLs.
41155 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
41157         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
41159         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
41160         Rename from sieve-manage-ignore-broken-tls.  If it is set,
41161         sieve-manage will never use STARTTLS even if the server says
41162         it is capable (but may be broken).
41164 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41166         Port to ISO/IEC TS 18661-1:2014
41168         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
41169         All uses changed.
41171 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41173         dired-jump: Expand file-name before dired-goto-file call
41175         Command dired-goto-file requires its argument to be an absolute
41176         file name.  Interactively FILE-NAME is read with read-file-name,
41177         which could return an abbreviated file name (Bug#24409).
41178         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
41179         Clarify in doc string the meaning of arg FILE-NAME.
41181 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41183         Add test for Bug#21454
41185         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
41187 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
41189         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
41191 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41193         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
41195         * lisp/net/sieve.el (sieve-edit-script):
41196         Make the buffer to edit be not modified-p initially (bug#24423).
41198 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41200         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
41202         * lisp/net/sieve-manage.el
41203         (sieve-manage-ignore-broken-tls): New user option.
41204         (sieve-manage-open-server):
41205         Don't test STARTTLS capability if the option is set (bug#24422).
41207 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41209         Fix compiler thinking width and height may be unitialized in frame.c
41211         This fixes the following warning:
41213                 frame.c: In function ‘x_set_frame_parameters’:
41214                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
41215                         this function [-Werror=maybe-uninitialized]
41216                        adjust_frame_size (f, width_change ? width : -1,
41217                                  ^
41219         * src/frame.c (x_set_frame_parameters): Drop width_changed and
41220         height_changed variables in favor of storing that information in
41221         width and height variables.
41223 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41225         Fix compiler thinking tmpdir may be unitialized in emacsclient
41227         This fixes the following warning:
41229                 emacsclient.c: In function ‘set_local_socket’:
41230                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
41231                         ‘tmpdir’ may be used uninitialized in this function
41232                         [-Werror=maybe-uninitialized]
41233                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
41234                    ^
41235                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
41236                      const char *tmpdir;
41238         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
41239         variable and instead use tmpdir being non-NULL as sign that it should
41240         be used.
41242 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
41244         image-dired: Signal an error before calling a missing executable
41246         Reverts commit ca473907
41247         Add a defun to check if an executable exists, and call it
41248         on each function using an external program: when the executable
41249         is not available signal an error.
41250         See discussion on:
41251         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
41252         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
41253         Throw and error when the executable arg is missing.
41254         (image-dired-display-image, image-dired-rotate-thumbnail)
41255         (image-dired-rotate-original, image-dired-set-exif-data)
41256         (image-dired-get-exif-data):
41257         Use it.
41259 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
41261         Fix daemon shutdown when emacs-kill-hooks ask questions
41263         * lisp/server.el (server-start): Put the server's kill-emacs-hook
41264         last, to allow other hooks to have a frame to interact with the
41265         user.  (Bug#24326)
41267 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
41269         * src/casefiddle.c (casify_word): Simplify.
41271         * src/casefiddle.c (casify_word): Return Qnil.
41273 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41275         Refactor common code in {upcase,downcase,capitalize}-word functions
41277         * src/casefiddle.c (operate_on_word): Removed in favor of…
41278         (casify_word) …new function which does what operate_on_word did plus
41279         what all of the common code from *-word functions.
41280         (upcase-word, downcase-word, capitalize-word): Move code common between
41281         those functions (pretty much the whole body of those functions) into
41282         casify_word and use that instead of now deleted operate_on_word.
41284 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41286         * doc/lispref/files.texi: Remove @vindex.
41288 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41290         Remove unnecessary ref to coreutils manual
41292         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
41294 2016-09-11  Alan Mackenzie  <acm@muc.de>
41296         Correctly fontify C++ direct initializations with parens inside functions
41298         Or, more clearly, when something looks like a function declaration and it's
41299         inside a function, fontify it as a direct initialization.
41301         For this purpose, introduce a "brace stack" for each buffer, where an entry on
41302         the brace stack states how deeply nested a particular position is inside
41303         braces inside a "top level", which includes classes and namespaces.
41305         Also introduce a new "context", "top", with which c-font-lock-declarations
41306         signals to c-forward-decl-or-cast-1 that point is at the top level.
41308         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
41309         c-truncate-bs-cache.
41310         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
41311         (c-type-decl-operator-prefix-key): new language constants/variables.
41313         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
41314         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
41315         stack cache.
41316         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
41317         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
41318         (c-find-decl-prefix-search): Keep track of whether we're at top level.
41319         (c-find-decl-spots): New local variable cfd-top-level which records what it
41320         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
41321         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
41322         to non-nil when a match for c-type-decl-operator-prefix-key is found.
41323         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
41324         Introduce "CASE 9.5", which recognizes direct initializations.
41326         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
41327         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
41328         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
41329         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
41330         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
41331         participate in the decision whether to fontify an identifier as a function or
41332         a variable.
41333         (c-font-lock-declarations): The internal lambda function takes an additional
41334         argument `toplev' from c-find-decl-spots, which it uses in determining the
41335         "context" of a declaration.  Add appropriate `not-top' argument to calls to
41336         c-font-lock-declarators.
41337         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
41338         like for c-font-lock-declarators.
41340         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
41341         cache.
41343 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
41345         Avoid signaling errors when computing "Stop" in GDB menu
41347         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
41348         'gdb-running-threads-count' must have a numeric value.
41349         (Bug#24414)
41351 2016-09-11  Philipp Stephani  <phst@google.com>
41353         Stop calling ‘byte-compile-log-warning’
41355         For errors, use ‘byte-compile-report-error’ instead so that the error
41356         is registered and causes compilation to fail (Bug#24359).
41358         For warnings, use ‘byte-compile-warn’ instead so that
41359         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
41361         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
41362         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
41363         ‘byte-compile-log-warning’.
41365         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
41366         (byte-compile-setq, byte-compile-funcall): Use
41367         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
41368         (byte-compile-log-warning): Convert comment to documentation
41369         string.  Explain that the function shouldn’t be called directly.
41370         (byte-compile-report-error): Add optional FILL argument.
41372         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
41373         (cconv--analyze-function, cconv-analyze-form): Use
41374         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41376         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
41377         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41379         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
41380         of ‘byte-compile-log-warning’.
41381         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
41382         ‘byte-compile-log-warning’.
41384 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41386         * etc/NEWS: Remove comment lost in emacs-25 merge.
41388 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41390         Document file synchronization issues
41392         * doc/lispref/files.texi (Files and Storage): New section.
41394 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41396         copy-file now uses GNU/Linux file cloning
41398         From a suggestion by Kieran Colford (see Bug#23904).
41399         * configure.ac: Check for linux/fs.h.
41400         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
41401         (clone_file): New function.
41402         (Fcopy_file): Use it.
41404 2016-09-10  Alan Third  <alan@idiocy.org>
41406         Invert y coord of NS image files (bug#7847)
41408         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
41409         when compositing.
41411 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
41413         Don't require isearch-update before isearch-done
41415         It is useful to be able to call `isearch-done' unconditionally to
41416         ensure a non-isearching state.
41418         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
41419         is a live buffer before using it (Bug #21091).
41420         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
41422 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
41424         * lisp/emacs-lisp/ring.el: Use lexical-binding
41426         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
41427         argument of `dotimes' when the iteration variable isn't referred by
41428         it.
41429         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
41430         since it's the default.
41432 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41434         Split regex character class test into smaller chunks
41436         Having one test for all character classes it is not always trivial to
41437         determine which class is failing.  This happens when failure is caused
41438         by ‘(should (equal (point) (point-max)))’ not being met.
41440         With per-character class tests, it is immidiatelly obvious which test
41441         causes issues plus tests for all classes are run even if some of them
41442         fail.
41444         * test/src/regex-tests.el (regex-character-classes): Delete and split
41445         into…
41446         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
41447         regex-tests-ascii-character-class, regex-tests-blank-character-class,
41448         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
41449         regex-tests-graph-character-class, regex-tests-lower-character-class,
41450         regex-tests-multibyte-character-class,
41451         regex-tests-nonascii-character-class,
41452         regex-tests-print-character-class, regex-tests-punct-character-class,
41453         regex-tests-space-character-class,
41454         regex-tests-unibyte-character-class,
41455         regex-tests-upper-character-class, regex-tests-word-character-class,
41456         regex-tests-xdigit-character-class): …new tests.
41458 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41460         Don’t allocate char-table’s extra slots in regexp-out-charset
41462         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
41463         'case-table as charmap char-table’s property.  The function has nothing
41464         to do with casing and in addition using 'case-table causes unnecessary
41465         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
41467 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41469         Remove dead loop iterations in regex.c
41471         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
41472         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
41473         for byte8 characters.  This means that
41475                 c = RE_CHAR_TO_MULTIBYTE (ch);
41476                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
41478         is equivalent to:
41480                 c = c;
41481                 if (! false && re_iswctype (c, cc))
41483         for 0 ⪬ c < 0x80, and
41485                 c = BYTE8_TO_CHAR (c);
41486                 if (! true && re_iswctype (c, cc))
41488         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
41489         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
41491         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
41492         dead iterations and unnecessary macro calls.
41494 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41496         Replace decimalnump with alphanumericp
41498         decimalnump was used in regex.c only in ISALNUM macro which ored it with
41499         alphabeticp.  Because both of those functions require Unicode general
41500         category lookup, this resulted in unnecessary lookups (if alphabeticp
41501         return false decimalp had to perform another lookup).  Drop decimalnump
41502         in favor of alphanumericp which combines decimelnump with alphabeticp.
41504         * src/character.c (decimalnump): Remove in favor of…
41505         (alphanumericp): …new function.
41507         * src/regex.c (ISALNUM): Use alphanumericp.
41509 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41511         Remove inaccurate comment in regex.c
41513         * src/regex.c (regex_compile): Remove comment indicating that wctype of
41514         some character classes may be negative.  All wctypes are in fact
41515         non-negative.
41517 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41519         STRING_CHAR does not unify characters; update documentation
41521         * src/character.h (STRING_CHAR): Update doc.
41522         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
41523         the function to use BYTE_POS_ADDR instead of open-coding it.
41525 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
41527         Add tests for ring.el
41529         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
41531 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
41533         New file test/src/marker-tests.el
41535 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
41537         Port flexible array members to GCC + valgrind
41539         These changes are needed to conform to the C standard's rule for
41540         allocating structs containing flexible array members.  C11 says
41541         that malloc (offsetof (struct s, m) + n) does not suffice to
41542         allocate a struct with an n-byte tail; instead, malloc’s arg
41543         should be rounded up to the nearest multiple of alignof (struct s).
41544         Although this is arguably a defect in C11, gcc -O2 + valgrind
41545         sometimes complains when this rule is violated, and when debugging
41546         it’s better to keep valgrind happy.
41547         For details please see the thread containing the message at:
41548         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
41549         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
41550         Include flexmember.h.
41551         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
41552         (register_namespace_alias):
41553         * src/alloc.c (SDATA_SIZE, allocate_string_data):
41554         * src/image.c (xpm_cache_color, imagemagick_create_cache):
41555         * src/process.c (Fmake_network_process):
41556         Use FLEXSIZEOF instead of offsetof and addition.
41557         * src/alloc.c (SDATA_SIZE, vector_alignment):
41558         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
41559         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
41560         Remove, as alloc.c can now calculate this on its own.
41562 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
41564         Update from gnulib
41566         This incorporates:
41567         2016-09-07 flexmember: new macro FLEXALIGNOF
41568         2016-09-07 flexmember: port better to GCC + valgrind
41569         2016-08-18 Port modules to use getprogname explicitly
41570         2016-09-02 manywarnings: add -fno-common
41571         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
41572         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
41573         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
41574         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
41575         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
41576         * m4/manywarnings.m4: Copy from gnulib.
41577         * lib/flexmember.h: New file, from gnulib.
41578         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41580 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
41582         Don't --load directories
41584         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
41585         of --load when it refers to a normal file, since `load' doesn't handle
41586         directories (Bug #16406).
41588 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
41590         Avoid error in icalendar--read-element
41592         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
41593         stack overflow by not using regex to extract values from calendar
41594         events. (Bug#24315)
41596 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
41598         Fix back-white <-> black-white typo
41600         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
41602 2016-09-07  Alan Third  <alan@idiocy.org>
41604         Fix cursor at bottom left of rectangle (bug#24364)
41606         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
41607         require rectangle--point-crutches to be set.
41609 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
41611         Fix documentation of convert-standard-filename on MS-Windows
41613         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
41615         * etc/NEWS: Suggest a way for mirroring slashes where previously
41616         'convert-standard-filename' was used.
41618 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41620         Use DEV_TTY more consistently
41622         * src/conf_post.h (DEV_TTY): Move from here ...
41623         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
41624         to be visible everywhere.  Make it a constant.
41625         * src/keyboard.c (handle_interrupt, Fset_quit_char):
41626         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
41628 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
41630         Avoid assertion violations when using marker positions
41632         * src/intervals.c (set_point_from_marker): If MARKER comes from
41633         another buffer, recalculate its byte position before using it to
41634         set point.
41635         * src/marker.c (set_marker_internal): If POSITION is a marker from
41636         another buffer, recalculate its byte position before using it.
41637         (Bug#24368)
41639 2016-09-06  Alan Mackenzie  <acm@muc.de>
41641         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
41643 2016-09-06  Alan Mackenzie  <acm@muc.de>
41645         New options for handling of literals in c-syntactic-re-search-forward
41647         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
41648         be given the values `before-literal' and `after-literal', so that when a
41649         search fails, and the `bound' is inside a literal, point is left respectively
41650         before or after that literal.
41652 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
41654         Avoid assertion violations when scrolling narrowed buffer
41656         * src/window.c (window_scroll_pixel_based):
41657         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
41658         start outside the accessible portion of the buffer.  This avoids
41659         assertion violations when some Lisp narrows the buffer to less
41660         than the current window, and then attempts to scroll the buffer.
41662 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
41664         Treat SIGINT correctly in GUI sessions on MS-Windows
41666         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
41667         supported by MS runtime.
41668         * src/term.c (DEV_TTY): Move from here ...
41669         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
41670         for WINDOWSNT and for the rest.
41671         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
41672         a literal "/dev/tty".
41674         * etc/NEWS: Mention the behavior change.
41676 2016-09-04  Alan Third  <alan@idiocy.org>
41678         Fix synthetic bold on macOS retina displays
41680         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
41681         factor by the OS window backing scale factor.
41683 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
41685         image-dired: Report when a necessary executable is not found
41687         See discussion on:
41688         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
41689         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
41690         (image-dired-cmd-create-thumbnail-program)
41691         (image-dired-cmd-create-temp-image-program)
41692         (image-dired-cmd-rotate-thumbnail-program)
41693         (image-dired-cmd-write-exif-data-program)
41694         (image-dired-cmd-read-exif-data-program):
41695         Use executable-find to set the default value of this option.
41696         (image-dired-cmd-rotate-original-program): Idem.
41697         Search for program 'convert' if 'jpegtran' is not available.
41698         (image-dired-cmd-rotate-original-options):
41699         Set the default value consistent with the executable in
41700         image-dired-cmd-rotate-original-program.
41701         (image-dired-create-thumb, image-dired-display-image)
41702         (image-dired-rotate-thumbnail, image-dired-rotate-original)
41703         (image-dired-set-exif-data, image-dired-get-exif-data):
41704         Throw and error when the executable used in the function is missing.
41705         (image-dired-next-line, image-dired-previous-line):
41706         Use 'forward-line'.
41708 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
41710         image-type-from-file-name: Perform a case insensitive match
41712         Fix Bug#24317
41713         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
41714         to a non-nil value to force a case insensitive match.
41715         * lisp/image-dired.el (image-dired-rotate-original):
41716         Use image-type (Bug#24317).
41717         (image-dired-get-exif-file-name): Idem.
41718         Set 'no-exif-data-found' and 'data' in same setq call.
41719         Use file-attribute-modification-time.
41721 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
41723         image-increase-size: Fix non-interactive calls
41725         * lisp/image.el (image-increase-size, image-decrease-size):
41726         Compute a floating point division.
41727         Problem reported in:
41728         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
41730 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
41732         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
41734         Passing the prefix argument as the 3rd argument to 'call-interactively'
41735         causes the prefix argument to be interpreted as events, which is not
41736         only wrong, but also causes a type error, as 'current-prefix-arg' can
41737         never be a vector as 'call-interactively' expects.  'call-interactively'
41738         automatically passes its prefix argument to the called function, so just
41739         do that, eliminating faulty behavior.
41741         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
41742         (checkdoc-ispell-current-buffer):
41743         (checkdoc-ispell-interactive):
41744         (checkdoc-ispell-message-text):
41745         (checkdoc-ispell-start):
41746         (checkdoc-ispell-continue):
41747         (checkdoc-ispell-comments):
41748         (checkdoc-ispell-defun):
41749         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
41750         vector; merely allow it to propagate forward to the interactive call.
41752 2016-09-03  Richard Stallman  <rms@gnu.org>
41754         Fix mail-combine-fields
41756         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
41757         avoid losing our place in the search loop.
41759 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
41761         Check actual contents before promting about changed file
41763         * lisp/userlock.el (userlock--check-content-unchanged)
41764         (userlock--ask-user-about-supersession-threat): New functions.
41765         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
41766         * doc/lispref/buffers.texi (Modification Time): Update doc of
41767         ask-user-about-supersession-threat.
41769 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
41771         Make a reference to fakecygpty in the Tramp manual
41773         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
41774         fakecygpty on the Emacs Wiki.
41775         (Frequently Asked Questions): Fix url.
41777 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41779         Don’t create fd >= FD_SETSIZE
41781         This avoids a potential crash if too many subprocesses (Bug#24325).
41782         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
41783         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
41784         set it to FD_SETSIZE.
41786 2016-09-01  Alan Mackenzie  <acm@muc.de>
41788         Fix c-declaration-limits to return correct limits in all cases.
41790         This function is the guts of c-indent-defun and c-mark-function.
41792         In particular, when c-defun-tactic is nil, return a correct value rather than
41793         always nil, and when it's 'go-outward, go through an intricate algorithm to
41794         determine the requisite narrowing before the "top-level" defuns go to work.
41796         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
41797         to take additional optional parameter LEVEL, saying how many enclosing levels
41798         of decl-block to narrow to.
41799         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
41800         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
41801         lower bound.
41803 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
41805         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
41807 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
41809         Avoid compiler warnings with MinGW64 GCC 6
41811         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
41812         the GCC 6 builtin, to avoid warnings.  For more details, see
41813         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
41815 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41817         Fix over-substitution of quotes on error
41819         Problem reported by Tino Calancha in:
41820         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
41821         * src/print.c (print_error_message):
41822         Substitute quotes in errmsg only when gotten from a property.
41824 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41826         Improve testing of etags
41828         * test/manual/etags/y-src/cccp.c:
41829         * test/manual/etags/y-src/parse.c: Correct #line directives to
41830         allow testing invalidate_nodes in etags.c.
41831         * test/manual/etags/ETAGS.good_1:
41832         * test/manual/etags/ETAGS.good_2:
41833         * test/manual/etags/ETAGS.good_3:
41834         * test/manual/etags/ETAGS.good_4:
41835         * test/manual/etags/ETAGS.good_5:
41836         * test/manual/etags/ETAGS.good_6:
41837         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
41839 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41841         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
41843 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41845         Fix etags problems found by static checking
41847         * lib-src/etags.c (invalidate_nodes, put_entry):
41848         Remove now-unnecessary tests for null pointers.  Simplify.
41849         (put_entries): Rewrite to avoid GCC 6.2 warning about
41850         dereferencing null pointer.
41852 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41854         Fix a thinko in etags.c
41856         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
41857         a null pointer.
41859 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41861         Avoid recursive calls in etags
41863         * lib-src/etags.c (stack_entry): New struct.
41864         (push_node, pop_node, put_entry): New functions.
41865         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
41866         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
41868 2016-08-31  Leo Liu  <sdl.web@gmail.com>
41870         Add 451 to url-http-codes
41872         * lisp/url/url-http.el (url-http-codes): Add 451.
41874 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
41876         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
41878 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41880         Minor doc quoting fixes
41882         * doc/misc/htmlfontify.texi (Interactive):
41883         * lisp/htmlfontify.el (htmlfontify-buffer):
41884         Spell out character names, for clarity.  The old doc string
41885         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
41886         stands for a form feed character; this was confusing.
41887         * lisp/electric.el (electric-quote-mode):
41888         * src/doc.c (syms_of_doc):
41889         * src/editfns.c (Fformat_message):
41890         Remove no-longer-necessary ‘\=’s in doc strings.
41892 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41894         Update from gnulib
41896         This incorporates:
41897         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
41898         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
41899         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
41900         2016-08-29 intprops.h: use __typeof__ with GCC 7
41901         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
41902         2016-08-24 intprops: fix paren typo on old platforms
41903         2016-08-24 intprops: port to OpenVMS
41904         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
41906 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
41908         Fix rules for \phi and \varphi which were reversed
41910         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
41911           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
41912           were reversed which is not true (anymore?).
41914 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
41916         Fix prettification of \phi, \varphi, and \varsigma
41918         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
41919           prettification of \phi, \varphi, and \varsigma.
41921         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
41922         \varsigma was commented out with a FIXME that it was reversed with
41923         \sigma which it was not.
41925 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
41927         Use normal double quotes in TeX / LaTeX comments
41929         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
41930           default to inserting a normal double quote (") instead of TeX-style
41931           open (``) or close ('') quote marks.
41933         * etc/NEWS (TeX mode): Note the change.
41935         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
41937         See this thread for discussion:
41939           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
41940           From: Karl Fogel <kfogel {_AT_} red-bean.com>
41941           To: Emacs Development <emacs-devel {_AT_} gnu.org>
41942           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
41943           Date: Mon, 29 Aug 2016 14:44:12 -0500
41944           Message-ID: <87twe3icmr.fsf@red-bean.com>
41946 2016-08-30  Alan Mackenzie  <acm@muc.de>
41948         Correctly analyze C++ list initialization in member init areas.
41950         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
41951         superfluous call to c-backward-syntactic-ws.
41952         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
41953         reports encountering the Java "new" keyword.  Add, as an alternative, a check
41954         that we can move back over member initializations, and handle this as finding
41955         a brace block.
41956         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
41957         new calling convention of c-looking-at-or-maybe-in-bracelist.
41958         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
41959         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
41960         using the extra info from the value of that function to generate a
41961         topmost-into-cont element where needed (in Java).
41963         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
41964         calling convention of c-looking-at-or-maybe-in-bracelist.
41966         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
41967         convention of c-looking-at-or-maybe-in-bracelist.
41969 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
41971         Use `file-attribute-*' in Tramp
41973         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
41974         (tramp-compat-file-attribute-link-number)
41975         (tramp-compat-file-attribute-user-id)
41976         (tramp-compat-file-attribute-group-id)
41977         (tramp-compat-file-attribute-modification-time)
41978         (tramp-compat-file-attribute-size)
41979         (tramp-compat-file-attribute-modes): New defaliases.
41981         * lisp/net/tramp.el (tramp-handle-file-modes)
41982         (tramp-handle-file-newer-than-file-p)
41983         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
41984         (tramp-handle-set-visited-file-modtime)
41985         (tramp-handle-verify-visited-file-modtime)
41986         (tramp-get-local-gid, tramp-check-cached-permissions):
41987         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
41988         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
41989         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
41990         (tramp-gvfs-handle-file-directory-p)
41991         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
41992         (tramp-gvfs-get-remote-gid):
41993         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
41994         (tramp-sh-handle-set-visited-file-modtime)
41995         (tramp-sh-handle-verify-visited-file-modtime)
41996         (tramp-sh-handle-file-newer-than-file-p)
41997         (tramp-sh-handle-file-ownership-preserved-p)
41998         (tramp-do-copy-or-rename-file)
41999         (tramp-do-copy-or-rename-file-via-buffer)
42000         (tramp-do-copy-or-rename-file-directly)
42001         (tramp-do-copy-or-rename-file-out-of-band)
42002         (tramp-sh-handle-file-local-copy)
42003         (tramp-sh-handle-write-region):
42004         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
42005         (tramp-smb-handle-copy-file)
42006         (tramp-smb-handle-file-directory-p)
42007         (tramp-smb-handle-file-writable-p)
42008         (tramp-smb-handle-insert-directory): Use them.
42010 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
42012         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
42014         * lisp/window.el (pop-to-buffer): Don't assume that
42015         `display-buffer' has supplied a window (Bug#24332).
42016         Rename BUFFER argument to BUFFER-OR-NAME.
42017         * doc/lispref/windows.texi (Switching Buffers): Fix
42018         `pop-to-buffer' documentation.
42020 2016-08-29  Alan Third  <alan@idiocy.org>
42022         Clarify docstrings
42024         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
42026 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
42028         Use `process-live-p' in Tramp
42030         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
42032         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
42033         (tramp-handle-file-notify-valid-p)
42034         (tramp-action-process-alive, tramp-action-out-of-band)
42035         (tramp-wait-for-regexp):
42036         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
42037         (tramp-adb-maybe-open-connection):
42038         * lisp/net/tramp-cache.el (tramp-get-connection-property):
42039         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
42040         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
42041         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
42042         * lisp/net/tramp-sh.el (tramp-process-sentinel)
42043         (tramp-sh-handle-file-notify-add-watch)
42044         (tramp-maybe-open-connection):
42045         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
42046         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
42047         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
42048         (tramp-smb-get-cifs-capabilities)
42049         (tramp-smb-get-stat-capability)
42050         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
42051         (tramp-smb-kill-winexe-function): Use it.
42053 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
42055         Avoid crashes for invalid value of key modifiers
42057         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
42058         is not a symbol, don't try to recognize it.  See
42059         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
42060         for the details.
42062         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
42063         test, for testing the above fix.
42065 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
42067         Make dired-do-compress understand files with spaces in them
42069         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
42070           and `literal' flag to `replace-regexp-in-string'.
42072 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42074         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
42076 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
42078         Add tests for dom.el
42080         * test/lisp/dom-tests.el: New file with tests for dom.el.
42082 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42084         Memory allocator alignment fixes
42086         These changes remove some assumptions about heap allocator
42087         alignment that may not be true on unusual platforms.
42088         * src/alloc.c (POWER_OF_2): New macro.
42089         (ROUNDUP): Use it.
42090         (BLOCK_ALIGN): Verify that it is a power of 2.
42091         (aligned_alloc): Check that alignment passed to posix_memalign
42092         satisfies POSIX restrictions.
42093         (lisp_align_malloc): Check that size passed to aligned_alloc
42094         satisfies C11 restrictions.
42095         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
42096         code has not been verified to work with other GCALIGNMENT values
42097         and the ice is thin here.  On GNU/Linux, malloc can return a value
42098         that is a multiple of 8 but not 16, even though __alignof__
42099         (max_align_t) is 16.  See:
42100         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
42101         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
42102         is a multiple of alignment, since C11 says the behavior is
42103         undefined otherwise.
42104         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
42105         general this macro is restricted to signed types.  Remove
42106         assertion that the result is a multiple of GCALIGNMENT, as that
42107         need not be true.
42109 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42111         Pacify --enable-gcc-warnings for lib-src/pop.c
42113         * lib-src/pop.c: Include c-ctype.h.
42114         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
42115         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
42116         of the (undeclared) isupper and tolower.  Fix pointer constness
42117         problem.
42119 2016-08-27  Alan Mackenzie  <acm@muc.de>
42121         Handle the C++ "identifiers" "final" and "override" correctly.
42123         This fixes bug #24319, allowing destructors affixed with these identifiers to
42124         be correctly fontified.
42126         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
42127         After reaching the "end" of a type expression, skip over any occurrences of
42128         c-type-decl-suffix-ws-ids-key.
42130         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
42131         "final" from the C++ value.
42132         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
42133         constants/variables for "final" and "override".
42135 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
42137         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
42139 2016-08-27  Alan Mackenzie  <acm@muc.de>
42141         Handle template delimiters in C++ member init constructs.
42143         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
42144         handling for "<....>"s.
42146 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
42148         Fix etags test suite messed up by merges from emacs-25
42150         * test/manual/etags/go-src/test.go:
42151         * test/manual/etags/go-src/test1.go: Move from test/etags/.
42152         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
42153         * test/etags/: Directory deleted.
42155 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
42157         Add "supports" to list of CSS at-rules
42159         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
42161 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
42163         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
42165         (Bug#22478)
42167 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42169         Rename option to shell-command-dont-erase-buffer
42171         Suggested by Clément Pit--Claudel in:
42172         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
42173         * lisp/simple.el (shell-command-dont-erase-buffer):
42174         (shell-command--save-pos-or-erase):
42175         (shell-command--set-point-after-cmd):
42176         (shell-command-on-region):
42177         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
42178         * etc/NEWS (Changes in Emacs 25.2):
42179         Rename from shell-command-not-erase-buffer.
42181 2016-08-25  Alan Mackenzie  <acm@muc.de>
42183         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
42185         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
42186         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
42187         the loop won't hang at a "terminating" paren of a different type (due to the
42188         c-syntactic-re-search-forward at the end of the loop stopping at such
42189         characters).
42191 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42193         call-shell-region: New defun
42195         Suggested by Stefan Monnier in Bug#22679.
42196         * lisp/subr.el (call-shell-region): New defun; execute a command
42197         in an inferior shell with the buffer region as input.
42198         * lisp/simple.el (shell-command-on-region): Use it.
42199         * lisp/gnus/message.el (message-do-fcc): Idem.
42200         * doc/lispref/processes.texi: Document call-shell-region in the manual.
42201         ;* etc/NEWS: Add entry for this new function.
42203 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42205         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
42207         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
42208         argument in `pop-to-buffer' call (Bug#24306).
42210 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42212         Some fixes around `delete-other-frames' and `next-frame'
42214         * src/frame.c (Fdelete_frame): Clarify doc-string.
42215         * lisp/frame.el (delete-other-frames): Delete other frames on
42216         FRAME's terminal instead of the current terminal.  Delete
42217         non-minibuffer-only surrogate frames too.  See
42218         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
42219         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
42220         docs of `delete-frame' and `frame-live-p'.  Add entry for
42221         `delete-other-frames'.
42222         (Finding All Frames): Fix doc of `next-frame'.
42224 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42226         Find message.el thumbnail toggling
42228         * lisp/gnus/message.el (message-toggle-image-thumbnails):
42229         Don't infloop when toggling thumbnails.
42231 2016-08-24  Alan Third  <alan@idiocy.org>
42233         Fix macOS 12 deprecation notices
42235         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
42236         new constant names.
42237         * src/nsmenu.m: Replace old constant names with
42238         new.
42239         (fillWithWidgetValue): Remove calls to deprecated
42240         setMenuChangedMessagesEnabled.
42241         * src/nsterm.m: Replace old constant names with new.
42242         * src/nsfns.m: Replace old constant names with new.
42244 2016-08-23  Alan Mackenzie  <acm@muc.de>
42246         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
42248         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
42249         directly preceding the colon, and handle it.
42251 2016-08-23  Noah Friedman  <friedman@splode.com>
42253         * src/xfns.c (Fx_change_window_property): Modify previous change.
42254         Instead of forcing format to 8 for strings, check that the length of
42255         the string is appropriate for whatever format given.
42256         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
42257         try its outer window.  This mimics the behavior of Fx_window_property.
42259 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
42261         Fix invalid image rotations
42263         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
42265 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
42267         call-process instead of call-process-region with empty region
42269         * lisp/calc/calc-graph.el (calc-graph-show-tty):
42270         Use call-process and shell-command-switch.
42272 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42274         Merge from origin/emacs-25
42276         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
42277         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
42278         73cbb81 ; ChangeLog spelling fixes
42279         9b99772 Some assorted documentation clarifications
42280         37d4723 Improve commentary in src/character.h
42281         5ccd593 ; Fix typo in /etc/NEWS
42282         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
42283         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
42284         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42285         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42287         # Conflicts:
42288         #       ChangeLog.2
42289         #       lisp/ldefs-boot.el
42291 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42293         Merge from origin/emacs-25
42295         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42297 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42299         Merge from origin/emacs-25
42301         8c2946e In NEWS describe new handling of window margins (Bug#24193)
42302         0cee66c Facultatively ignore margins when splitting and resizing wind...
42303         8d68147 Document CATEGORY arg to modify-category-entry
42304         8342e74 Document char-script-table's effect on word motion
42305         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
42306         0695235 Fix docstring of eval-expression
42307         98b01dd Clarify when 'cursor' property is in effect
42308         75f1882 Convert the remaining strings to unibyte before concatenating
42309         d2db5dd Fix bug with handling the bidi cache
42310         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
42311         f785ff4 Clarify documentation of before/after-change-functions
42312         3c9cb57 Document use of vectors in keymaps
42314         # Conflicts:
42315         #       src/xdisp.c
42317 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42319         Handle remote file names in gdb-mi.el
42321         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
42322         If `default-directory' is remote, full file names are adapted
42323         accordingly.  (Bug#23608)
42325 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
42327         Display mini-window resized even when there are several frames
42329         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
42330         t to avoid resizing back the mini-window as result of considering
42331         the title of other frames.  (Bug#24285)
42332         (redisplay_window): No need to bind inhibit-redisplay here.
42334 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42336         Explain gdb warning on remote hosts
42338         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
42339         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
42341 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42343         Fix (next-frame nil t) crash (Bug#24281)
42345         * src/frame.c (candidate_frame): Check minibuf argument before
42346         comparing it to zero (Bug#24281).
42348 2016-08-21  Noah Friedman  <friedman@splode.com>
42350         Fix interpretation of signed vs unsigned values when retrieving X
42351         Window properties, and make sure the full value is returned when not
42352         parsed.
42354         New subr to export type and format information about X Window
42355         properties to lisp.
42357         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
42358         unsigned unless its actual type is INTEGER.
42359         CARDINALs, in particular, are unsigned.
42361         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
42362         any provided format and force to 8.
42363         (x_window_property_intern): If returning value as a string, the length
42364         is actual_size times the actual format of each element, which is not
42365         necessarily bytes.
42366         (Fx_window_property_attributes): New subr.
42367         (syms_of_xfns): Declare it.
42369 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
42371         Improve error when installing non-package dirs
42373         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
42374         when no file with package info is found (Bug #19851).
42376 2016-08-21  Alan Mackenzie  <acm@muc.de>
42378         Adapt CC Mode for C++11 uniform initialization.
42380         For fontification, introduce a new "context", 'non-decl, to be used for
42381         brace
42382         lists; also a new value for the property 'c-type, called 'c-not-decl.
42384         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
42385         an ostensible symbol we're going to move over isn't a keyword.
42386         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
42387         (hence a declaration), and an unmatched open paren, perform
42388         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
42389         Whilst checking a type decl expression, check for and handle C++11's "copy
42390         initialization", where we have <type>(<constant>).  Recognize
42391         <id><id>(... (where the paren is unclosed) as a declaration.
42392         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
42393         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
42394         valid tokens other than "=".  Recognize a bracelist when preceded by a
42395         template declaration.
42396         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
42397         much inline code.
42398         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
42399         initialization starting "({" as an in-expression block, by checking for
42400         semicolons, as opposed to commas, separating elements inside it.
42401         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
42402         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
42403         preceding "=".  (CASE B-5): New code to recognize new construct "return {
42404         ...}".
42405         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
42406         "return", or "{" preceded by <type><identifier> as a bracelist.
42408         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
42409         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
42410         search for "," rather than calling c-forward-decl-or-cast-1.
42412         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
42413         constants/variables to recognize "return".
42414         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
42415         which, when preceding an identifier followed by a brace, signify the brace as
42416         a bracelist.
42418         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
42419         the start of a "local" declaration, move out from an enclosing brace when
42420         that is the start of a brace list.
42422 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42424         Update from gnulib
42426         This incorporates:
42427         2016-08-17 maint: preprocessor changes to support z/OS
42428         2016-08-17 string: rename to avoid '__string'
42429         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
42430         Copy from gnulib.
42432 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42434         Minor text-quoting-style fixes
42436         * src/charset.c (check_iso_charset_parameter):
42437         * src/frame.c (store_frame_param):
42438         * src/xselect.c (x_fill_property_data):
42439         Use grave accent for left single quote in ‘error’ format strings.
42441 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42443         Fix semantics of 'minibuffer' frame parameter
42445         The 'minibuffer' frame parameter is now t for a normal frame
42446         (a frame with a root window plus a minibuffer window) and the
42447         frame's minibuffer window for a minibuffer-less frame (a frame
42448         whose minibuffer window is on another frame).  See also:
42449         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
42451         * src/frame.c (make_frame, make_frame_without_minibuffer)
42452         (make_minibuffer_frame): When assigning the frame's minibuffer
42453         window also store corresponding 'minibuffer' frame parameter.
42454         (store_frame_param): Move the 'minibuffer' parameter checks to
42455         the beginning so we can silently override the value before it
42456         gets stored in the parameter alist.  Fix error handling.
42457         (Fframe_parameters): Return value of 'minibuffer' parameter
42458         unmodified.
42460         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
42461         the parameter is a minibuffer window, save (minibuffer . nil)
42462         instead of (minibuffer . t).
42463         (frameset--reuse-frame): To find a non-minibuffer-only frame
42464         look out for a frame whose 'minibuffer' parameter is t instead
42465         of that frame's minibuffer window.
42466         (frameset-minibufferless-first-p): To find a minibuffer-less
42467         frame look out for a frame whose 'minibuffer' parameter is a
42468         window instead of nil.
42470 2016-08-20  Alan Mackenzie  <acm@muc.de>
42472         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
42474 2016-08-20  Alan Mackenzie  <acm@muc.de>
42476         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
42478         Check the limit both at macro expansion time (for a hard coded nil) and at run
42479         time in the generated code.  Tidy up these macros generally.
42481         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
42482         not identically nil before generating a narrow-to-region call.  Generate code
42483         to check `limit' is not nil at run time.
42484         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
42485         narrow-to-region, instead calling c-safe-scan-lists directly.
42486         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
42487         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
42488         to determine the destination position instead of generating a redundant
42489         narrow-to-region.
42491 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
42493         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
42495         The docstring referenced a non-existant parameter, as well as a
42496         parameter that has been renamed since the docstring was written. Fix
42497         both errors, fixing (Bug#24182).
42499 2016-08-19  Alan Mackenzie  <acm@muc.de>
42501         Amend hack-local-variables-prop-line not always to return any mode on line 1.
42503         This fixes bug #24266.
42505         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
42506         parameter mode-only to handle-mode.  Change its meaning, such that it being
42507         set to a value non-nil and not t removes any mode parameter from the result
42508         list.  Leave its values nil and t with the same meanings they had.
42509         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
42511 2016-08-19  Daiki Ueno  <ueno@gnu.org>
42513         Improve doc string of epg-*-program
42515         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
42516         Suggest to use Customize when setting.  (Bug#24229)
42518 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
42520         Add tests for Bug#24264
42522         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
42523         Add test for Bug#24264.
42524         (cl-seq-fill-test, cl-seq-replace-test)
42525         (cl-seq-remove-test ,cl-seq-delete-test)
42526         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
42527         (cl-seq-nsubstitute-test, cl-seq-position-test)
42528         (cl-seq-count-test, cl-seq-mismatch-test)
42529         (cl-seq-search-test, cl-seq-test-bug24264):
42530         Add tests for all functions in the file; test all keywords.
42532 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
42534         Fix bug in --eval reply message from server
42536         * lisp/server.el (server-reply-print): Fix check for truncated quote
42537         sequence at end of message. Problem reported in:
42538         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
42540 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
42542         Add tests for 'substitute-command-keys'
42544         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
42545         tests.
42547 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
42549         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
42551         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
42552         `completing-read'.
42554 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
42556         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
42558         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
42559         without any files being extracted.
42561 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
42563         Don't let window start override window point in `window-state-put' (Bug#24240)
42565         * lisp/window.el (window--state-put-2): Set 'noforce argument
42566         when restoring a window's start position.  This avoids that the
42567         effect of `set-window-point' gets overidden by that of
42568         `set-window-start' (Bug#24240).
42570 2016-08-17  Alan Mackenzie  <acm@muc.de>
42572         Fontify constructs following "::" in C++ argument lists correctly - part 2.
42574         This fixes bug #24246.
42576         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
42577         `save-match-data' around the new `looking-at' introduced by the previous CC
42578         Mode patch this evening.
42580 2016-08-17  Alan Mackenzie  <acm@muc.de>
42582         Fontify constructs following "::" in C++ argument lists correctly.
42584         This fixes bug #24246.
42586         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
42587         match" loop, test a found string for a match with c-opt-identifier-concat-key
42588         (e.g. with "::").
42590 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42592         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
42594 2016-08-17  K. Handa  <handa@gnu.org>
42596         Fix hz encoding and decoding (bug#23814)
42598         * lisp/language/china-util.el (decode-hz-region): Pay
42599         attention to "~~}" sequence at the end of Chinese character
42600         range.
42601         (hz-category-table): New variable.
42602         (encode-hz-region): Convert non-encodable characters to
42603         \u... and \U...  Preserve ESC on ecoding.  Put
42604         `chinese-gb2312' `charset' text property in advance to force
42605         iso-2022-encoding to select chinese-gb2312 designation.
42607 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
42609         file-attribute-collect: New defun
42611         * lisp/files.el (file-attribute-collect):
42612         Return a sublist of the attributes returned by 'file-attributes'.
42613         Suggested by Ted Zlatanov in:
42615         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
42617 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
42619         Fix Bug#24203
42621         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
42623 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
42625         Improve doc string.
42627         * src/fileio.c (Ffile_name_as_directory): Be precise about the
42628         conditions under which a slash is appended.
42630 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42632         Omit substitute-command-keys code no longer needed
42634         * src/doc.c (Fsubstitute_command_keys):
42635         Remove duplicate initializations.
42637 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
42639         Allow not erase output buffer in shell commands
42641         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
42642         not erasing the output buffer between shell commands.  Defaults to nil.
42643         (shell-command-on-region): Use it.
42644         (shell-command--save-pos-or-erase): New defun; store a buffer position
42645         if 'shell-command-not-erase-buffer' is non-nil; otherwise
42646         erase the output buffer of the shell command.
42647         (shell-command, shell-command-on-region): Use it.
42648         (shell-command--set-point-after-cmd): New defun;
42649         if 'shell-command-not-erase-buffer' is non-nil, set point
42650         in the output buffer to the position in 'shell-command-saved-pos'.
42651         (shell-command-sentinel, shell-command-on-region): Use it.
42652         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
42653         Document this feature in the manual.
42654         See discussion on:
42655         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
42657 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
42659         Rearrange Tramp manual title page
42661         * doc/misc/tramp.texi: Move @insertcopying out of the title
42662         page.  Do not use @ifnottex anymore.
42664 2016-08-15  Glenn Morris  <rgm@gnu.org>
42666         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
42668 2016-08-15  Alan Mackenzie  <acm@muc.de>
42670         Fix minor bug in c-syntactic-re-search-forward.
42672         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
42673         non-nil, and the first internal search attempt fails, point wrongly ends up at
42674         BOUND, rather than just before the next closing paren.
42676         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
42677         the above situation.
42679 2016-08-15  Alan Mackenzie  <acm@muc.de>
42681         Handle C++11 lambda functions.
42683         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
42684         handle C++ lambda functions.
42685         (c-looking-at-c++-lambda-capture-list): New function.
42687         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
42688         parameter list of a lambda function and set `context' and
42689         `c-restricted-<>-arglists' suitably for it.
42690         (c-font-lock-c++-lambda-captures): New function.
42691         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
42693         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
42694         New language constants/variables.
42695         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
42697         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
42698         function capture list.
42700 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
42702         Fix stale cache problem in Tramp
42704         * lisp/net/tramp-cache.el (tramp-get-connection-property):
42705         Check, that a process as key is still running.  (Bug#22478)
42707 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42709         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
42711 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
42713         Another fix for scroll-conservatively and overlay strings
42715         * src/xdisp.c (redisplay_window): Handle also the case where the
42716         calculated window-start point has an overlay string touching it.
42717         (Bug#24179)
42719 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
42721         Improve handling of defcustoms in tramp
42723         * doc/misc/tramp.texi: Protect all multi-line examples by
42724         @group ... @end group.  Use proper `custom-set-variables'
42725         examples.  Use consequently @option for user options.  Remove
42726         superfluous @cindex and @vindex entries.
42727         (Top): Remove reference to outdated mail archives.
42728         (Configuration): Tune references.
42729         (Default Method): Make `tramp-default-method' and
42730         `tramp-default-method-alist' a @defopt.
42731         (Default User): Make `tramp-default-user' and
42732         `tramp-default-user-alist' a @defopt.
42733         (Default Host): Make `tramp-default-host' and
42734         `tramp-default-host-alist' a @defopt.
42736         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
42737         (tramp-backup-directory-alist, tramp-auto-save-directory)
42738         (tramp-encoding-shell, tramp-encoding-command-switch)
42739         (tramp-encoding-command-interactive, tramp-default-method)
42740         (tramp-default-method-alist, tramp-default-user)
42741         (tramp-default-user-alist, tramp-default-host)
42742         (tramp-default-host-alist, tramp-default-proxies-alist)
42743         (tramp-save-ad-hoc-proxies)
42744         (tramp-restricted-shell-hosts-alist)
42745         (tramp-local-end-of-line, tramp-rsh-end-of-line)
42746         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
42747         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
42748         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
42749         (tramp-terminal-prompt-regexp)
42750         (tramp-operation-not-permitted-regexp)
42751         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
42752         (tramp-syntax, tramp-chunksize)
42753         (tramp-process-connection-type, tramp-connection-timeout)
42754         (tramp-connection-min-time-diff)
42755         (tramp-completion-reread-directory-timeout):
42756         * lisp/net/tramp-adb.el (tramp-adb-program)
42757         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
42758         * lisp/net/tramp-cache.el (tramp-connection-properties)
42759         (tramp-persistency-file-name):
42760         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
42761         (tramp-gvfs-zeroconf-domain)
42762         (tramp-bluez-discover-devices-timeout):
42763         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
42764         (tramp-copy-size-limit, tramp-terminal-type)
42765         (tramp-histfile-override)
42766         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
42767         (tramp-remote-process-environment, tramp-sh-extra-args):
42768         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
42769         (tramp-smb-conf, tramp-smb-winexe-program)
42770         (tramp-smb-winexe-shell-command)
42771         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
42773 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
42775         Minor text-quoting-style fixes
42777         * lisp/cus-edit.el (custom-buffer-create-internal):
42778         * lisp/recentf.el (recentf-edit-list):
42779         Follow text-quoting-style preference when quoting in UI strings.
42780         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
42781         quotes are substituted for, as this is no longer true.
42783 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
42785         Fix substitute-command-keys unibyte, alloc bugs
42787         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
42788         unibyte strings and with buffer allocation.  Make strings
42789         multibyte, to avoid problems with unibyte strings that are not
42790         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
42791         O(N), not O(N**2).  Avoid going past the end of the input string
42792         when given invalid input.  Avoid some unlikely problems in
42793         accessing the wrong storage after a GC.
42795 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
42797         Fix "C-u" when an input method is active
42799         * lisp/international/quail.el (quail-input-method): Defer to the
42800         input method iff 'overriding-terminal-local-map' is
42801         'universal-argument-map' and the given key has no binding there.
42802         (Bug#22958)
42804 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
42806         Fix docs on `display-buffer-below-selected' (Bug#24213)
42808         * lisp/window.el (display-buffer-below-selected): Fix
42809         doc-string (Bug#24213).
42810         * doc/lispref/windows.texi (Display Action Functions): Fix
42811         documentation of `display-buffer-below-selected'.
42813 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
42815         cl-fill: Rename arguments to cl-seq and cl-item
42817         * lisp/emacs-lisp/cl-seq.el (cl-fill):
42818         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
42820 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
42822         Fix display.texi typo
42824         * doc/lispref/display.texi (Faces): Fix typo.
42826 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42828         Fix process leak with make-network-process
42830         This problem was introduced by the recent async changes (Bug#23808).
42831         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
42832         so that it follows the start_process_unwind unwind-protect.
42833         Set pid to -1 while the process is being created.
42834         (start_process_unwind): Omit unnecessary emacs_abort test.
42835         (connect_network_socket): Simplify use of counts.  Unwind
42836         bind_polling_period a bit earlier, so that a remove_process
42837         unwind-protect can be added when needed; this is the heart of
42838         the fix.  Undo the unwind-protect just before returning.
42840 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
42842         Avoid annoying re-scroll when buffer has many overlay strings
42844         * src/xdisp.c (redisplay_window): Add better recovery from a
42845         situation where window-start is on buffer position which has a
42846         before-string that includes newlines, with the result that point
42847         is not visible in the window, because the display engine starts
42848         displaying with the before-string.  (Bug#24179)
42850 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42852         Omit unnecessary process initialization
42854         * src/process.c (make_process, Fmake_process)
42855         (Fmake_pipe_process, Fmake_serial_process)
42856         (Fmake_network_process, server_accept_connection):
42857         Omit unnecessary initialization of already-cleared storage.
42859 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
42861         cl-delete-duplicates: Parse :if to have cl-if bound
42863         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
42864         We need also to parse keyword :if, otherwise cl-if
42865         is unbound.
42866         This reverts commit:
42867         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
42869 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
42871         cl-delete-duplicates: do not parse :if keyword
42873         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
42874         Parse only the supported keywords.
42876 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
42878         Add compatibility layer for `temporary-file-directory-function'
42880         * lisp/net/tramp-compat.el
42881         (tramp-compat-temporary-file-directory-function): New defalias.
42883         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
42885         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
42886         Skip for older Emacs versions.
42888 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
42890         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
42892         (Bug#24059)
42894 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
42896         Handle nil cell value in compiled printer functions.
42898         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
42899         ses-range `!' modifier.
42900         (More on cell printing): Fix this that the fallback printer is
42901         `ses-prin1', not "%S".  That makes a difference for any cell value for
42902         which "%S" would insert a backslash characters.
42904         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
42905         --- contrary to emacs-25 branches ses-call-printer does not handle
42906         prior to calling a function printer.  Not doing this would still work
42907         because the compiled function would throw and error and SES would in
42908         the end resort to the ses-prin1 fallback, however this way would not
42909         be in line with the raison d'être of compiling printer which is speed.
42911 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
42913         Turn on lexical-binding in json.el
42915         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
42916         showed 12-31% reduction in execution time.
42917         * lisp/json.el: Turn on lexical-binding.
42919 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
42921         Nudge WoMan toward lexical-binding
42923         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
42924         Use cl-pushnew instead of add-to-list.
42925         (woman-justify-list): Rename to woman-justify-styles.
42926         (woman-justify-styles): New array.
42927         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
42928         (woman-cached-data): Use cl-pushnew instead of add-to-list.
42930 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
42932         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
42934         Here follows the logs from the two commits which I apply to master.
42936         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
42937         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
42938         Date:   Fri Jul 29 13:44:14 2016 +0200
42940         Fix ses-delete-blanks to delete only blanks + documentation.
42942         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
42943         'ses-range' modifier as an alternative to 'ses+'.
42944         (Advanced Features): Add a refernce to node 'Nonrelocatable
42945         references' concerning function 'ses-rename-cell'.
42946         (Standard formula functions): Mention the '!' 'ses-range'
42947         modifier as an alternative to 'ses-delete-blanks'.
42948         (More on cell printing): Fix fallback printer
42949         definition.  Minor editorial formatting changes.
42950         (Nonrelocatable references): Document the use of
42951         'ses-rename-cell' as a better way to make cell reference
42952         non-relocatable.
42953         (The data area): Document the presence of local printer
42954         definitions in the data area.
42956         * lisp/ses.el (ses-delete-blanks): Do not remove
42957         *error*.  Any error in an argument should propagate into the
42958         using formula rather than being silently hidden !
42960         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
42961         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
42962         Date:   Thu Jul 28 19:49:37 2016 +0200
42964         Fix local printer set to left aligned string formatter.
42966         * lisp/ses.el (ses-local-printer-compile): Add missing case
42967         for left-aligned string formatter.
42969 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42971         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
42973 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42975         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
42977         Change the code which detects and circumvents the case where one of the
42978         variables used in λ-lifting is shadowed, so that it also works when the
42979         shadowing comes before the λ-lifted function (bug#24171).
42981         (cconv--remap-llv): New function, extracted from cconv-convert.
42982         (cconv-convert): Use it, but differently for `let' and `let*'.
42984 2016-08-09  Alan Mackenzie  <acm@muc.de>
42986         CC Mode: check for and fix missing call to before_change_functions.
42988         Fixes bug #24094 and bug #24074.
42990         This can happen with `revert-buffer' or sometimes `find-file', when the file
42991         is already in a buffer, but the file has been changed outside of Emacs.
42993         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
42994         invocation of c-before-change-functions, we assume the changed region is the
42995         entire buffer, and call c-before-change explicitly before proceding.
42997 2016-08-09  Alan Mackenzie  <acm@muc.de>
42999         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
43001         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
43003 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
43005         Support $ENV in Tramp
43007         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
43009         * etc/NEWS: Explain the "ENV" environment variable in
43010         `tramp-remote-process-environment'.
43012         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
43013         (tramp-open-shell): Read $ENV value from
43014         `tramp-remote-process-environment'.
43015         (tramp-open-connection-setup-interactive-shell): Set values in
43016         proper order.
43018 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43020         Simplify exec_byte_code via moving decls etc.
43022         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
43023         initializers into decls, and by omitting some unnecessary
43024         changes to ‘top’.  This improves performance a bit on x86-64,
43025         as it happens.
43027 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43029         Remove interpreter’s byte stack
43031         This improves performance overall on my benchmark on x86-64,
43032         since the interpreted program-counter resides in a machine
43033         register rather than in RAM.
43034         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
43035         is no longer a byte stack to decode.
43036         * src/bytecode.c (struct byte_stack, byte_stack_list)
43037         (relocate_byte_stack): Remove.  All uses removed.
43038         (FETCH): Simplify now that pc is now local (typically, in a
43039         register) and no longer needs to be relocated.
43040         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
43041         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
43042         (exec_byte_code): Allocate a copy of the function’s bytecode,
43043         so that there is no problem if GC moves it.
43044         * src/lisp.h (struct handler): Remove byte_stack member.
43045         All uses removed.
43046         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
43047         SAFE_ALLOCA_LISP.
43048         (SAFE_ALLOCA_LISP): Use it.
43050 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43052         Remove arbitrary limit on bytecode maxdepth
43054         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
43055         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
43057         pipeline is fuller.
43059 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43061         Tune bytecode quitting
43063         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
43064         check only once every 256 times.  This should be good enough, and
43065         improves performance significantly on x86-64 as branch-prediction
43066         typically assumes checking will not be done so the instruction
43067         pipeline stays fuller.
43068         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
43069         directly, as BYTE_CODE_QUIT does that now.
43071 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43073         Simplify BYTE_CODE_SAFE checking
43075         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
43076         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
43077         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
43078         expressions instead of #if expressions when this is easy.
43079         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
43080         as it is no longer needed.
43081         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
43082         Simplify stack-overflow checking when BYTE_CODE_SAFE.
43084 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43086         Get BYTE_CODE_METER working again
43088         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
43089         noticed.  Perhaps we should remove it?
43090         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
43091         Use *aref_addr instead of AREF, since it needs to be an lvalue.
43093 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
43095         Fix cursor position under scroll-conservatively and overlay strings
43097         * src/xdisp.c (try_scrolling): Handle the case where the last
43098         visible screen line of a window displays a before- or after-string
43099         that takes up the whole screen line, and therefore there's no
43100         place to display the cursor, even though the window does seem to
43101         include the position of point.  (Bug#24179)
43103 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
43105         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
43107 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
43109         Tune interpretation of integer arglist descriptor
43111         * src/bytecode.c (exec_byte_code):
43112         Simplify and tune when INTEGERP (args_template).
43114 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
43116         Fix debugging of string-match-p errors
43118         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
43119         that debugger code that needs to do regexp match won't break
43120         (Bug #23949, Bug #24166, Bug#16294).
43122 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
43124         Add `make-nearby-temp-file' and `temporary-file-directory'
43126         * doc/lispref/files.texi (Unique File Names):
43127         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
43128         (Magic File Names): Mention `make-nearby-temp-file' and
43129         `temporary-file-directory'.
43131         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
43132         `temporary-file-directory'.
43134         * lisp/files.el (mounted-file-systems): New defcustom.
43135         (temporary-file-directory, make-nearby-temp-file): New defuns.
43136         (normal-backup-enable-predicate): Fix docstring.
43138         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
43139         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
43140         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
43141         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
43142         <make-nearby-temp-file, temporary-file-directory>: Add handler.
43144         * lisp/net/tramp.el (tramp-file-name-for-operation):
43145         Add `make-nearby-temp-file' and `temporary-file-directory'.
43146         (tramp-get-remote-tmpdir): Remove compatibility code.
43147         (tramp-handle-temporary-file-directory)
43148         (tramp-handle-make-nearby-temp-file): New defuns.
43150         * lisp/org/ob-core.el (org-babel-local-file-name):
43151         * lisp/progmodes/gud.el (gud-common-init):
43152         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
43154         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
43156         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
43157         Check `tramp--test-enabled'.
43158         (tramp-test18-file-attributes): Add tests for
43159         `file-ownership-preserved-p'.
43160         (tramp-test27-start-file-process, tramp-test28-shell-command):
43161         Reduce timeouts in `accept-process-output'.
43162         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
43163         (tramp-test29-environment-variables): Remove additional sleep calls.
43164         (tramp-test32-make-nearby-temp-file): New test.
43165         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
43166         (tramp-test33-special-characters)
43167         (tramp-test33-special-characters-with-stat)
43168         (tramp-test33-special-characters-with-perl)
43169         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
43170         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43171         (tramp-test34-utf8-with-ls)
43172         (tramp-test35-asynchronous-requests)
43173         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
43174         (tramp--test-ftp-p): Simplify check.
43175         (tramp--test-sh-p): New defun.
43176         (tramp-test20-file-modes, tramp-test22-file-times)
43177         (tramp-test26-process-file, tramp-test27-start-file-process)
43178         (tramp-test28-shell-command)
43179         (tramp-test29-environment-variables)
43180         (tramp-test30-vc-registered)
43181         (tramp-test33-special-characters-with-stat)
43182         (tramp-test33-special-characters-with-perl)
43183         (tramp-test33-special-characters-with-ls)
43184         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43185         (tramp-test34-utf8-with-ls)
43186         (tramp-test35-asynchronous-requests): Use it.
43188 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
43190         Add missing dcstrings in Tramp, remove chec for obsolee methods
43192         * lisp/net/tramp.el (tramp-progress-reporter-update)
43193         (tramp-unload-file-name-handlers, tramp-get-local-uid)
43194         (tramp-get-local-gid, tramp-get-local-locale):
43195         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
43196         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
43197         * lisp/net/tramp-compat.el (tramp-compat-funcall):
43198         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
43199         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
43200         * lisp/net/tramp-sh.el (tramp-get-remote-path)
43201         (tramp-get-remote-locale, tramp-get-ls-command)
43202         (tramp-get-ls-command-with-dired)
43203         (tramp-get-ls-command-with-quoting-style)
43204         (tramp-get-ls-command-with-w-option)
43205         (tramp-get-test-nt-command, tramp-get-file-exists-command)
43206         (tramp-get-remote-ln, tramp-get-remote-perl)
43207         (tramp-get-remote-stat, tramp-get-remote-readlink)
43208         (tramp-get-remote-trash, tramp-get-remote-touch)
43209         (tramp-get-remote-gvfs-monitor-dir)
43210         (tramp-get-remote-inotifywait, tramp-get-remote-id)
43211         (tramp-get-remote-uid-with-id)
43212         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
43213         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
43214         (tramp-get-remote-gid-with-id)
43215         (tramp-get-remote-gid-with-perl)
43216         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
43217         (tramp-get-env-with-u-option): Add missing docstrings.
43219         * lisp/net/tramp.el (tramp-obsolete-methods)
43220         (tramp-warned-obsolete-methods): Remove.
43221         (tramp-find-method): Do not check for obsolete methods any longer.
43223 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43225         Make sh-mode always use p-s-lookup-properties
43227         This lets functions which rely on syntax-propertize for parsing
43228         work correctly even before font lock has a chance to run.
43230         * lisp/progmodes/sh-script.el (sh-set-shell): Set
43231         parse-sexp-lookup-properties unconditionally (Bug #4920).
43233 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43235         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
43237         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
43238         list when showing its (non-existent) arguments (Bug #18587).
43240 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43242         Don't delete selection after indent-rigidly
43244         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
43245         function to `set-transient-map', this prevents `delete-selection-mode'
43246         from deleting the text that was just indented (Bug #20408).
43248 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43250         Fix byte-compile of interactive closures
43252         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
43253         bindings after docstring and `interactive' form, if any (Bug #24122).
43255 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43257         Error if --eval arg has text beyond 1 expression
43259         * lisp/startup.el (command-line-1): If --eval argument has more data
43260         than constitutes a single Lisp expression, signal an error (Bug #23159).
43262 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43264         Fix quoted lambda warning from lexical-let
43266         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
43267         with `function', not `quote' (Bug #11357).
43269 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43271         Make emerge always use shell-quote-argument
43273         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
43274         (emerge-protect-metachars): Delete.
43275         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
43276         `emerge-protect-metachars' with `shell-quote-argument' so that shell
43277         quoting is done the same on all system types (Bug #6136).  Also shell
43278         quote `emerge-diff-program' and `emerge-diff3-program'.
43280 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43282         Fix 'dired-diff' when backup file is in another directory
43284         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
43285         the default for FILE is computed, especially when backup files
43286         are involved.  Support backup files in another directory.
43287         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
43289 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43291         Fix the 'T' command in Dired with non_ASCII file names
43293         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
43294         to correctly encode file names passed to the invoked PROGRAM.
43295         (Bug#24162)
43297 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
43299         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
43301 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43303         Merge from origin/emacs-25
43305         d841a03 ; Spelling fix
43306         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
43307         d35d398 Update to the AUTHORS file for Bob Weiner
43308         4d2f4df Revert "Fix local printer set to left aligned string formatter."
43309         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
43310         f7ceb8e Revert "Fix English."
43311         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
43312         aa4271a Fix doc string of 'minibuffer-message-timeout'
43313         b275cc7 Fix English.
43314         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
43315         272391f profiler: document prefix arg for tree expansion
43316         442cc39 Clarify usage of eshell-visual-options
43317         b443c3c Fix comment in files-in-below-directory
43318         8a38e94 Fix local printer set to left aligned string formatter.
43319         0f0b191 ; Fix typos in NEWS
43320         6bdf687 ; * etc/NEWS: Remove temporary marks
43322 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43324         Merge from origin/emacs-25
43326         d08afa1 * etc/AUTHORS: Update the AUTHORS file
43327         2668500 ;; * ChangeLog.2: ChangeLog update.
43328         7acfaea ; ChangeLog fixes
43329         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
43330         9ab52f6 * admin/authors.el: Additions.
43331         0e646c7 Warn about Cairo-related problems
43332         bc4c07f Don't let completion break `declare' handling
43333         66f95e0 Adjust match data before calling after-change-funs
43334         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
43335         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
43337         # Conflicts:
43338         #       ChangeLog.2
43339         #       src/lisp.h
43341 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43343         Merge from origin/emacs-25
43345         9a41cd1 ; Fix typo
43346         9356fe2 Expand FIXME near definition of fboundp
43347         219b39f kill-rectangle should mention killed-rectangle
43348         59fa4c3 Avoid assertion violations in nhexl-mode
43350 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43352         Merge from origin/emacs-25
43354         9ba51ed Document buffer-swap-text+save-excursion interaction
43355         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
43356         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
43357         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
43358         05ba7a0 Add test for handling environment variables in Tramp
43359         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
43360         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
43361         90f2169 ; Spelling fixes
43362         069fc05 Improve documentation of search functions
43363         0a0144a Delete environment variables in Tramp when needed
43364         f624671 Add "New in Emacs 25" section to the FAQ
43365         658daf9 Fix 'vertical-motion' in non-interactive sessions
43366         686b520 Fix memory leak in imagemagick-types
43367         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
43368         1b2d6a6 Clarify docstring of find-feature-regexp
43369         aac62a6 Add details to cl-lib defining macros' docstrings
43370         d6aa4da Clarify doc string of 'save-buffer'
43371         03bcf11 Un-confuse doc string of 'string-collate-equalp'
43372         c53135b Clarify documentation of 'mouse-on-link-p'
43374         # Conflicts:
43375         #       lisp/emacs-lisp/eieio-core.el
43377 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43379         Merge from origin/emacs-25
43381         6f285d9 Amend last addition to etc/PROBLEMS
43382         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
43384 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43386         Merge from origin/emacs-25
43388         d4c6774 Fix missing point information in undo
43389         3a9d629 Avoid crashes when buffer modification hooks clobber match data
43390         178b2f5 Note combine-and-quote-strings doesn't shell quote
43391         dec7567 Explain when package-initialize isn't called
43392         113d1e2 Fix escaping in sh-indent-after-continuation docstr
43393         80e2044 ; * etc/NEWS: Improve previous change.
43394         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
43395         38f4b8e Clarify the documentation of back-references in replacements
43397 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43399         Merge from origin/emacs-25
43401         850ba44 Clarify lexical binding with symbol args behavior
43402         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
43403         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
43404         21110af Avoid assertion violations when rendering some fonts
43405         6192b6c Document more details of package activation
43406         272ddc6 Fixup warning message regarding HOME a bit more
43407         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
43408         d41f7ff Fix input method "probhat" for Bengali
43409         c150a64 ; Fix typo in commit before last
43410         ebf0472 Add to elisp-completion-at-point's docstring
43411         fd9fad0 Give more helpful warning about setting HOME
43412         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
43414         # Conflicts:
43415         #       lisp/term.el
43417 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43419         Merge from origin/emacs-25
43421         26d4da0 New input method "probhat" for Bengali
43422         4f445bf ; Spelling fix
43423         f403f03 ; Fix typo
43425 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43427         Spelling and minor grammar fixes
43429         * test/file-organization.org: Rename from test/file-organisation.org.
43431 2016-08-04  Alan Mackenzie  <acm@muc.de>
43433         Widen in certain low level CC Mode functions.  This fixes bug #24148.
43435         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
43436         (c-state-full-pp-to-literal): Widen around the functionality.
43437         (c-parse-ps-state-below): Correct the order of save-excursion and
43438         save-restriction.
43440 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
43442         Fix Bug#24149
43444         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
43445         overriding-terminal-local-map.  (Bug#24149)
43447 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43449         Update from gnulib
43451         This incorporates:
43452         2016-07-03 mktime: call tzset as per POSIX
43453         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
43454         Copy from gnulib.
43456 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43458         Fix GnuTLS includes
43460         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
43461         a second time; although it doesn’t hurt, it’s not needed.
43462         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
43463         as it may not be available.  Problem reported by Glenn Morris in:
43464         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
43466 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
43468         Fix accessing regex-resources in out-of-tree test runs in regex-tests
43470         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
43471         fix regex-tests failing when run from the source tree (i.e. via make)
43472         by hard-coding path to regex-resources directory relative to the test
43473         directory.
43475         This fixed runs from the tree but broke the test when run using other
43476         methods.
43478         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
43480         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
43481         storing path to the regex-resources directory.
43482         (regex-tests-generic-line): Use aforementioned variable.
43484 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43486         Simplify by assuming GnuTLS 2.12.2 or later
43488         * src/gnutls.c (gnutls_certificate_details):
43489         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
43491 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43493         Port to systems lacking GNUTLS_NONBLOCK
43495         Problem reported by Colin Baxter in:
43496         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
43497         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
43499 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43501         Fix non-blocking GnuTLS with slow connection
43503         Although the problem is reported for OS X (Bug#23982), it seems to
43504         be possible on other POSIXish platforms.
43505         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
43506         New function.
43507         (emacs_gnutls_handshake) [!WINDOWSNT]:
43508         Use it as the errno function, if non-blocking.
43509         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
43511 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43513         Require GnuTLS 2.12.2 or later
43515         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
43516         instead of merely 2.6.6 or later (Bug#23982#20).
43517         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
43518         [WINDOWSNT]: Don’t bother with gnutls_check_version or
43519         gnutls_transport_set_lowat, as they are no longer needed now that
43520         we require gnutls 2.12.2 or later.
43522 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43524         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
43526         * src/window.h (sanitize_window_sizes): Adjust prototype.
43527         * src/frame.c (adjust_frame_size): Adjust calls.
43529 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43531         Fix (mapcar F S) crash when F alters S’s length
43533         * src/fns.c (mapcar1): Return number of elements computed,
43534         which can be less than LENI if the function alters the list.
43535         All callers changed.  (Bug#24118)
43537 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43539         Port window changes to --enable-gcc-warnings
43541         * src/window.c (sanitize_window_sizes): Return void.
43542         This pacifies GCC, and no caller uses the return value anyway.
43544 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43546         * src/window.c: Fix bootstrap failure due to window.el changes
43548         (sanitize_window_sizes): Adjust to new calling convention of
43549         window--sanitize-window-sizes and only call it if defined.
43550         (Fwindow__sanitize_window_sizes): Remove.
43551         (syms_of_window): Don't defsubr it.
43553 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
43555         Fix Bug#23883
43557         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
43558         Call `process-actions' with adapted position.  The connection
43559         buffer might have been cleaned up already.  (Bug#23883)
43561 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43563         Port regex changes to strict ISO C
43565         * src/regex.c (regex_compile): Redo casts.
43567 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43569         * lisp/window.el: Use lexical-binding
43571         (window--min-size-ignore-p): Remove unused arg `horizontal'.
43572         (window--sanitize-window-sizes): Remove unused arg `frame'.
43573         (window-edges): Remove unused vars left-off and right-off.
43574         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
43575         Avoid extraneous setq and do a bit of CSE.
43576         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
43577         and `toolbar-extra-height'.
43578         (window-adjust-process-window-size): Remove unused arg `process'.
43580 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43582         Fix unused lexical variable
43584         This fixes the following warning:
43586             In toplevel form:
43587             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
43589         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
43590         variable.
43592 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43594         Remove unused STREQ macro
43596         This fixes the following compilation warning:
43598             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
43599              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
43600              ^
43602         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
43603         in a [4538a5e: Refactor regex character class parsing in [:name:]]
43604         commit but was mistakenly left out.
43606 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43608         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
43609         load-history format
43611         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
43612         (cl-generic-define-method, cl--generic-describe): Use it.
43613         (cl--generic-search-method): Adjust for new format.
43615         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
43616         * test/lisp/progmodes/elisp-mode-tests.el:
43617         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
43618         internal format.
43620 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43622         Hardcode regex syntax to remove dead code handling different syntax
43624         Emacs only ever uses its own regex syntax so support for other syntaxes
43625         is never used.  Hardcode the syntax so that the compilar can detect such
43626         dead code and remove it from compiled code.
43628         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
43629         specified.  Handle this separatelly with a function argument (replacing
43630         now unnecessary syntax argument).
43632         With this patchset, size of Emacs binary on x86_64 machine is reduced by
43633         around 60 kB:
43635                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
43636                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
43638         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
43639         (re_compile_pattern): Replace syntax with posix_backtracking argument.
43641         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
43642         (regex_compile): #ifdef emacs, replace syntax argument with
43643         posix_backtracking which is now used instead of testing for
43644         RE_NO_POSIX_BACKTRACKING syntax.
43645         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
43646         (re_compile_pattern): Replace syntax with posix_backtracking argument.
43648         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
43649         instead of syntax to re_compile_pattern.
43651 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43653         Get rid of re_set_whitespace_regexp
43655         * src/regex.h (re_set_whitespace_regexp): Delete.
43656         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
43658         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
43659         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
43660         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
43661         unless building Emacs.
43662         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
43664         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
43665         pass the regex as argument to re_compile_pattern instead.
43667 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43669         Get rid of re_set_syntax
43671         Instead of using a global variable for storing regex syntax, pass it
43672         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
43673         ‘#ifdef emacs’).
43675         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
43676         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
43678         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
43679         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
43681         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
43682         instead pass syntax to re_compile_pattern directly.
43684 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43686         Remove dead opcodes in regex bytecode
43688         There is no way to specify before_dot and after_dot opcodes in a regex
43689         so code handling those ends up being dead.  Remove it.
43691         * src/regex.c (print_partial_compiled_pattern, regex_compile,
43692         analyze_first, re_match_2_internal): Remove handling and references to
43693         before_dot and after_dot opcodes.
43695 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43697         Refactor regex character class parsing in [:name:]
43699         re_wctype function is used in three separate places and in all of
43700         those places almost exact code extracting the name from [:name:]
43701         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
43702         string, so the name of the character class is copied to a temporary
43703         buffer.
43705         The code duplication and unnecessary memory copying can be avoided by
43706         pushing the responsibility of parsing the whole [:name:] sequence to
43707         the function.
43709         Furthermore, since now the function has access to the length of the
43710         character class name (since it’s doing the parsing), it can take
43711         advantage of that information in skipping some string comparisons and
43712         using a constant-length memcmp instead of strcmp which needs to take
43713         care of NUL bytes.
43715         * src/regex.c (re_wctype): Delete function.  Replace it with:
43716         (re_wctype_parse): New function which parses a whole [:name:] string
43717         and returns a RECC_* constant or -1 if the string is not of [:name:]
43718         format.
43719         (regex_compile): Use re_wctype_parse.
43720         * src/syntax.c (skip_chars): Use re_wctype_parse.
43722 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43724         Split regex glibc test cases into separet tests
43726         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
43727         tests cases.
43728         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
43729         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
43730         from ‘regex-tests’.
43732 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43734         Don’t (require 'cl)
43736         * test/src/regex-tests.el: Don’t (require 'cl).
43737         (regex-tests-PCRE): s/loop/cl-loop/
43739 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43741         Fix reading of regex-resources in regex-tests
43743         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
43744         ‘buffer-file-name’ does not work when running the test from command
43745         line, i.e. via make, which results in (wrong-type-argument stringp nil)
43746         failures.  Replace it with hard-coded path.
43747         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
43748         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
43749         the ‘regex-resources’ path component so the tests don’t need to specify
43750         it explicitly.
43752 2016-08-02  Dima Kogan  <dima@secretsauce.net>
43754         Added driver for the regex tests
43756         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
43757         cases.
43759         [mina86@mina86.com: merged test with existing file]
43761 2016-08-02  Dima Kogan  <dima@secretsauce.net>
43763         New regex tests imported from glibc 2.21
43765         * test/src/regex-resources/BOOST.tests:
43766         * test/src/regex-resources/PCRE.tests:
43767         * test/src/regex-resources/PTESTS:
43768         * test/src/regex-resources/TESTS:
43769         New test data files
43771         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
43773 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43775         Fix use-after-close in connect_network_socket
43777         * src/process.c (connect_network_socket):
43778         Reverse sense of previous fix.  Problem reported by Ken Brown in:
43779         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
43781 2016-08-01  Glenn Morris  <rgm@gnu.org>
43783         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
43784         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
43786 2016-07-31  Stefan Merten  <stefan@merten-home.de>
43788         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
43790         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
43791         representing reStructuredText section header concepts.
43792         (rst-mode-map, rst-new-preferred-hdr)
43793         (rst-update-section, rst-classify-adornment)
43794         (rst-ttl-at-point, rst-all-ttls-cache)
43795         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
43796         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
43797         (rst-all-ttls-with-level, rst-get-previous-hdr)
43798         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
43799         (rst-adjust-section, rst-promote-region)
43800         (rst-display-hdr-hierarchy, rst-straighten-sections)
43801         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
43802         (rst-toc-insert-node, rst-toc-node, rst-toc)
43803         (rst-forward-section, rst-adornment-level)
43804         (rst-font-lock-handle-adornment-pre-match-form)
43805         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
43806         using classes.
43807         (rst-compare-adornments, rst-get-adornment-match): Remove
43808         functions now in classes.
43809         (rst-re-alist-def, rst-toc-mode)
43810         (rst-font-lock-extend-region-extend): Minor improvements.
43811         (rst-mode, rst-compile): Use `setq-local'.
43812         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
43813         (rst-official-version, rst-official-cvs-rev)
43814         (rst-package-emacs-version-alist): Maintain version tags.
43816 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
43818         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
43820         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
43821         bar width (Bug#24107).  Reindent.
43822         * src/xfns.c (frame_geometry): Fix calculation of tool bar
43823         width on non-GTK builds.
43825 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
43827         Fix region display while dragging mouse
43829         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
43830         buffer of the drag event, to allow mark to be set and the region
43831         be shown as we drag the mouse.  (Bug#24030)
43833 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
43835         Copy just non-empty strings to kill-ring
43837         * lisp/dired.el (dired-copy-filename-as-kill):
43838         Do not change the kill ring when the string is empty (Bug#24103).
43840 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
43842         Avoid warnings about undo list while decoding
43844         * src/coding.c (coding_restore_undo_list): New function.
43845         (decode_coding_gap, decode_coding_object): Temporarily set the
43846         buffer's undo list to t, to avoid warnings when decoding changes
43847         the buffer many times, e.g. due to post-read-conversion.  Use
43848         coding_restore_undo_list to make sure the undo list is restored.
43849         (Bug#23813)
43851 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
43853         profiler: Add mouse-1 binding for tree expansion
43855         (profiler-report-mode-map): Add mouse-1 binding for
43856         profiler-report-toggle-entry (Bug #13455).
43858 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43860         Enable addition of local printers from a mode hook.
43862         * doc/misc/ses.texi (Printer functions): Split the node into 5
43863         sub-nodes + add some extra documentation.
43864         (Various kinds of printer functions): Make an itemization to
43865         disintguish better the 3 types of printers, give an example of
43866         lambda printer definition.
43867         (Standard printer functions): Add documentation for ses-prin1
43868         printer function.
43869         (Local printer functions): Add documentation for creating
43870         local printers programmatically from a hook.
43871         (Writing a lambda printer function): Add documentation about
43872         anti-stackoverflow precautions to take when you call the
43873         standard printer functions from inside a local printer.
43875         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
43876         among standard printer function, and update docstring
43877         accordingly.
43878         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
43879         of prin1-to-string.
43880         (ses-define-local-printer): Add definition to arguments so
43881         that a local printer can be defined programmatically from a
43882         mode hook.  Make docstring more substantial.  Use completing
43883         read for local printer name input.  Plus some minor
43884         optimization.
43885         (ses-define-if-new-local-printer): New defsubst.
43886         (ses-center, ses-center-span, ses-dashfill)
43887         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
43888         as an optional argument to superseed column printer/default
43889         spreadsheet printer.
43890         (ses-prin1): New defun.
43892 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
43894         Prompt to save gnus-cloud-method.
43896         Since `gnus-cloud-method' is a defcustom, when it's set, we should
43897         prompt the user to save it, so the customization is not lost on
43898         restart.
43900         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
43901         Prompt to save the customization of `gnus-cloud-method'.
43903 2016-07-27  Ken Brown  <kbrown@cornell.edu>
43905         Fix dired-test-bug22694
43907         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
43908         "bug22694" directory, if it exists, before running the test.  It
43909         might be left over from a previous aborted run of the test.
43911 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
43913         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
43915         * src/regex.c (mutually_exclusive_p): Fix how whether character is
43916         unibyte is tested when calling execute_charset function.  This bug has
43917         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
43918         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
43919         Reinstitute it.
43921 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
43923         Remove hook when disabling ibuffer-auto-mode
43925         * lisp/ibuf-ext.el (ibuffer-auto-mode):
43926         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
43928 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
43930         * lisp/subr.el (cancel-change-group): Reset cell in case of error
43932         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
43933         to make sure we properly undo the temporary change even in case of error.
43935 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
43937         Avoid segfaults in compute_motion
43939         * src/indent.c (compute_motion): Don't turn on and don't use the
43940         width cache unless the buffer's width-table is non-nil.  This
43941         avoids segfaults because code that uses the width cache assumes
43942         the width-table exists.  (Bug#24064)
43944 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
43946         Do not sharp-quote lambdas
43948         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
43950 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
43952         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
43953         'base64-gzip encoding.
43955 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
43957         Add warning to format-alist docs.
43959         */doc/lispref/files.texi (format-alist) Change documentation for
43960         format-alist to warn against file modifications when formatting, which
43961         leads to incorrect results.  (Bug#5440)
43963         Changes suggested by Eli.
43965 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
43967         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
43968         Preserve key bindings that shr adds (bug#23964).
43970 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
43972         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
43974         The regex engine tries to optimize Kleene star by avoiding backtracking
43975         when it can detect that star’s operand cannot match what follows it in
43976         the pattern.
43978         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
43979         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
43980         the entire string.  Literal digit one still present in the pattern will
43981         however not match the remaining empty string.
43983         Normally, backtracking would be performed trying a shorter match for the
43984         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
43985         engine knows whatever would be put back into the string cannot possibly
43986         match literal digit one so no backtracking will be attempted.
43988         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
43989         if the character class CC does not match character X.  In the above
43990         example, this holds because digit one is not in alpha character class.
43992         This test is performed by mutually_exclusive_p function but it did not
43993         check class bits of a charset opcode.  This resulted in an assumption
43994         that character classes do not match multibyte characters.  For example,
43995         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
43997         This, in turn, led to the aforementioned Kleene star optimization being
43998         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
43999         match ‘☠’ but doesn’t as can be tested by executing
44000             (string-match-p "[[:graph:]]*☠" "☠")
44001         which should return 0 but instead yields nil.
44003         This issue affects any class witch matches multibyte characters, i.e.
44004         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
44005         fail to match ‘X’.
44007         * src/regex.c (executing_charset): A new function for executing the
44008         charset and charset_not opcodes.  It performs check on the character
44009         taking into consideration existing bitmap, range table and class bits.
44010         It also advances the pointer in the regex bytecode past the parsed
44011         opcode.
44012         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
44013         Code now included in executing_charset.
44014         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
44015         of executing_charset function.
44017         * test/src/regex-tests.el: New file with tests for the character class
44018         matching.
44020 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
44022         Fix auto-reverting image-mode buffer (bug#21598)
44024         When auto-reverting an image buffer, `image-mode' is not called since
44025         `revert-buffer' is called with `preserve-modes' set to non-nil.
44027         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
44028         image display property for the current buffer before updating it.
44030 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44032         ‘signal’ no longer returns
44034         Although for decades ‘signal’ has been documented to not return,
44035         a corner case in the Lisp debugger causes ‘signal’ to return.
44036         Remove the corner case and adjust Emacs internals accordingly.
44037         An alternative would be to document the corner case, but this
44038         would complicate the Lisp API unnecessarily.  (Bug#24047)
44039         * src/eval.c (signal_or_quit): New function, with most of the
44040         old contents of Fsignal.
44041         (quit): New function, which uses signal_or_quit and which
44042         might return.  All keyboard-based callers of Fsignal (Qquit,
44043         Qnil) changed to use this new function instead.
44044         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
44045         changed.
44046         (xsignal): Move to lisp.h.
44047         * src/lisp.h (xsignal): Now an inline function, as it's now
44048         just an alias for Fsignal.
44050 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44052         Require libgnutls unless --with-gnutls=no
44054         * configure.ac: Report an error if the gnutls library is missing,
44055         unless --with-gnutls=no is specified.
44057 2016-07-23  Alan Mackenzie  <acm@muc.de>
44059         Fontify C++ parameter packs.
44061         This fixes debbugs #23610.
44063         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
44064         c-lang-defconsts/defvars.
44065         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
44067         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
44069 2016-07-23  Alan Mackenzie  <acm@muc.de>
44071         Java Mode: Handle strings as case labels correctly.
44073         This fixes debbugs #23901.
44075         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
44076         Java value.
44078 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
44080         Avoid repeated warnings while restoring desktop
44082         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
44083         when files are being opened during desktop restore.
44085 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
44087         Fix compilation warning in the MinGW build
44089         * nt/inc/ms-w32.h: Include stdint.h.
44090         (_execvp, execve): Provide prototypes.
44092         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
44093         it is now in nt/inc/ms-w32.h.
44094         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
44095         mismatch.
44096         (sys_ctime): Remove, not used.
44098 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
44100         Move read-multiple-choice to subr-x.el
44102         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
44104         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
44105         from subr.el.
44107         * lisp/gnus/message.el (subr-x): Ditto.
44109         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
44111         read-multiple-choice doesn't need to be in the dumped Emacs, so move
44112         it to a less central file.
44114 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44116         Update define-ibuffer-op doc string
44118         * lisp/ibuf-macs.el (define-ibuffer-op):
44119         Mention that BODY is evaluated with 'buf' bound to the actual
44120         marked buffer being processed.
44122 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44124         Update define-ibuffer-op doc string
44126         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
44127         instead of refer the reader to the source code.
44128         Document arg BODY.
44130 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44132         Fix shell-command[-on-region] doc strings
44134         * lisp/simple.el (shell-command, shell-command-on-region):
44135         Drop the sentence saying that the command may delete the buffer
44136         '*Shell Command Output*': the command never delete such
44137         buffer (Bug#23936).
44139 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44141         ;Revert ";Partially revert 2649105a"
44143         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
44145 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44147         ;Partially revert 2649105a
44149         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
44150         setq-local to modify prettify-symbols-compose-predicate.
44152 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
44154         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
44156         (struct byte_stack): Re-add `bottom'.
44157         (exec_byte_code): Initialize it.
44159 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44161         Ibuffer: Use default output buffer for shell commands
44163         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
44164         '*Shell Command Output*', as command 'shell-command-file'.
44166 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44168         Fix failing test
44170         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
44171         Enable Font Lock mode in order to initialize
44172         'char-property-alias-alist' (Bug#23954).
44174 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
44176         Fix use-after-close in connect_network_socket
44178         * src/process.c (connect_network_socket): Don’t use
44179         external_sock_fd after closing it.  Problem found by Coverity Scan.
44181 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
44183         * lisp/net/shr.el (shr-fill-line):
44184         Preserve text properties in folded lines (bug#24034).
44186 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44188         Fix lifetime bug in tzlookup
44190         * src/editfns.c (tzlookup): Fix storage lifetime bug when
44191         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
44193 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
44195         Fix shr.el/image build problem
44197         (Bug#24035)
44199         * lisp/net/shr.el: Require image, since some builds seem to
44200         break without it (bug#24035).
44202 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
44204         Bring the Gnus Cloud package into working order.
44206         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
44208         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
44209         simplify non-file data.
44210         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
44211         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
44212         EPG if that's available, Base64+gzip otherwise.
44213         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
44214         interactive, defaults to enabled.
44215         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
44216         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
44217         "Version".
44218         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
44219         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
44220         storage methods as per gnus-cloud-storage-method.
44221         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
44222         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
44223         entries.
44224         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
44225         file and data handlers.
44226         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
44227         entries.
44228         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
44229         be more careful.
44230         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
44231         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
44232         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
44233         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
44234         (gnus-cloud-prune-old-chunks): Fix indentation.
44235         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
44236         timestamp.
44237         (gnus-cloud-file-new-p): Use it.
44238         (gnus-cloud-upload-all-data): Add interactive convenience function to
44239         upload all data.
44240         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
44241         data separately; refresh Gnus Cloud group after insert.
44242         (gnus-cloud-download-all-data): Add interactive convenience function to
44243         download all data.
44244         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
44245         marker and different storage methods.
44246         (gnus-cloud-host-server-p): New function to check if a server is the
44247         Gnus Cloud host.
44248         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
44249         (gnus-cloud-host-acceptable-method-p): New function so
44250         other code can check if a server method can host the Gnus cloud.
44251         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
44252         (gnus-cloud-method): Make this a defcustom and note how to set it.
44254         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
44255         keybindings under the `~' prefix.
44257         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
44258         (gnus-server-cloud, gnus-server-cloud-host)
44259         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
44260         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
44261         synchronized servers and synchronization host server toggling (`i' and
44262         `I') and visual display.
44263         (gnus-server-toggle-cloud-method-server): Use
44264         gnus-cloud-host-acceptable-method-p.
44265         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
44266         set the gnus-cloud-method. Ask the user if it's OK to upload the data
44267         right now.
44269         * doc/misc/gnus.texi: Document Gnus Cloud package.
44271 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44273         Remove CHECK_FRAME_FONT cruft from bytecode.c
44275         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
44276         Remove some old ‘#if 0’ code.
44278 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44280         Work around GCC bug 54561 in a better way
44282         The new approach is less selective, but also less intrusive on C code.
44283         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
44284         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
44286 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44288         Fix port to glibc 2.24 (pre-release) + ppc64
44290         * src/callproc.c (child_setup): Use emacs_exec_file
44291         so that ASLR is enabled in the child process.
44292         * src/emacs.c: Move some personality details into sys/sysdep.c.
44293         Do not include <sys/personality.h>.
44294         (main): Disable ASLR earlier, so that we don’t chdir twice.
44295         * src/lisp.h (disable_address_randomization): New decl.
44296         * src/sysdep.c (disable_address_randomization)
44297         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
44298         here from emacs.c.
44299         (emacs_exec_file): New function.
44301 2016-07-19  Alan Third  <alan@idiocy.org>
44303         Prevent bar cursor overwriting next glyph (bug#16856)
44305         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
44306         before setting final size.
44308 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
44310         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
44312         * src/insdel.c (adjust_markers_bytepos): New function.
44313         * src/lisp.h (adjust_markers_bytepos): Add prototype.
44314         * src/insdel.c (replace_range, replace_range_2):
44315         * src/editfns.c (Ftranspose_regions): Call
44316         adjust_markers_bytepos.  (Bug#5131)
44318         * test/src/editfns-tests.el (transpose-test-reverse-word)
44319         (transpose-test-get-byte-positions): New functions.
44320         (transpose-ascii-regions-test)
44321         (transpose-nonascii-regions-test-1)
44322         (transpose-nonascii-regions-test-2): New tests.
44324 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
44326         Make gif animation work (bug#24004)
44328         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
44329         an animation is too big (bug#24004).
44331 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
44333         * lisp/simple.el (undo-amalgamate-change-group): New function
44335         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
44336         (viper-set-complex-command-for-undo): Save current state with
44337         prepare-change-group.
44338         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
44339         (viper-buffer-undo-list-mark): Remove.
44341 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
44343         Keep w32 environment settings internal only
44345         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
44346         set_initial_environment call.  This prevents Emacs' modifications to the
44347         environment from contaminating Vprocess_environment and
44348         Vinitial_environment (Bug #10980).
44349         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
44350         environment in as a fallback to Vprocess_environment.
44351         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
44353 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
44355         Better documentation for cl-reduce (bug#24014)
44357         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
44359 2016-07-17  Alan Third  <alan@idiocy.org>
44361         Remove separate pool for popup dialogs (bug#23856)
44363         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
44364         autorelease pool and Popdown_data struct.
44366 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
44368         Use eldoc-documentation-functions
44370         * lisp/hexl.el (hexl-mode):
44371         * lisp/ielm.el (inferior-emacs-lisp-mode):
44372         * lisp/progmodes/cfengine.el (cfengine3-mode):
44373         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
44374         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
44375         * lisp/progmodes/python.el (python-mode):
44376         * lisp/simple.el (read--expression): Add buffer-locally to hook
44377         eldoc-documentation-functions.
44379 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44381         Optimize ucs-normalize.el compilation
44383         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
44384         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
44385         regexp-opt.
44386         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
44387         temp buffer for the whole loop.
44389 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44391         Add tests for ucs-normalize.el
44393         Some tests are marked as expected to fail.
44395         * test/lisp/international/ucs-normalize-tests.el: New tests.
44396         * admin/unidata/NormalizationTest.txt: Add data for tests.
44397         * admin/unidata/README: Add URL for NormalizationTest.txt.
44398         * admin/notes/unicode: Add note about running (and updating the data
44399         for) the new tests.  Remove note about normalization being unsupported.
44401 2016-07-16  Alan Third  <alan@idiocy.org>
44403         Fix cursor display (bug#23993)
44405         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
44407 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44409         Stop worrying about Alliant in bytecode.c
44411         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
44413 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44415         Remove BYTE_MAINTAIN_TOP
44417         It is no longer needed now that we assume GC_MARK_STACK ==
44418         GC_MAKE_GCPROS_NOOPS.
44419         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
44420         All uses removed, and code simplified accordingly.
44421         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
44422         are always no-ops now.  All uses removed.
44423         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
44424         since it is now equivalent.
44426 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44428         Remove now-inaccurate bytecode comments
44430         * src/bytecode.c: Remove comments that are no longer accurate.
44431         Most of these are actually old ChangeLog entries.
44433 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44435         Port to glibc 2.24 (pre-release) + ppc64
44437         Inspired by a suggestion by Florian Weimer in:
44438         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
44439         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
44440         Rename from HAVE_PERSONALITY_LINUX32, and check for
44441         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
44442         All uses changed.
44443         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
44444         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
44445         flag ourselves.  Just set that flag, rather than also setting the
44446         persona.  When doing it, avoid functions like putenv that may
44447         allocate memory.
44449 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
44451         Revert "Add a couple cells to lisp-prettify-symbols-alist"
44453         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
44455 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
44457         * lisp/simple.el (shell-command): Add save-match-data comment
44459 2016-07-14  Alan Mackenzie  <acm@muc.de>
44461         CC Mode: correct incorrect invocation of parse-partial-sexp.
44463         Fixes bug #23944.
44465         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
44466         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
44468 2016-07-14  Andreas Schwab  <schwab@suse.de>
44470         Fix configure summary for hybrid malloc configurations
44472         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
44473         parenthesize value of GNU_MALLOC_reason.
44475 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
44477         Fix delete-duplicate-lines
44479         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
44480         first line when operating backward (bug#23863).
44482 2016-07-14  Andreas Schwab  <schwab@suse.de>
44484         Remove unused SHEAP_OBJ
44486         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
44488 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
44490         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
44491         Use shr-image-map instead of shr-map (bug#23964).
44493 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
44495         * lisp/mouse.el (mouse): Consolidate group definition here
44497         * lisp/cus-edit.el (mouse): Remove both group definitions.
44499 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
44501         Include versioned preloaded libraries in `package--builtin-versions'
44503         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
44504         exclude preloaded libraries or remove entries generated for them.
44505         (autoload-generate-file-autoloads): Do not generate autoload
44506         statements for preloaded libraries.
44508 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
44510         Omit unnecessary #includes from xwidget.c
44512         * src/xwidget.c: Remove #include directives that are not needed.
44513         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
44514         file is compiled only if the X interface is available.
44516 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
44518         Port xwidget.c to GCC 6 with --enable-gcc-warnings
44520         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
44521         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
44522         possible bugs found by GCC.
44524 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
44526         Escape meta chars in commands processed by shell
44528         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
44529         in all commands to be passed to a shell (Bug#23959).
44531 2016-07-12  John Wiegley  <johnw@newartisans.com>
44533         Revert "Cleanup tooltips"
44535         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
44537         I am reverting this change because it was applied without prior discussion
44538         on emacs-devel, and has been found to break the NS port.  It needs more
44539         testing and review before it should be applied here.
44541 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
44543         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
44545         (cl-prog, cl-prog*): New macros.
44547 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
44549         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
44551         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
44552         (cl--generic-make-defmethod-docstring): New function for that.
44553         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
44554         (cl-generic-define-method, cl--generic-describe): Change `load-history'
44555         format of cl-defmethods, so as not to confused methods with equal
44556         specializers but different qualifiers.
44557         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
44559 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
44561         Don't install keyboard hook when debugged on MS-Windows
44563         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
44564         hook if we are being debugged.  This avoids hosing the debugger,
44565         because the hook is global, and is called in the context of the
44566         thread which installed it, and that thread is stopped when GDB has
44567         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
44569 2016-07-12  Alan Mackenzie  <acm@muc.de>
44571         Amend CC Mode to handle big C++ raw strings correctly.
44573         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
44574         in the +-500 bytes boundaries imposed for macros.
44576         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
44577         macro boundaries here.
44578         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
44579         lower boundary.  Fix the check on the upper boundary.
44581         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
44582         point already being within a raw string.
44584         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
44585         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
44586         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
44587         with other Emacsen.
44589 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
44591         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
44593 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
44595         Cleanup tooltips
44597         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
44598         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
44599         (FRAME_TOOLTIP_P): New macro.
44600         * src/frame.c (make_frame): Mark new frame as regular frame by default.
44601         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
44602         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
44603         and 'Qtooltip_parameters' instead.
44604         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
44605         * src/gtkutil.c (xg_hide_tip): New function.
44606         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
44607         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
44608         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
44609         * src/w32fns.c (unwind_create_tip_frame): Remove.
44610         (w32_display_monitor_attributes_list)
44611         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
44612         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
44613         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
44614         as a tooltip frame and record it using appropriate display info.
44615         (x_hide_tooltip): Add frame arg.
44616         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
44617         base frame parameters, store tooltip hide timer among tooltip frame
44618         parameters.
44619         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
44620         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
44621         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
44622         * src/w32term.c (w32_read_socket): Extract tooltip window id from
44623         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
44624         (x_new_font): Use FRAME_TOOLTIP_P.
44625         (x_free_frame_resources): Reset pointer to tooltip frame.
44626         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
44627         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
44628         Use FRAME_TOOLTIP_P.
44629         * src/xfns.c (x_make_monitor_attribute_list)
44630         (Fx_display_monitor_attributes_list): Likewise.
44631         (unwind_create_tip_frame): Remove.
44632         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
44633         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
44634         as a tooltip frame and record it using appropriate display info.
44635         (x_hide_tooltip): Add frame arg.
44636         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
44637         base frame parameters, store tooltip hide timer among tooltip frame
44638         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
44639         event loop.
44640         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
44641         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
44642         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
44643         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
44644         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
44645         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
44646         (x_free_frame_resources): Reset pointer to tooltip frame.
44647         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
44648         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
44650 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
44652         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
44654 2016-07-11  Mario Lang  <mlang@delysid.org>
44656         Test mapcan
44658         * test/src/fns-tests.el (fns-tests-mapcan): New test.
44660 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
44662         Prevent to apply funcall on t
44664         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
44665         'ediff-after-quit-hook-internal' hook (Bug#23933).
44667 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
44669         Ignore angle mode while simplifying units
44671         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
44672         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
44673         is non-nil (Bug#23889).
44674         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
44675         (math-from-radians-2, math-to-radians-2): Idem.
44677 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
44679         Fix display of composed characters
44681         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
44682         iteration through composition glyphs.  (Bug#23938)
44684 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
44686         Fix composition bug caused by off-by-1 typo
44688         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
44689         computing composition glyph (Bug#23938).
44691 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44693         Dired always read file system
44695         * lisp/dired.el (dired-always-read-filesystem): Add new option.
44696         (dired-mark-files-containing-regexp): Use it (Bug#22694).
44697         * doc/emacs/dired.texi: Mention it in the manual.
44698         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
44699         ;* etc/NEWS: Add entry for this change.
44701 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44703         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
44705 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44707         Avoid 'unused var' 'not left unused var' warnings
44709         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
44710         Rename used var '_buffer' to 'cbuffer'.
44712         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
44713         to cmark'.
44715 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44717         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
44719 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
44721         Add a note how to use `tramp-own-remote-path'
44723         * doc/misc/tramp.texi (Inline methods, External methods)
44724         (Remote shell setup, Android shell setup)
44725         (Frequently Asked Questions, Frequently Asked Questions):
44726         Use @command and @samp consequently.
44727         (Remote programs): The remote shell must support the -l
44728         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
44730 2016-07-10  Alan Third  <alan@idiocy.org>
44732         Remove App Nap setting from Info.plist (bug#22993)
44734         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
44735         it doesn't actually disable app nap.
44737 2016-07-09  Mario Lang  <mlang@delysid.org>
44739         An efficient built-in mapcan
44741         A built-in version of `mapcan' avoids consing up (and GC'ing) the
44742         intermediate list.
44744         * src/fns.c (Fmapcan): New built-in.
44745         (syms_of_fns): Define.
44747         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
44749         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
44750         if only one sequence is provided.
44752         * lisp/progmodes/hideif.el (hif-delimit):
44753         * lisp/dired-aux.el (dired-do-find-regexp):
44754         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
44755         `cl-mapcan'.
44757         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
44758         compiling.
44760         * lisp/mouse.el (mouse-buffer-menu-map):
44761         * lisp/net/pop3.el (pop3-uidl-dele):
44762         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
44763         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
44764         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
44765         * lisp/gnus/nnmail.el (nnmail-split-it):
44766         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
44767         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
44768         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
44770 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
44772         Detect aliases to built-in functions
44774         * lisp/help-fns.el (describe-function-1): Check for aliases
44775         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
44777         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
44778         failing this test.
44780 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
44782         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
44784         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
44785         New variable.
44786         (tramp-gvfs-maybe-open-connection): Use it.
44788         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
44789         Reorder test.
44791 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
44793         Wrap around error in coreutil's ls
44795         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
44796         "--quoting-style=literal" if remote host supports quoting style.
44797         Recent versions of coreutils changed default quoting style to
44798         "--quoting=shell-escape".
44800 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
44802         Minor tweaks of copying text properties when padding strings
44804         * src/editfns.c (styled_format): Don't include padding on the left
44805         in the properties at the beginning of the string.  (Bug#23897)
44807         * test/src/editfns-tests.el (format-properties): Add tests for
44808         faces when the string is padded on the left or on the right.
44810 2016-07-08  Mario Lang  <mlang@delysid.org>
44812         No need to require the same feature twice.
44814         * lisp/dired-aux.el (require 'cl-lib): Remove.
44816 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44818         Turn on lexical binding
44820         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
44821         (secrets-search-items, secrets-create-item): Use append.
44822         (secrets-show-secrets): Remove unused binding.
44823         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
44824         Ignore unused arguments.
44826 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44828         Derive secrets-mode from special-mode
44830         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
44831         (secrets-mode-map): New variable.  Add key bindings to n and p for
44832         navigating lines.
44833         (secrets-mode): Derive from special-mode.  Remove keymap code and
44834         initialization code.  Do not record undo information.  Make
44835         secrets-show-collections the local revert-buffer-function.
44836         (secrets-show-collections): Change signature to satisfy revert-buffer.
44838 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44840         Add a couple cells to lisp-prettify-symbols-alist
44842         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
44843         "sqrt" and "not".
44845 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
44847         Detect remote uid and gid in tramp-gvfs.el
44849         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
44850         (tramp-gvfs-handler-mounted-unmounted)
44851         (tramp-gvfs-connection-mounted-p):
44852         Make "default-location" a connection property.
44853         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
44854         (tramp-gvfs-maybe-open-connection): Use them.
44856 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
44858         Yet another fix for copying properties by 'format'
44860         * src/textprop.c (extend_property_ranges): Accept an additional
44861         argument OLD_END, and only extend the end of a property range if
44862         its original end is at OLD_END; all the other ranges are left
44863         intact.  (Bug#23897)
44864         * src/editfns.c (styled_format): Pass the original length of the
44865         string to 'extend_property_ranges'.
44866         * src/intervals.h (extend_property_ranges): Adjust prototype.
44868         * test/src/editfns-tests.el (format-properties): Add tests for
44869         bug#23897.
44871 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
44873         Allow selecting region with mouse to move point to beginning
44875         * etc/NEWS: Mention new user option
44876         `mouse-select-region-move-to-beginning'.
44878         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
44879         to the following.
44880         (Word and Line Mouse): Describe how double-clicking mouse-1 to
44881         activate region and `mouse-select-region-move-to-beginning'
44882         affect point.
44884         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
44885         (mouse-set-point): Use it.  (Bug#23478)
44887 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
44889         Fix menu bar breakage
44891         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
44892         to prevent void variable errors, and fix typo (bug#23918).
44894 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
44896         Copy buffer names to kill ring
44898         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
44899         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
44900         ;* etc/NEWS: Add entry for this new feature.
44902 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44904         Remove just input mark
44906         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
44907         just MARK.
44909 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44911         Ibuffer change marks
44913         * lisp/ibuffer.el (ibuffer-change-marks): New command.
44914         (ibuffer-mode-map): Bind it to '* c'.
44915         (ibuffer-mode-groups-popup): Update menus.
44916         (ibuffer-mode): Update mode doc.
44918 2016-07-07  Alan Third  <alan@idiocy.org>
44920         Prevent NS event loop being re-entered (bug#11049)
44922         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
44923         in event loop instead of aborting.
44925 2016-07-07  Alan Third  <alan@idiocy.org>
44927         Fix some deprecated functions
44929         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
44930         convertBaseToScreen with convertRectToScreen.
44931         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
44932         OS X 10.2, and always seems to return nil.
44934 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
44936         Disable App Nap (bug#22993)
44938         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
44940 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
44942         Fix an error in Tramp for rsync
44944         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
44945         Make it work for "rsync".
44946         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
44948 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44950         Ibuffer: Mark locked buffers
44952         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
44953         (ibuffer-mark-by-locked): New command.
44954         (ibuffer-mode-map): Bind it to '% L'; update menus.
44955         (ibuffer-mode): Update mode doc.
44956         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
44958 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44960         * lisp/ibuffer.el: Add face for locked buffers
44962         * lisp/ibuffer.el: Add mark for locked buffers
44964         ;* etc/NEWS (Ibuffer): Update entry according with last commit
44966 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44968         Remove duplicate binding
44970         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
44971         just bound to '% g'.
44972         As suggested in:
44973         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
44975 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44977         Ibuffer: Drop needless binding
44979         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
44980         already bound to 't' inside 'ibuffer-set-mark'.
44982 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
44984         Run tests from non-byte compiled files
44986         * test/Makefile.in: Eval non-byte-compiled files for tests.
44988 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
44990         Replace eldoc-documentation-function with a hook
44992         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
44993         (eldoc-documentation-function): Make into obsolete alias.
44994         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
44995         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
44996         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
44997         on eldoc-documentation-functions.
44998         (eldoc-supported-p): New function.
44999         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
45000         * etc/NEWS: Mention eldoc-documentation-functions.
45001         * doc/lispref/modes.texi: Update reference.
45003 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
45005         Complete "initial" and "unset" in CSS mode
45007         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
45008         "initial" and "unset" completion candidates for all CSS properties,
45009         just like "inherit".
45011         * test/lisp/textmodes/css-mode-tests.el
45012         (css-test-complete-property-value): Update test to reflect the above
45013         change.
45015 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
45017         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
45019 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
45021         Simplify rfc1345.el a bit
45023         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
45024         that would no longer parse.  Replace control characters with
45025         escapes in character constants.  Omit unnecessary \ after ?.
45026         This does not change behavior.
45028 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
45030         Prefer 'frame-parameter' where it is expected to be a bit faster
45032         * lisp/international/mule-diag.el (mule-diag):
45033         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
45034         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
45035         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
45036         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
45038 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
45040         Reduce consing caused by vertical motion commands
45042         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
45043         parameters frequently requested by calls to 'next-line' and 'previous-line'.
45045 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
45047         Make all Tramp tests pass for "gdrive" method
45049         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
45050         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
45051         (tramp-compat-delete-directory):
45052         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
45053         Use `directory-files-no-dot-files-regexp'.
45055         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
45056         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
45057         case of problems.
45059         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45060         Adapt docstring.
45061         (tramp-test14-delete-directory): Make further tests.
45063 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
45065         Fix redisplay with window-start on continuation lines
45067         * src/xdisp.c (pos_visible_p): Return false if the window starts
45068         after CHARPOS.
45069         (compute_window_start_on_continuation_line): Don't return
45070         window-start position that is after point in the buffer, as the
45071         callers don't expect this to happen, and will generally display an
45072         empty window with the cursor in its middle.  (Bug#23871)
45074 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45076         Add :expected-result :failed for unfixed bug test
45078         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
45080 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45082         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
45084 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45086         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
45088         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
45089         there is no need for the end-marker to be created.
45091 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45093         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
45095         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
45096         syntax to non-whitespace so that ‘\s-’ regular expression does not match
45097         it.
45099         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
45100         as a consequence ‘line-beginning-position’ function does not need to be
45101         called any longer.
45103         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
45104         expression ends up matching empty lins since ‘\s-’ matches newline
45105         characetr of proceeding line.  This leads to needless loop iterations.
45107         Since previous change to ‘delete-trailing-whitespace’ already introduced
45108         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
45109         character syntax.
45111 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45113         Make ‘delete-trailing-whitespace’ delete spaces after form feed
45115         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
45116         a non-whitespace character (regradless of whether it’s character syntax
45117         is whitespace) and delete any whitespace following it instead of leaving
45118         lines with form feeds completely unchanged.  I.e. a line like "\f " will
45119         now became "\f".
45121 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
45123         Cleanup XEditRes hack
45125         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
45126         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
45127         linked with -lXmu.  This should work with any non-ancient Xmu library.
45128         * src/xfns.c (toplevel): Remove old cruft.
45129         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
45130         * src/xterm.c (toplevel): Remove old cruft.
45131         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
45132         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
45134 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
45136         Add Google Drive support to Tramp
45138         * doc/misc/tramp.texi: Add `gdrive' method.
45140         * doc/misc/trampver.texi:
45141         * lisp/net/trampver.el: Change version to "2.3.1-pre".
45143         * etc/NEWS: Add Tramp connection method "gdrive".
45145         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
45146         (tramp-default-user-alist, tramp-default-host-alist): Add rule
45147         for "gdrive".
45148         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
45149         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
45150         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
45151         "standard::display-name" as file name, if available.
45152         (tramp-gvfs-handle-file-name-all-completions): Simplify.
45153         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
45154         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
45155         Map between "gdrive" and "google-drive".
45157         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
45159         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45160         Do not enable `tramp-message-show-message'.
45161         (tramp-test13-make-directory, tramp-test14-delete-directory):
45162         Do not specify error type.
45164 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
45166         Calc: Update mode line after change mode
45168         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
45170 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
45172         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
45174 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45176         Re-fix open-network-stream responsiveness
45178         Problem reported by Christer Ekholm (Bug#23864).
45179         * src/process.c (wait_reading_process_output): Further fix for
45180         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
45181         wait == INFINITY and got_output_end_time is invalid.  See:
45182         https://bugs.gnu.org/23864#20
45184 2016-07-03  Alan Mackenzie  <acm@muc.de>
45186         Remove redundant forms from CC Mode for faster fontification
45188         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
45189         the "main" cond form in the function, which have been redundant since the
45190         extraction of c-font-lock-cut-off-declarators from the function on
45191         2016-06-15/16.
45193 2016-07-03  Alan Mackenzie  <acm@muc.de>
45195         Speed up CC Mode fontification with less accurate functions extending region
45197         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
45198         (c-font-lock-enclosing-decls)
45199         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
45200         c-beginning-of-decl-1 with less accurate invocations of
45201         c-syntactic-skip-backwards to speed up fontification.
45203 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
45205         Ibuffer: unmark all buffers without confirmation
45207         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
45208         (ibuffer-mouse-popup-menu): Use it.
45209         (ibuffer-mode): Update mode doc.
45210         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
45211         Rebind 'ibuffer-do-replace-regexp' to 'r'.
45213 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45215         Fix open-network-stream responsiveness
45217         Problem reported by Constantin Kulikov (Bug#23684).
45218         * src/process.c (wait_reading_process_output):
45219         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
45220         when wait == INFINITY and got_output_end_time is invalid.
45221         In this case the code should break, not continue.
45223 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45225         Ibuffer: Mark buffers by content
45227         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
45228         (ibuffer-never-search-content-name): New option.
45229         (ibuffer-never-search-content-mode): Idem.
45230         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
45232         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
45233         (ibuffer-mode): Update mode documentation.
45235 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45237         ibuffer-copy-filename-as-kill verbosity increase
45239         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
45240         Use shorter name, result, for a local bound var.
45241         Show the string result in the echo area.
45243 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45245         Fix cursor positioning on TTY frames after stretch glyph
45247         * src/term.c (append_glyph, append_composite_glyph)
45248         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
45249         members of the produced 'struct glyph'.  Fixes cursor positioning
45250         on the first character after a stretch glyph produced from
45251         line-prefix, wrap-prefix, etc. on TTY frames.
45253 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45255         Fix vertical-movement in buffers with wrap-prefix
45257         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
45258         whenever we zero the vpos vertical position of the iterator.
45259         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
45260         wrap-prefix regardless of whether the current Y coordinate is
45261         inside the window dimensions.  (Bug#23879)
45263 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45265         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
45267         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
45268         FACE_OPT_FROM_ID; all callers changed.
45269         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
45270         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
45271         dereferenced.
45272         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
45273         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45274         when the glyph string is drawn.
45275         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
45276         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45277         in fill_composite_glyph_string.
45278         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
45279         FACE_FROM_ID, since the function and its caller can cope with that
45280         situation.  Conflate 3 tests of missing face or font into just
45281         one.
45282         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
45283         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
45284         functions can cope with that situation.
45285         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
45286         not be used.
45287         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
45289 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
45291         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
45293 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
45295         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
45297         i.e. rename from auto-source--symbol-keyword.
45299 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
45301         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
45303         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
45304         get_widget_info.
45306 2016-06-30  Alan Mackenzie  <acm@muc.de>
45308         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
45310         This applies to applying or removing syntax-table text properties in raw
45311         strings which affect the stringiness of a piece of text.  This fixes the
45312         bug
45313         reported in
45314         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
45316         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
45317         defsubst.
45318         (c-invalidate-state-cache-1): Call new function in place of inline
45319         manipulation.
45320         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
45321         semi-nonlit cache when pertinent syntax-table text properties get applied to
45322         the text.
45324 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45326         Minor tweaks to openp
45328         * src/lread.c (openp): Move invariant code out of the loop
45329         and thus avoid redundant calls to memcpy.  Adjust comments.
45331 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45333         Simplify handling of frame parameters
45335         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
45336         foreground color, background color and font parameters.  Adjust
45337         comments.
45339 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45341         Cleanup around mature character manipulation functions
45343         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
45345         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
45347         * lisp/subr.el (toplevel): Do not advertise calling conventions
45348         for 'decode-char' and 'encode-char'.
45350         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
45352 2016-06-29  Alan Mackenzie  <acm@muc.de>
45354         Fix C-M-a in a C function finding the start of a macro preceding it.
45356         Also amend some pertinent documentation.  This fixes bug #23818.
45358         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
45359         virtual semicolon at a place where we check for other types of statement ends.
45361         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
45362         doc string the bit saying that the variable is a prototype and liable to
45363         change.
45365         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
45366         macros with semicolon can prevent C-M-a missing the beginning of defun.
45368 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
45370         Avoid possible NULL pointer dereference found by GCC 6.1.1
45372         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
45373         the value returned by XRRGetOutputInfo.
45375 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
45377         Dired recognize dirs when file size in human units
45379         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
45380         to match when Dired displays the allocated file size column
45381         in human readable units (Bug#22255).
45383 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45385         Fix breakage from previous change
45387         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
45388         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
45390 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45392         Fix breakage from previous change.
45394         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
45396 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45398         Add tests for copying properties by 'format'
45400         * test/src/editfns-tests.el (format-properties): New test.
45402 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45404         Fix copying properties in 'format' when it produces padding
45406         * src/textprop.c (extend_property_ranges): Correct range extension
45407         when the new end is beyond the old end.  (Bug#23859)
45409 2016-06-27  Alan Third  <alan@idiocy.org>
45411         Enable dividers in NS (bug#22973)
45413         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
45414         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
45415         attempt to set the color.
45416         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
45417         above, although I didn't see any errors.
45419 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45421         Fix the prefix action of shr-copy-url
45423         * lisp/net/shr.el (shr-copy-url): Make the command really copy
45424         the image url if given a prefix.
45426 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45428         New functions svg-text and svg-remove
45430         * doc/lispref/display.texi (SVG Images): Document svg-remove.
45432         * doc/lispref/display.texi (SVG Images): Document svg-text.
45434         * lisp/svg.el (svg-remove): New function.
45435         (svg-text): New function.
45437 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45439         Add new function dom-remove-node
45441         * doc/lispref/text.texi (Document Object Model): Document
45442         dom-remove-node.
45444         * lisp/dom.el (dom-remove-node): New function.
45446 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45448         Add a new function `svg-embed'
45450         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
45452         * lisp/svg.el (svg-embed): New function.
45453         (svg--image-data): Ditto.
45455 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45457         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
45459 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45461         Fix 'move-to-window-line' when EOB is on last screen line
45463         * src/window.c (displayed_window_lines): Fix an off-by-one error
45464         when the bottom of the last display line is exactly at window's
45465         last pixel.  Remove kludgey fix for TTY frames that is no longer
45466         needed.  (Bug#15760)
45467         (Fmove_to_window_line): Doc fix.
45469         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
45470         accurate the documentation of 'move-to-window-line'.
45472 2016-06-27  Alan Mackenzie  <acm@muc.de>
45474         Amend a cache so that typing into C++ raw strings has no undue delay.
45476         Also amend the code so that low-level searches to the end of literals are done
45477         only when these positions get used.
45479         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
45480         c-literal-start instead of c-literal-limit.
45481         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
45482         it stores details of the literal at a point, rather than merely points outside
45483         of literals.
45484         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
45485         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
45486         (c-parse-ps-state-below, c-literal-start): New functions.
45487         (c-state-semi-safe-place): Removed.
45488         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
45489         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
45490         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
45491         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
45493         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
45494         to end of literals.
45496         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
45497         literals.
45499         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
45500         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
45502 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
45504         Also handle escaping when string begins with a quote
45506         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
45507         Handle quoting of the first character in the string.
45509         * test/lisp/progmodes/ruby-mode-tests.el
45510         (ruby-toggle-string-quotes-quotes-correctly): Update.
45512 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
45514         Fix quote escaping in ruby-toggle-string-quotes
45516         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
45517         Change logic to quote based on the current quote of the string.
45519         * test/lisp/progmodes/ruby-mode-tests.el
45520         (ruby-toggle-string-quotes-quotes-correctly): Add test.
45522 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
45524         Fix test-completion with completion-regexp-list
45526         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
45527         completion-regexp-list (Bug #23533).
45529 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45531         Try other addresses when connecting to multihomed
45533         Problem reported by Juliusz Chroboczek (Bug#17976)
45534         and by Artur Malabarba (Bug#23620).
45535         Patch from a suggestion by Andreas Schwab in:
45536         https://bugs.gnu.org/17976#39
45537         This patch is for non-MS-Windows platforms.
45538         I don't know the situation on MS-Windows.
45539         * src/process.c (connecting_status):
45540         New function, for (connect . ADDRINFOS).
45541         (connect_network_socket, check_for_dns, wait_for_socket_fds)
45542         (wait_while_connecting, wait_reading_process_output, status_notify):
45543         Use it.
45544         (decode_status, Fmake_network_process):
45545         Support (connect . ADDRINFOS) status.
45546         (connect_network_socket) [!WINDOWSNT]:
45547         If the connection failed and there are other addresses to try, do not
45548         signal an error; instead, loop around to try the next address.
45549         (wait_reading_process_output): Advance to the next address
45550         if there are multiple addresses and the first remaining address
45551         failed.
45552         * src/process.h (struct Lisp_Process.status): Adjust comment
45553         to describe (connect . ADDRINFOS).
45555 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45557         Fix GNUC_PREREQ for GCC 2.8.1 etc.
45559         Problem reported by Eli Zaretskii in:
45560         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
45561         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
45562         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
45563         patchlevel numbers.
45565 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
45567         Don't set 'bidi-paragraph-direction' in 'ansi-term'
45569         * lisp/term.el (ansi-term): Remove unnecessary setting of
45570         'bidi-paragraph-direction'.  The underlying problem is solved in
45571         bidi.c by changing the regexps that define the paragraph beginning
45572         and end.  (Bug#20611)
45574 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
45576         Sync with Tramp 2.3.0
45578         * doc/misc/trampver.texi:
45579         * lisp/net/trampver.el: Change version to "2.3.0".
45581 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45583         Fix GNUC_PREREQ off-by-1 typo
45585         Problem reported by Martin Rudalics in:
45586         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
45587         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
45588         Fix < vs <= typo.
45590 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
45592         Fix some oddities in Tramp's rsync and smb methods
45594         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
45595         "-s" arguments.
45596         (tramp-do-copy-or-rename-file-out-of-band):
45597         Call `file-name-directory' also for remote NEWNAME.
45599         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
45600         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
45601         (tramp-test24-file-name-completion): Improve check for
45602         hostname completion.
45603         (tramp--test-rsync-p): New defun.
45604         (tramp-test31-special-characters)
45605         (tramp-test31-special-characters-with-stat)
45606         (tramp-test31-special-characters-with-perl)
45607         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
45608         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
45609         (tramp-test32-utf8-with-ls): Skip for "rsync".
45611         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
45612         Check also for CIFS capabilities.
45614 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
45616         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
45618         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
45619         FRAME_INTERNAL_BORDER_WIDTH.
45621 2016-06-25  Leo Liu  <sdl.web@gmail.com>
45623         Deprecations (bug#23850)
45625         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
45626         string-to-multibyte, string-as-multibyte): Make obsolete.
45628 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
45630         Do not prompt twice to save a buffer
45632         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
45634 2016-06-25  Alan Third  <alan@idiocy.org>
45636         Move text line right when in box (bug#23755)
45638         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
45639         CHAR_GLYPH specific code and move glyphs right if within a box.
45640         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
45641         function.
45643 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
45645         Merge from origin/emacs-25
45647         0377fe2 ; Spelling fixes
45648         f253695 Update docs for `customize-mode'
45649         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
45650         ab0ebb9 ; Only load .elc file in tests.
45651         a98aa02 Error on multibyte characters in HTTP request
45652         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
45653         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
45654         dc5e65b Unset GIT_DIR when calling Git commands
45655         6cdd8f7 Ensure undo-boundary after insert-file-contents.
45656         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
45657         5f37572 Fix removal of variables from process-environment
45658         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
45659         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
45661         # Conflicts:
45662         #       doc/lispref/modes.texi
45663         #       lisp/gnus/mm-decode.el
45665 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
45667         Teach net-utils more iproute2 and nl80211 tools
45669         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
45670         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
45671         option is "phy"; beyond that one needs to know the interface name.
45672         (netstat-program): Add ss(8).
45673         (route-program): Add ip(8).
45674         (route-program-options): Add "route" argument for ip.
45676 2016-06-24  Leo Liu  <sdl.web@gmail.com>
45678         Use use-region-p in prolog.el
45680         * lisp/progmodes/prolog.el (region-exists-p): Remove.
45681         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
45682         prolog-edit-menu-insert-move): Use use-region-p.
45684 2016-06-24  Leo Liu  <sdl.web@gmail.com>
45686         Remove compatibility with Emacs 24.3 in octave-mode
45688         * lisp/progmodes/octave.el: Clean up and remove compatibility with
45689         Emacs 24.3.
45691 2016-06-24  Alan Mackenzie  <acm@muc.de>
45693         Ensure hack-local-variables is run in a fundamental mode buffer.
45695         This fixes bug #23827.
45697         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
45698         gets set to that mode, so that `run-mode-hooks', and thus
45699         `hack-local-variables' get run.
45701 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
45703         Fix caller to ediff-setup
45705         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
45707 2016-06-24  Alan Mackenzie  <acm@muc.de>
45709         Implement ' separators in C++ integer literals.
45711         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
45712         c-before-after-change-digit-quote into the C++ value.
45713         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
45714         for all languages.  Insert c-before-after-change-digit-quote into the C++
45715         value.
45717         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
45718         c-save-buffer-state.
45719         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
45721 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
45723         Update from gnulib
45725         This incorporates:
45726         2016-06-24 intprops: port better to GCC 7
45727         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
45728         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
45729         Copy from gnulib.
45731 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
45733         Remove two uses of 'min' in Fwindow_text_pixel_size
45735         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
45736         it calls move_it_to twice.  Suggested by Eli Zaretskii.
45738 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
45740         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
45742         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
45743         since it is intended to be used only when it returns a non-null
45744         pointer, and here the pointer might be null.
45745         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
45747 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
45749         Remove some more face aliases obsoleted in 22.1
45751         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
45752         eshell-ls-executable-face, eshell-ls-readonly-face,
45753         eshell-ls-unreadable-face, eshell-ls-special-face,
45754         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
45755         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
45756         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
45757         (isearch-lazy-highlight-update): Use face symbol.
45758         * lisp/net/sieve-mode.el (sieve-control-commands-face,
45759         sieve-action-commands-face, sieve-test-commands-face,
45760         sieve-tagged-arguments-face): Remove.
45761         (sieve-font-lock-keywords): Use non-obsolete faces.
45762         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
45763         (sh-get-indent-info, sh-prev-line): Use face symbol.
45764         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
45765         Use non-obsolete face.
45766         (tex-math-face, tex-verbatim-face): Remove.
45767         (tex-font-lock-syntactic-face-function): Use face symbols.
45769 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
45771         Remove some face aliases obsoleted in 22.1
45773         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
45774         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
45775         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
45776         Info-title-4-face, info-menu-5):
45777         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
45778         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
45779         * lisp/progmodes/make-mode.el (makefile-space-face):
45780         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
45781         (texinfo-font-lock-keywords): Use texinfo-heading face.
45782         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
45783         change-log-email-face, change-log-file-face, change-log-list-face,
45784         change-log-conditionals-face, change-log-function-face,
45785         change-log-acknowledgement-face):
45786         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
45787         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
45788         diff-changed-face, diff-function-face, diff-context-face,
45789         diff-nonexistent-face): Remove.
45790         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
45791         symbols.
45792         (diff-hunk-file-names): Fix comment.
45793         (diff-refine-change): Remove.
45794         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
45795         non-obsolete face.
45796         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
45797         (log-view-font-lock-keywords): Use non-obsolete face names.
45798         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
45799         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
45800         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
45801         widget-field-face, widget-single-line-field-face, widget-inactive-face,
45802         widget-button-pressed-face):
45803         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
45804         woman-addition-face): Remove.
45806 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45808         * lisp/international/characters.el (standard-case-table): Improve last change.
45810 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45812         Improve results of 'upcase' for characters with title-case
45814         * lisp/international/characters.el (standard-case-table): Swap the
45815         order of some lines, to have 'upcase' return the upper-case
45816         variant, not the title-case, for some characters whose lower-case
45817         map to the same codepoints.  (Bug#23833)
45819 2016-06-23  Alan Mackenzie  <acm@muc.de>
45821         Make typing into incomplete C++ raw strings work, and make it work fast enough
45823         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
45824         Put `save-match-data' around calls to `looking-at' to enable the use of the
45825         match data in higher level functions.
45827         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
45828         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
45829         limit to speed up handling of C++ raw strings.
45831 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45833         Fix handling of LWINDOW key on MS-Windows
45835         * src/w32fns.c (funhook): Correct a typo which broke handling of
45836         the LWINDOW key.  (Bug#23830)
45838 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45840         Update Unicode data files from Unicode 9.0.0
45842         * admin/unidata/copyright.html:
45843         * admin/unidata/BidiBrackets.txt:
45844         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
45845         released.
45847 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45849         Fix test for whether the '.el' file is newer than '.elc'
45851         * src/lread.c (Fload): Don't overwrite the last character of the
45852         file name in FOUND with 'c', unless the file name ended in ".elc"
45853         to begin with.  Don't treat empty files as byte-compiled.  See
45854         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
45855         for more details of the problem this caused.
45857 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45859         Fix 'insert-file-contents' when REPLACE is non-nil
45861         * src/fileio.c (maybe_move_gap): New function to move the gap to
45862         the end of a buffer, if it isn't there already.
45863         (Finsert_file_contents): Call 'maybe_move_gap' before using
45864         conversion_buffer's text as a C 'char' array.  (Bug#23659)
45865         * src/coding.c (decode_eol): Compute the byte increment before
45866         calling del_range_2, because the latter can invalidate the pointer
45867         to buffer text.
45869 2016-06-22  Ken Brown  <kbrown@cornell.edu>
45871         Avoid compiler warning
45873         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
45875 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
45877         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
45879 2016-06-22  Ken Brown  <kbrown@cornell.edu>
45881         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
45883         * src/w32fns.c (x_set_internal_border_width): Don’t use
45884         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
45885         lvalue.
45887 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
45889         Improve --without-x GCC pacification
45891         * src/composite.c (autocmp_chars):
45892         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
45893         Use simpler ((void) 0) for no-op expression returning void.
45894         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
45895         Include fontset.h, for face_for_char.
45896         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
45897         Now inline functions instead of macros.  This avoids the need for
45898         all those casts to void.
45899         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
45900         All uses changed.
45901         * src/frame.c (Ficonify_frame, Fset_frame_position):
45902         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
45903         * src/xdisp.c (note_mode_line_or_margin_highlight)
45904         (note_mouse_highlight):
45905         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
45906         now work either way without generating warnings.
45907         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
45908         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
45909         (decode_window_system_frame): Use check_window_system instead of
45910         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
45911         (decode_window_system_frame, check_window_system):
45912         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
45913         * src/frame.c (Ficonify_frame, Fset_frame_position):
45914         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
45915         (note_mouse_highlight):
45916         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
45917         this is a better way to pacify GCC.
45918         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
45919         (x_set_right_divider_width, x_set_bottom_divider_width):
45920         * src/xfns.c (x_set_internal_border_width):
45921         Don’t use what are now function calls as lvalues.
45922         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
45923         (decode_window_system_frame, check_window_system):
45924         Use it, to avoid the need for duplicate declarations.
45925         (window_system_available): Now an inline function.
45926         (display_available): New decl.
45927         (frame_dimension): New inline function.
45928         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
45929         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
45930         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
45931         (FRAME_BOTTOM_DIVIDER_WIDTH):
45932         Use it, to avoid the need for duplicate definitions.
45933         Now inline functions instead of macros.
45934         * src/gnutls.c (gnutls_log_function2i): Remove.
45935         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
45936         This avoids complaints about gnutls_log_function2i being defined
45937         and not used on older platforms that do not need to call GNUTLS_LOG2i.
45938         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
45939         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
45940         expr’ to ‘type id; id = expr’, as this would suppress valid
45941         jump-misses-init diagnostics.  Let’s find a better way to address
45942         the problem.
45943         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
45944         Define only if needed.
45945         * src/xdisp.c (handle_single_display_spec):
45946         Simplify fringe_bitmap computation.
45947         (define_frame_cursor1): Do nothing unless in a window system.
45948         All callers changed and simplified.
45949         * src/xfaces.c (realize_default_face):
45950         Use a simpler way to pacify GCC when a return value is not used
45951         on some platforms.
45953 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
45955         Ensure undo-boundary after all commands
45957         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
45958           every command whether it (apparently) changes the buffer or not.
45960         See Bug#23785 for discussion.
45962 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
45964         Fix vertical layout calculations when newline has line-height property
45966         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
45967         'constrain_row_ascent_descent_p' flag after processing the
45968         newline, similar to what 'display_line' does.  Without this, the
45969         flag remains set once set by x_produce_glyphs, and causes the
45970         vertical layout calculations to go awry, because Emacs thinks the
45971         screen lines have zero height.  (Bug#23850)
45973 2016-06-20  Ken Brown  <kbrown@cornell.edu>
45975         Fix compiler warnings in Cygwin-w32 build
45977         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
45978         loop to avoid compiler warnings about empty body of 'if'
45979         statement.
45981         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
45982         macro.
45983         (x_create_bitmap_from_data): Declare 'frame'.
45984         (x_create_bitmap_from_file): Don't declare unused variable
45985         'dpyinfo'.
45987         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
45988         prevent "jump-misses-init" compiler warnings.
45990         * src/w32fns.c (check_w32_winkey_state): Define and use only if
45991         WINDOWSNT.
45992         (Fx_show_tip): Declare 'f'.
45993         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
45994         (w32_strerror): Use format specifier %d for sprintf argument of
45995         type int.
45996         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
45997         int, and use format specifier %x, for compatibility with Cygwin.
45998         (unicode_append_menu) [NTGUI_UNICODE]:
45999         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
46000         (set_menu_item_info, unicode_append_menu)
46001         (unicode_message_box):
46002         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
46003         functions rather than macros to avoid "address will always
46004         evaluate as true" compiler warnings.
46006         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
46007         sprintf argument of type int.
46009         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
46010         sprintf argument of type int to unsigned int to match %X format
46011         specifier.
46012         (w32_scroll_bar_handle_click):
46013         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
46015         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
46016         argument.
46018 2016-06-20  Ken Brown  <kbrown@cornell.edu>
46020         Fix compiler warnings in no-window-system-build
46022         * src/composite.c (autocmp_chars): Declare and set 'f' only if
46023         HAVE_WINDOW_SYSTEM.
46025         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
46026         (FACE_FOR_CHAR): Explicitly discard unused arguments.
46028         * src/font.c (font_open_entity): Declare 'min_width' where it is
46029         first set, and only if HAVE_WINDOW_SYSTEM.
46031         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
46032         Define _Noreturn version to avoid "suggest attribute noreturn"
46033         compiler warning.
46034         (check_window_system): Declare as _Noreturn.
46035         (Ficonify_frame):
46036         (Fset_frame_position): Don’t declare and set 'f'.
46038         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
46039         (check_window_system):  Add _Noreturn prototypes.
46040         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
46041         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
46042         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
46043         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
46045         * src/xdisp.c (handle_single_display_spec): Declare
46046         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
46047         (append_space_for_newline): Declare 'g' where it is first set.
46048         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
46049         HAVE_WINDOW_SYSTEM.
46050         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
46051         if HAVE_WINDOW_SYSTEM.
46052         (note_mode_line_or_margin_highlight):
46053         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
46054         only if HAVE_WINDOW_SYSTEM.
46056         * src/xfaces.c (realize_default_face): Declare and set 'face' only
46057         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
46059 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
46061         Weaken test conditions in filenotify-tests.el
46063         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
46064         Fix thinko in test.
46065         (file-notify-test02-events, file-notify-test04-file-validity)
46066         (file-notify-test07-backup)
46067         (file-notify-test08-watched-file-in-watched-dir): Make test
46068         conditions more weak.  (Bug#23618)
46070 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46072         Minor ABLOCKS_BUSY cleanups in alloc.c
46074         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
46075         with member ‘abase’ in definiens.
46076         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
46077         Avoid compiler warning with fewer casts.
46078         (lisp_align_free): Check busy-field values; this can help the
46079         compiler a bit when optimizing, too.
46081 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46083         ASCII-fy coding-system-for-read used for Git commands
46085         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
46086         New function.
46087         (vc-git-diff, vc-git-annotate-command): Use it.
46089 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46091         Prohibit multibyte characters in url-http-data
46093         It didn't work anyway, but this makes any such errors more obvious
46094         by catching them earlier.
46096         * lisp/url/url-http.el (url-http-create-request):
46097         Use string-to-unibyte (bug#23750).
46099 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
46101         Fix setting a range of char-table slots in a singular case
46103         * src/chartab.c (char_table_set_range): Start the loop from the
46104         first character of the block to which FROM belongs.  (Bug#23797)
46106         * test/src/chartab-tests.el: New test file.
46108 2016-06-19  Alan Mackenzie  <acm@muc.de>
46110         Fix CC Mode fontification problem apparent in test file decls-6.cc.
46112         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
46113         "bar (gnu);" as a declarator only when the construct is directly inside a
46114         class (etc.) called "bar".
46115         (c-directly-in-class-called-p): New function.
46117 2016-06-19  Alan Mackenzie  <acm@muc.de>
46119         c-renarrow-state-cache: take care when new point is inside old brace pair.
46121         Also add display of point-min to the c-parse-state debugging output.
46123         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
46124         point is inside an old recorded brace pair, clear the cache.
46125         (c-debug-parse-state): Output the value of point-min.
46127 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46129         Rename ALIGN to pointer_align
46131         * src/alloc.c (pointer_align): Rename from ALIGN.
46132         This fixes Bug#23764 in a simpler way.
46134 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46136         Merge from origin/emacs-25
46138         d1efbaf Fix documentation of completion functions
46139         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
46140         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
46141         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
46143 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46145         Merge from origin/emacs-25
46147         2317c61 Fix last todo-mode change
46148         5d4d8a3 Improve last todo-mode fix
46149         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
46150         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
46151         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
46152         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
46153         d308aa1 Minor grammar fix (bug#23746)
46154         20de667 Doc fixes for grammar and typos (bug#23746)
46155         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
46156         27f440e Add cross-reference to ELisp manual
46157         10802d8 ; make change-history-commit
46158         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
46159         12e009e Restore initial undo boundary with viper
46160         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
46161         6921f4a Fix dbus crash on 32-bit Cygwin
46163 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46165         Merge from origin/emacs-25
46167         9ae514a * etc/AUTHORS: Update the AUTHORS file
46168         3ca428e add entries to authors.el
46169         66d556b Fix eldoc-related freezes in python mode
46170         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
46171         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
46172         a813487 Fix undo boundary in recursive edit (Bug#23632)
46173         1f85b7c Doc fixes re alist-get.  (Bug#23548)
46174         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
46175         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
46176         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
46177         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
46178         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
46180 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46182         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
46184 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46186         Fix seq-contains
46188         Make sure seq-contains return the element of the sequence instead of t.
46190         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
46191         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
46193 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46195         Add new function map-do
46197         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
46198           functions.
46199         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
46201 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46203         Add seq-do-indexed
46205         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
46206         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
46208 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
46210         map.el (map-merge*): Use `map-into' at beginning rather than end
46212         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
46213         and don't use of an intermediate alist.
46214         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
46215         3 lookups per inner iteration.
46217 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
46219         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
46221 2016-06-15  Alan Mackenzie  <acm@muc.de>
46223         Speed up CC Mode's font locking by taking some code out of a hot loop.
46225         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
46226         tests for bare declarators.
46227         (c-font-lock-cut-off-declarators): New function.
46228         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
46230 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46232         Automatically find vars and functions via definition-prefixes
46234         * lisp/help-fns.el (help-definition-prefixes): New var and function.
46235         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
46236         New functions.
46237         (describe-function, describe-variable): Use them.
46239         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
46240         (radix-tree-prefixes, radix-tree-from-map): New functions.
46242 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
46244         Automatically detect whether .h file is C or C++
46246         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
46247         analyzes contents of the buffer to determine whether it looks like C++
46248         source code and based on that enables c-mode or c++-mode.
46249         (c-or-c++-mode--regexp): Regular expression which, when matches
46250         a buffer, signals file is C++.
46252 2016-06-15  Alan Mackenzie  <acm@muc.de>
46254         Parse compound identifiers in C++ member initialization lists.
46256         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
46257         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
46258         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
46259         than c-simple-skip-symbol-backward.
46261 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46263         Advertize set-keymap-parent as replacement for copy-keymap
46265         * doc/lispref/keymaps.texi (Creating Keymaps):
46266         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
46268 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
46270         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
46271         value is missing
46273 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
46275         Add new ansible-inventory-generic-mode (Bug#23762)
46277         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
46279 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46281         Fix ifdef-vs-if typo with RANDR13_LIBRARY
46283         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
46284         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
46285         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
46287 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46289         Port to platforms where char * has top bit set
46291         This fixes a five-year-old FIXME comment.  Although I don’t know
46292         of a platform where this is a problem in practice, better safe
46293         than sorry.
46294         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
46295         as it is now an integer, not char *.
46296         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
46297         this is a file offset and EMACS_INT is better if --with-wide-int.
46298         If SUBRP, simply store the offset rather than negating it and
46299         converting it to char *.
46300         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
46302 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46304         Remove recursion from store_function_docstring
46306         * src/doc.c (store_function_docstring):
46307         Refactor to avoid the need for C-level recursion.
46309 2016-06-14  Ken Brown  <kbrown@cornell.edu>
46311         Remove system-specific -I switch from Cygwin-w32 build
46313         Suggested by Eli Zaretskii in discussion of bug#18302.
46315         * src/image.c [HAVE_NTGUI]: Remove the unused macro
46316         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
46317         "X11/xpm.h".
46319         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
46320         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
46322 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
46324         Make python.el work in Emacs 24
46326         * lisp/progmodes/python.el: Bump version.
46327         (python-define-auxiliary-skeleton): Only use format-message if
46328         fbound (Bug#23126).
46330 2016-06-13  Ken Brown  <kbrown@cornell.edu>
46332         Avoid compiler warning
46334         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
46335         'type_CtrlAlt'.
46337 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46339         Call tzset after setting TZ
46341         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
46342         the setting change propagates into Emacs local time (Bug#23600).
46343         (emacs_setenv_TZ): Clarify comments.
46345 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46347         Update texinfo.tex
46349         * doc/misc/texinfo.tex: Update from gnulib.
46351 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46353         New macro GNUC_PREREQ for GCC version
46355         * src/conf_post.h (GNUC_PREREQ): New macro.
46356         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
46357         macro instead, for clarity and consistency.
46358         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
46359         if glibc, since non-GNU platforms don’t necessarily support GNU
46360         printf formats.
46361         (ATTRIBUTE_FORMAT_PRINTF): Use it.
46363 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
46365         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
46367 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
46369         Fix printf-related compilation warnings on MinGW
46371         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
46372         '__ms_printf__', not '__gnu_printf__', as the latter is not what
46373         MS 'printf' supports, and causes bogus compilation warnings.
46374         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
46375         doesn't support the "ll" modifier.
46377 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
46379         emacs_strerror cleanups
46381         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
46382         no longer needed, now that emacs_strerror is declared by lisp.h.
46383         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
46384         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
46385         to lisp.h.
46386         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
46387         convert result string; this is now the caller’s responsibility,
46388         as some need conversion and others don’t.
46389         * src/fileio.c (report_file_errno, report_file_notify_error):
46390         Use emacs_strerror rather than rolling it ourselves.
46391         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
46392         * src/lread.c (dir_warning): Just call emacs_strerror rather than
46393         both strerror and emacs_strerror.  Convert its result from
46394         locale-coding-system, since it no longer does that conversion.
46395         * src/sound.c (sound_perror):
46396         * src/sysdep.c (emacs_perror, str_collate):
46397         Use emacs_strerror, not strerror.
46399 2016-06-10  David Reitter  <david.reitter@gmail.com>
46401         Prevent compiler warning for unused arguments
46403         * lisp/international/ucs-normalize.el
46404         (ucs-normalize-hfs-nfd-pre-write-conversion):
46405         Prevent compiler warning for unused arguments, add coment.
46407 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
46409         Catch malloc_get_state, malloc_set_state failure
46411         This should help insulate Emacs better from configuration screwups.
46412         Future versions of the GNU C library are planned to deprecate
46413         these functions, but will continue to support them in
46414         already-built-and-dumped Emacs executables.
46415         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
46416         Abort if malloc_set_state fails.
46417         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
46418         Report malloc_get_state failure, and exit.
46420 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
46422         Show returned value after gdb-mi "finish" command
46424         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
46425         "Value returned" message in response to "finish", when not
46426         produced by GDB/MI.  (Bug#23720)
46428 2016-06-10  David Reitter  <david.reitter@gmail.com>
46430         Simplify pre-write-conversion for utf-8-hfs coding system
46432         * lisp/international/ucs-normalize.el
46433         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
46435         May address an issue where Emacs consumed large amounts of CPU
46436         because of neverending toolbar updating (which was caused
46437         by, but also called this function).
46439 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
46441         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
46443         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
46444         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
46445         Monnier.  (Bug#19185, Bug#20398)
46447         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
46449         That commit did more harm than good (Bug#23571).
46451 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46453         Port __builtin_assume_aligned to Sun C 5.13
46455         * src/conf_post.h (__builtin_assume_aligned):
46456         Fix typo: the extra arg did not conform to C99.
46458 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46460         Prefer getsockopt to getpeername on non-MS-Windows
46462         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
46463         * configure.ac: Don’t check for getpeername.
46464         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
46465         Use getsockopt even if not GNU/Linux, as the platforms where
46466         getsockopt used to hang are no doubt long dead.
46468 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46470         Fix XFASTINT of non-fixnum in process status
46472         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
46473         not int *, and is not decoded.  All uses changed.
46474         (status_message): Do not assume ‘failed’ code is an integer.
46475         * src/process.h: Document codes better.
46477 2016-06-09  Glenn Morris  <rgm@gnu.org>
46479         Make messcompat.el obsolete.
46481         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
46482         * doc/misc/message.texi (Compatibility): Remove section.
46484 2016-06-09  Glenn Morris  <rgm@gnu.org>
46486         Leading "*" in the doc of defvars is long obsolete.
46488         * lisp/plstore.el (plstore-encrypt-to):
46489         * lisp/cedet/semantic/lex-spp.el
46490         (semantic-lex-spp-macro-max-length-to-save):
46491         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
46492         * lisp/cedet/semantic/bovine/el.el
46493         (semantic-elisp-store-documentation-in-tag):
46494         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
46495         (wisent-expected-conflicts):
46496         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
46497         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
46498         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
46499         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
46500         (gnus-browse-menu-hook):
46501         * lisp/gnus/message.el (message-shoot-gnksa-feet):
46502         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
46503         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
46504         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
46505         * lisp/gnus/mml.el (mml-generate-multipart-alist):
46506         * lisp/gnus/nndraft.el (nndraft-required-headers):
46507         * lisp/gnus/nnheader.el (nnheader-max-head-length)
46508         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
46509         (nnheader-directory-separator-character)
46510         (nnheader-pathname-coding-system):
46511         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
46512         (nnmail-active-file-coding-system):
46513         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
46514         * lisp/gnus/nntp.el (nntp-record-commands):
46515         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
46516         (gnus-score-mode-hook, gnus-score-menu-hook):
46517         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
46518         (rfc2047-allow-irregular-q-encoded-words)
46519         (rfc2047-allow-incomplete-encoded-text):
46520         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
46521         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
46522         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
46523         * lisp/net/pop3.el (pop3-password):
46524         * lisp/play/animate.el (animate-n-steps):
46525         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
46526         Convert from defvar with leading * to defcustom.
46529         * lisp/emulation/viper-init.el (viper-heading-end):
46530         * lisp/gnus/mm-url.el (mm-url-html-entities):
46531         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
46532         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
46533         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
46535         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
46536         (message-from-style, message-interactive, message-indentation-spaces)
46537         (message-signature, message-signature-file):
46538         Remove settings that match the defaults.
46539         (message-setup-hook, message-mode-hook, message-default-headers)
46540         (message-send-hook, message-send-mail-function):
46541         Just use setq rather than redefining.
46543         * lisp/gnus/nnrss.el (nnrss):
46544         * lisp/mail/rfc2047.el (rfc2047):
46545         * lisp/play/animate.el (animate): New custom groups.
46547 2016-06-09  Glenn Morris  <rgm@gnu.org>
46549         Remove obsolete leading * from defcustom, defface doc strings.
46551         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
46552         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
46553         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
46554         * lisp/cedet/semantic/decorate/include.el:
46555         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
46556         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
46557         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
46558         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
46559         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
46560         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
46561         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
46562         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
46563         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
46564         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
46565         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
46566         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
46567         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
46568         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
46569         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
46570         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
46571         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
46572         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
46573         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
46574         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
46575         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
46576         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
46577         Remove obsolete leading * from defcustom, defface doc strings.
46579 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
46581         Fix copying text properties by 'format'
46583         * src/editfns.c (styled_format): Fix copying text properties from
46584         the format specification to the produced string representation.
46585         (Bug#23730)
46586         (Fformat) Doc fix.
46588         * doc/lispref/strings.texi (Formatting Strings): Document that
46589         text properties from the format specifiers are also copied to the
46590         produced string.
46592 2016-06-09  Alan Mackenzie  <acm@muc.de>
46594         Handle C++ raw strings.
46596         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
46597         (c-depropertize-raw-strings-in-region,
46598         c-before-change-check-raw-strings)
46599         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
46600         functions.
46602         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
46603         c-font-lock-raw-strings.
46604         (c-font-lock-raw-strings): New function.
46606         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
46607         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
46608         into the values for C, C++, and Objective C.
46609         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
46610         the C++ value.
46612         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
46613         (c-depropertize-CPP): New function, extracted from
46614         c-neutralize-syntax-in-and-mark-CPP.
46615         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
46616         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
46617         of the function.
46618         (c-after-change): Set c-old-BEG and c-old-END to the current values of
46619         c-new-BEG and c-new-END.
46621 2016-06-09  Daiki Ueno  <ueno@gnu.org>
46623         epg: don't use obsolete function
46625         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
46626         redundant configuration check, which is now done in
46627         `epg-make-context'.
46629 2016-06-09  Daiki Ueno  <ueno@gnu.org>
46631         epg: don't start pinentry if it is useless
46633         * lisp/epg.el (epg--start): Don't start pinentry server if the
46634         session is non-interactive or pinentry-mode is set.
46636 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46638         Replace IF_LINT by NONVOLATILE and UNINIT
46640         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
46641         * .dir-locals.el (c-mode): Adjust to macro changes.
46642         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
46643         (IF_LINT): Remove.  All uses replaced by the new macros.
46645 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
46647         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
46649         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
46650         in favor of ‘cl-letf’ macro which is more generic.  All existing
46651         uses are migrated accordingly.  The macro has not been included in
46652         an official release yet so it should be fine to delete it.
46654 2016-06-08  Glenn Morris  <rgm@gnu.org>
46656         * test/lisp/emacs-lisp/package-tests.el
46657         (package-test-update-archives-async): Try re-enabling on hydra.
46659 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46661         * src/fileio.c (auto_save_error): Omit unused local.
46663 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46665         Simplify overflow check via INT_SUBTRACT_WRAPV
46667         * src/editfns.c (check_tm_member): Simplify integer overflow check.
46669 2016-06-07  Glenn Morris  <rgm@gnu.org>
46671         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
46673         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
46674         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
46675         Ensure gnutls-serv process gets killed.
46676         (echo-server-nowait, connect-to-tls-ipv4-nowait):
46677         Limit the amount of time we might wait.
46679 2016-06-07  Glenn Morris  <rgm@gnu.org>
46681         Reduce allout.el's pollution of the namespace.
46683         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
46684         Keep old name as obsolete alias.
46685         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
46686         (allout-solicit-char-in-string)
46687         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
46688         Rename to add an "allout-" prefix.
46690 2016-06-07  Glenn Morris  <rgm@gnu.org>
46692         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
46694 2016-06-07  Glenn Morris  <rgm@gnu.org>
46696         Misc small webjump updates.
46698         * lisp/net/webjump.el (webjump): Add custom group.
46699         (webjump-sample-sites): Make it a constant.
46700         Remove explicit, old list of GNU ftp mirrors.
46701         (webjump-state-to-postal-alist): Make it a constant.
46702         (webjump-sites): Make it a defcustom.
46703         (webjump-to-iwin): Update for changed remote service.
46705 2016-06-07  Glenn Morris  <rgm@gnu.org>
46707         Do not hard-code port for package test server.  (Bug#23708)
46709         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
46710         Do not hard-code port.
46711         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
46712         Update for the above change.
46714 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46716         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
46718 2016-06-07  Glenn Morris  <rgm@gnu.org>
46720         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
46722 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46724         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
46725         Fix non-file-visiting-buffer case.  (Bug#22678)
46727 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46729         Port --enable-gcc-warnings to clang 3.7.0
46731         * configure.ac: Add -Wno-tautological-compare to avoid bogus
46732         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
46733         seem to be needed, at least in Fedora 23 x86-64.
46735 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46737         Use __builtin_assume_aligned on untagged Lisp vals
46739         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
46740         New macros, for compilers not already defining them.
46741         (__has_builtin___builtin_assume_aligned): New macro.
46742         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
46743         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
46745 2016-06-07  Glenn Morris  <rgm@gnu.org>
46747         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
46748         aliases as the type of their targets.
46750 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46752         * lisp/simple.el (process-menu-mode, list-processes--refresh):
46753         Include PID.  (Bug#21725)
46755 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46757         Merge from origin/emacs-25
46759         6e3adf8 Fix crash in syntax.c after GC
46760         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
46761         9d5cceb Fix doc string quoting
46762         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
46763         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
46765 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46767         Merge from origin/emacs-25
46769         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
46770         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
46771         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
46772         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
46774 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46776         Use standard Unicode names for Thai, Lao
46778         * lisp/language/lao-util.el, lisp/language/thai-util.el:
46779         Don’t override standard Unicode character name (Bug#23698).
46781 2016-06-06  Glenn Morris  <rgm@gnu.org>
46783         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
46784         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
46786 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
46788         Some fixes in filenotify-tests.el for cygwin
46790         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
46791         Reintroduce value for cygwin, it's needed on slow systems.
46792         (file-notify--wait-for-events): Move up definition.
46793         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
46794         (file-notify--test-with-events-check, file-notify--test-with-events)
46795         (file-notify-test08-watched-file-in-watched-dir):
46796         Use :random rather than `random.
46797         (file-notify-test06-many-events): Do not skip for cygwin.
46799 2016-06-05  Juri Linkov  <juri@linkov.net>
46801         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
46803         If non-nil, operate on multiple chunks.  (Bug#23655)
46805         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
46807 2016-06-05  Juri Linkov  <juri@linkov.net>
46809         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
46811         to interactive spec to handle shift-selection.  (Bug#23642)
46813 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
46815         Improve robustness of filenotify-tests.el (Bug#23618)
46817         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
46818         (file-notify--test-no-descriptors-explainer)
46819         (file-notify--test-cleanup-p): New defuns.
46820         (file-notify--test-cleanup): Don't check for
46821         `file-notify--test-event' anymore, that's done in
46822         `file-notify--test-no-descriptors'.
46823         (file-notify--test-with-events-check)
46824         (file-notify--test-with-events): Handle the `random' marker.
46825         (file-notify--test-with-events-explainer): Improve readability.
46826         (file-notify-test00-availability)
46827         (file-notify-test01-add-watch, file-notify-test02-events)
46828         (file-notify-test03-autorevert)
46829         (file-notify-test04-file-validity)
46830         (file-notify-test05-dir-validity)
46831         (file-notify-test06-many-events, file-notify-test07-backup)
46832         (file-notify-test08-watched-file-in-watched-dir)
46833         (file-notify-test09-sufficient-resources): Check also
46834         `file-notify--test-cleanup-p'.
46835         (file-notify-test04-file-validity)
46836         (file-notify-test05-dir-validity): Use `ignore' as handler.
46837         (file-notify-test05-dir-validity)
46838         (file-notify-test06-many-events): Delete directory finally.
46839         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
46841 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
46843         man.el: Fix links on hyphenated words (bug#23647)
46845         * lisp/man.el (Man-bgproc-sentinel): Make links work on
46846         hyphenated words.
46848 2016-06-05  K. Handa  <handa@gnu.org>
46850         Add category 'j' to more characters.
46852         * lisp/international/characters.el: Add category 'j' (Japanese)
46853         to characters in japanese-jisx0213.2004-1.
46855 2016-06-04  Tino Calancha  <f92capac@gmail.com>
46857         isearch-edit-string resumes multi isearches
46859         * lisp/isearch.el (with-isearch-suspended): Remember and restore
46860         multi-isearch variables.  (Bug#21663)
46862 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
46864         Fix Eshell display when RTL characters are involved
46866         * lisp/eshell/esh-mode.el (eshell-mode): Set
46867         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
46869 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
46871         Make ses-jump with completing input.
46873         * lisp/ses.el (ses-jump): Make symbol input completing against list of
46874           named cells.
46876 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46878         Port angle-bracket TZ settings to MS-Windows
46880         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
46881         lack of support for numeric time zone abbreviations.
46882         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
46883         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
46884         Problem reported by Kazuhiro Ito (Bug#23600).
46886 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46888         Avoid delving into Git internals for version
46890         * lisp/loadup.el (exec-path): Set it to nil later, so that
46891         emacs-repository-get-version can invoke git commands in the PATH.
46892         * lisp/version.el (emacs-repository--version-git-1): Remove.
46893         (emacs-repository-get-version): Let Git do it rather than
46894         delving into Git internals.
46896 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
46898         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
46900 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46902         Fix emacs-repository-get-version with packed .git
46904         * lisp/version.el (emacs-repository-get-version):
46905         Parse .git/packed-refs if it exists.
46906         Problem reported by Martin Rudalics in:
46907         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
46909 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
46911         Minor change in tramp.texi
46913         * doc/misc/tramp.texi (Password handling): Do not discuss
46914         anymore how to get password-cache.el.  It is bundled with
46915         Emacs.
46917 2016-06-01  Alan Mackenzie  <acm@muc.de>
46919         Correct fontification and indentation of C++'s "constexpr" expressions
46921         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
46922         (c-modifier-kwds): Add "constexpr".
46924 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
46926         Cosmetic change to kinsoku-eol.  (tiny change)
46928         * lisp/international/kinsoku.el (kinsoku-eol): Make the
46929         order of characters match with the comments.
46931 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
46933         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
46935         * lisp/language/japan-util.el (japanese-kana-table): Add an
46936         entry for HIRAGANA ITERATION MARK (U+309D).
46937         (japanese-alpha-numeric-table): Fix docstring.
46939 2016-05-31  K. Handa  <handa@gnu.org>
46941         Fix incomplete handling of translation table in a coding system.
46943         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
46944         is an alist, return a character or a vector of character.
46945         (produce_chars): Adjust for the above change.
46946         (consume_chars): Likewise.
46948 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
46950         Improve robustness for out-of-band copy in Tramp
46952         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
46953         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
46954         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
46955         Cosmetic changes.
46957         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
46958         Use local `default-directory'.  Simplify command to send.
46959         Don't check return code, this was already done in
46960         `tramp-process-actions'.
46961         (tramp-get-inline-coding): Don't set `default-directory'.
46963         * lisp/net/tramp.el (tramp-action-out-of-band):
46964         Throw `out-of-band-failed'.
46965         (tramp-process-actions): Handle `out-of-band-failed'.
46966         (tramp-call-process, tramp-call-process-region):
46967         Use local `default-directory'.
46969 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
46971         Merge from origin/emacs-25
46973         788c9b6 ; Spelling fix
46974         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
46975         0992ec3 Correct cl-flet usage (Bug#22317)
46976         50caae3 Release MH-E manual version 8.6
46977         602bb40 Update MH-E's documentation about HTML renderers
46978         89018f0 Fx the we->the typo
46979         845ee57 Restore frames into the current display by default
46980         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
46981         01c3cd1 etc/TODO: Remove out-of-place issue
46982         5e18486 Clarify doc string of 'file-name-sans-extension'
46983         bffda22 Fix the MSDOS build
46984         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
46985         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
46986         f7ffc4b Fix infloop in 'number-sequence'
46987         4ab2673 ; Spelling and punctuation fixes in comments
46988         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
46990 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
46992         * lisp/emacs-lisp/autoload.el: Use radix-tree.
46994          (autoload--make-defs-autoload): Rewrite.
46995         (autoload--split-prefixes-1): Remove.
46996         (autoload-def-prefixes-max-entries): Rename from
46997         autoload-defs-autoload-max-size.
46998         (autoload-popular-prefixes): Remove.
46999         (autoload-def-prefixes-max-length): New const.
47001         * lisp/emacs-lisp/radix-tree.el: New file.
47003 2016-05-30  Ken Brown  <kbrown@cornell.edu>
47005         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
47007 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47009         Omit IF_LINT code that no longer seems needed
47011         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
47012         and now is as good a time as any to remove uses of IF_LINT that
47013         now seem to be unnecessary.
47014         * lib-src/emacsclient.c (set_local_socket):
47015         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
47016         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
47017         * src/casefiddle.c (casify_region):
47018         * src/charset.c (load_charset_map):
47019         * src/coding.c (decode_coding_object, encode_coding_object):
47020         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
47021         (cons_to_unsigned, cons_to_signed):
47022         * src/frame.c (make_frame, x_set_frame_parameters):
47023         * src/keyboard.c (read_event_from_main_queue):
47024         * src/regex.c (regex_compile):
47025         * src/syntax.c (back_comment):
47026         * src/window.c (Frecenter):
47027         * src/xfaces.c (Fx_list_fonts):
47028         Remove IF_LINT that no longer seems necessary.
47029         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
47030         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
47031         a pragma dance to pacify GCC -Wclobbered.
47032         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
47034         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
47035         mean we do not need IF_LINT any more.
47036         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
47037         at the end, to forestall warnings from older compilers.
47039 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47041         Port --enable-gcc-warnings to Cygwin, FreeBSD
47043         These platforms have a bug where _Noreturn is empty when 'lint' is
47044         defined.  Problem reported by Ken Brown (Bug#23640).
47045         * configure.ac (GCC_LINT): Rename from 'lint'.
47046         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
47048 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47050         Update from gnulib
47052         This incorporates:
47053         2016-05-30 Use GCC_LINT, not lint
47054         2016-05-29 secure_getenv: Port to many more platforms.
47055         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
47056         * m4/secure_getenv.m4: Copy from gnulib.
47058 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
47060         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
47062         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
47064 2016-05-30  Ken Brown  <kbrown@cornell.edu>
47066         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
47068 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
47070         Fix Bug#23631 for Tramp
47072         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
47073         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
47074         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
47075         Fix caching problems.
47077         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
47079         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
47080         Move duplicate deletion ...
47081         (tramp-smb-handle-file-name-all-completions): ... here.
47083         * lisp/net/tramp.el (tramp-handle-file-name-completion):
47084         Handle `completion-ignored-extensions'.  (Bug#23631)
47086         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47087         Test also `completion-regexp-list' and `completion-ignored-extensions'.
47089 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
47091         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
47093         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
47095 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47097         Fix up remainder of the mml property change
47099         * lisp/gnus/message.el (message-send-mail): Use the renamed
47100         mml-buffer-substring-no-properties-except-some function.
47101         (message-send-news): Ditto.
47103 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47105         Allow preserving EXIF rotations when sending HTML messages
47107         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
47108         rotation if you have exiftool installed and the image format
47109         supports it.
47110         (mml-expand-html-into-multipart-related): Use it.
47111         (mml-buffer-substring-no-properties-except-some): Renamed and
47112         copy display properties, too.
47114 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47116         Make message-toggle-image-thumbnails work better
47118         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
47119         `insert-image' instead of `put-image' to make it possible to
47120         edit the resulting text in a sensible manner.
47122 2016-05-29  Alan Mackenzie  <acm@muc.de>
47124         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
47126         Remove the now redundant c-old-BOM and c-old-EOM.
47128         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
47129         meaning.
47130         (c-macro-cache-no-comment): New variable.
47131         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
47132         the new c-macro-cache-no-comment.
47133         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
47134         (c-no-comment-end-of-macro): New function.
47136         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
47137         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
47139         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
47140         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
47141         c-old-BOM/EOM.
47142         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
47143         a cons for the new region, since the function is now called as an after-change
47144         function.  No longer adjust c-new-END for the length of inserted/deleted
47145         text.  Move the size restrictions on macros to here from
47146         c-neutralize-syntax-in-and-mark-CPP.
47147         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
47148         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
47149         upper boundary to "neutralize" syntactically obtrusive characters.
47150         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
47151         one.
47153 2016-05-28  Ken Brown  <kbrown@cornell.edu>
47155         Avoid compiler warnings
47157         * src/cygw32.c (chdir_to_default_directory): Use "void" as
47158         argument list.  Use SSDATA instead of SDATA.
47160         * src/unexcw.c (fixup_executable): Use %td as format specifier for
47161         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
47163 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
47165         Fix 'next-line' and 'previous-line' during keyboard macro
47167         * lisp/simple.el (line-move-visual): Handle the case when point
47168         moves outside of the visible portion of the buffer while executing
47169         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
47171 2016-05-28  Alan Mackenzie  <acm@muc.de>
47173         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
47175         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
47176         back over noise clauses and attribute clauses.
47178         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
47180 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
47182         Prevent locked-file errors in Rmail
47184         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
47185         calling 'rmail-insert-inbox-text'.  Unlock if
47186         'rmail-insert-inbox-text' doesn't modify buffer.
47187         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
47189 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
47191         Sync with Tramp repository.
47193         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
47194         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
47195         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
47196         Create BUFFER if it doesn't exist.  Reported by Nikolay
47197         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
47199         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
47200         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
47201         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
47202         (tramp-gvfs-get-directory-attributes)
47203         (tramp-gvfs-get-root-attributes)
47204         (tramp-gvfs-get-file-attributes): New defun.
47205         (tramp-gvfs-handle-file-attributes)
47206         (tramp-gvfs-handle-file-name-all-completions): Use them.
47207         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
47208         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
47209         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
47210         (top): Suppress D-Bus error messages during zeroconf initialization.
47212         * lisp/net/tramp.el (tramp-unknown-id-string)
47213         (tramp-unknown-id-integer): New defconst.
47214         (tramp-check-cached-permissions)
47215         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
47216         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
47217         (tramp-convert-file-attributes, tramp-get-remote-uid)
47218         (tramp-get-remote-gid): Use them.
47220         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
47221         Rename from `tramp-color-escape-sequence-regexp'.
47222         (tramp-sh-handle-insert-directory)
47223         (tramp-convert-file-attributes): Adapt callees.
47224         (tramp-device-escape-sequence-regexp): New defconst.
47225         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
47226         Gissurarson <icetritlo@gmail.com>.
47228         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
47229         Simplify.
47231         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
47232         (tramp-test28-shell-command):
47233         Use `tramp-display-escape-sequence-regexp'.
47235 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47237         Don’t document declare-function internals
47239         Suggested by Stefan Monnier in:
47240         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
47241         * doc/lispref/functions.texi (Declaring Functions):
47242         * lisp/subr.el (declare-function):
47243         * lisp/emacs-lisp/bytecomp.el:
47244         (byte-compile-macroexpand-declare-function):
47245         Document as (fn file &optional arglist fileonly)
47246         even though it is really (fn file &rest args).
47248 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47250         * src/puresize.h (BASE_PURESIZE): Increase it some more.
47252 2016-05-27  Glenn Morris  <rgm@gnu.org>
47254         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
47256         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
47257         avoid build failure.
47259 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47261         Port to platforms where rlim_max < 0
47263         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
47264         this can happen if a special value like RLIM_INFINITY is negative.
47266 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47268         Robustify stack-size calculation
47270         * src/emacs.c: Include getpagesize.h.
47271         (main): Check for integer overflow when computing stack size.
47272         Round new rlim_cur to pagesize boundary on all platforms, as this
47273         is easy and would have prevented Bug#23622.  If setrlimit
47274         fails, use current limit to determine re_max_failures.
47276 2016-05-27  Ken Brown  <kbrown@cornell.edu>
47278         Adjust filenotify-tests on Cygwin
47280         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
47281         Remove special case for Cygwin.
47282         (file-notify-test07-backup): Update expected results on Cygwin.
47284 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47286         Improve define-function omitted-arg documentation
47288         * doc/lispref/functions.texi (Declaring Functions):
47289         * lisp/subr.el (declare-function):
47290         Be clearer when documenting omitted args for define-function.
47292 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47294         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
47296 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47298         * lisp/subr.el (definition-prefixes): Expand docstring
47300         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
47301         Remove unused function.
47303 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
47305         Fix broken viper deactivation
47307         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
47308           args to advice-remove.
47309           (viper--advice-add): Use cons not list.
47311         Addresses bug#23625
47313 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
47315         Preserve buffer point in windows by default (Bug#4041).
47317         * doc/lispref/windows.texi: Mention new default.
47318         * etc/NEWS: Mention new default.
47319         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
47321 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47323         Fix byte-compiler pacification for declare-function
47325         Problem reported by Michael Heerdegen in:
47326         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
47327         * lisp/emacs-lisp/bytecomp.el:
47328         (byte-compile-macroexpand-declare-function):
47329         Revert signature to previous value.
47330         * lisp/subr.el (declare-function): Change signature to
47331         match the reverted signature used in the byte compiler.
47333 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47335         Update texinfo.tex
47337         This fixes Bug#23611 in a different (and presumably better) way.
47338         * doc/misc/texinfo.tex: Update from gnulib.
47340 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47342         Pacify 'make check-declare'
47344 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47346         Repair damage from emacs-25 merge
47348         * test/lisp/character-fold-tests.el:
47349         Remove, as it was renamed to test/lisp/char-fold-tests.el.
47350         * test/lisp/emulation/viper-tests.el:
47351         Rename from test/automated/viper-tests.el.
47353 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47355         Merge from origin/emacs-25
47357         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
47358         a4d882c Correct old cell name unbinding when renaming cell.
47359         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
47360         0be6725 Document problem: slow screen refresh on missing font.
47361         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
47362         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
47363         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
47364         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
47365         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
47366         897fb6f ; 'Changes from the pre-25.1 API' copyedits
47367         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
47368         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
47369         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
47370         2e589c0 Fix cross-references between manuals
47371         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
47372         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
47373         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
47374         503e752 ; * CONTRIBUTE: Fix a typo.
47375         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
47376         bdfbe6d ; * admin/release-process: Copyedits.
47377         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
47378         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
47379         df4a14b Add automated test for viper-tests.el
47380         c0139e3 Fix viper undo breakage from undo-boundary changes
47381         920d76c Fix reference to obsolete fn ps-eval-switch
47382         18a9bc1 Do not trash symlinks to init file
47383         2671179 Don't print the "decomposition" line for control chars in wha...
47384         869092c Bring back xterm pasting with middle mouse
47385         5ab0830 Provide workaround for xftfont rendering problem
47386         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
47387         30989a0 Mention GTK+ problems in etc/PROBLEMS
47388         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
47389         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
47390         e41a5cb Avoid errors with Czech and Slovak input methods
47391         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
47392         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
47393         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
47394         c45d9f6 Improve documentation of 'server-name'
47395         3b5e38c Modernize ASLR advice in etc/PROBLEMS
47396         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
47398 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
47400         Avoid byte-compiler warnings due to 'declare-function'
47402         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
47403         (w32-get-valid-locale-ids):
47404         * lisp/progmodes/js.el (ido-mode): Specify arglist in
47405         'declare-function' forms, to avoid byte-compiler warnings.
47407 2016-05-26  Glenn Morris  <rgm@gnu.org>
47409         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
47411         No-one puts info pages there.  If /share does exist, it's likely to
47412         contain remote file systems where access could be slow.
47414 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47416         Merge from origin/emacs-25
47418         2d76405 etc/AUTHORS: Update the AUTHORS file
47420 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47422         Merge from origin/emacs-25
47424         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
47426 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47428         Merge from origin/emacs-25
47430         939eb75 Fix bug in default setting of 'ps-paper-type'
47432 2016-05-26  Glenn Morris  <rgm@gnu.org>
47434         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
47436 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
47438         Fix Bug#23614.
47440         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47441         Let-bind `process-coding-system-alist' in order to suppress
47442         the value for "cmdproxy".
47444         * lisp/net/tramp.el (tramp-encoding-shell):
47445         `w32-shell-name' is a function.
47446         (tramp-encoding-command-switch)
47447         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
47449         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47450         Suppress some tests on MS Windows.  (Bug#23614)
47452 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
47454         hl-line.el: Fix flickering of highlighted line (bug#23510)
47456         * lisp/hl-line.el (hl-line-maybe-unhighlight)
47457         (global-hl-line-highlight-all)
47458         (global-hl-line-maybe-unhighlight): New functions.
47459         (hl-line-overlay-buffer): New variable.
47460         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
47461         pre-command-hook by hl-line-maybe-unhighlight on
47462         post-command-hook, to prevent hl-line from flickering.
47463         Adjust document string.
47464         (global-hl-line-mode): Use global-hl-line-highlight-all to
47465         simultaneously highlight the current line in all live windows.
47466         Replace global-hl-line-unhighlight on pre-command-hook by
47467         global-hl-line-maybe-unhighlight on post-command-hook, to
47468         prevent global-hl-line from flickering.  Remove
47469         global-hl-line-unhighlight from change-major-mode-hook on
47470         disabling the mode.  Adjust document string.
47472 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
47474         Make autoloads populate a new definition-prefixes table
47476         * lisp/subr.el (definition-prefixes): New hash table.
47477         (register-definition-prefixes): New function.
47479         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
47480         (autoload--split-prefixes-1, autoload--split-prefixes)
47481         (autoload--make-defs-autoload): New functions.
47482         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
47483         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
47484         (update-directory-autoloads): Don't touch loaddefs.el if the set of
47485         autoloads hasn't changed (i.e. if only the timestamp would change).
47487         * lisp/loadup.el: Purify definition-prefixes.
47489         * lisp/w32-fns.el: Keep name space clean.
47490         (w32-set-default-process-coding-system): Rename from
47491         set-default-process-coding-system.
47492         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
47494 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47496         Allow network-stream-tests to work for out-of-tree builds
47498         * test/lisp/net/network-stream-tests.el
47499         (network-stream-tests--datadir): New defconst.
47500         (make-tls-server): Use it.
47502 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47504         Fix failing echo-server-nowait test
47506         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47507         Specify IPv4 for the client, to match the family of the server.
47508         (Bug#23606)
47510 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47512         Allow shr-tests to work for out-of-tree builds
47514         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
47515         (shr-test, rendering): Use it.
47517 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47519         Update allowable arguments for open-network-stream
47521         * src/coding.c (Ffind_operation_coding_system): Allow t as a
47522         target for open-network-stream.  (Bug #23540)
47524 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
47526         Make js-mode's syntax highlighting work again
47528         * lisp/progmodes/js.el (js-mode): Fix the assigned
47529         font-lock-defaults value (bug#23603).
47531 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47533         * lisp/progmodes/cc-mode.el: Add minor comments
47535         (c-change-expand-fl-region): Mark args as unused.
47537 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47539         * lisp/url/url-http.el: Use lexical-binding
47541         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
47542         (url-http-wait-for-headers-change-function): Remove unused var
47543         `content-length'.
47544         (url-http): Remove unused vars `host' and `port'.
47546 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47548         * lisp/widget.el (define-widget): Use `declare' (which does work now).
47550         (widget-plist-member): Mark as obsolete.
47552 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47554         * lisp/image.el: Use lexical-binding
47556         (image-scaling-factor, imagemagick-types-inhibit)
47557         (imagemagick-enabled-types): Remove redundant :group.
47558         (image--get-image): Apply de-Morgan and use car-safe.
47559         (image-compute-scaling-factor): Use the argument.
47561 2016-05-23  Glenn Morris  <rgm@gnu.org>
47563         * lisp/image.el (image--get-image): Remove nonsensical code.
47565         * lisp/image.el (image--get-image): Avoid requiring a library for
47566         one trivial operation.
47568 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
47570         Don’t use only last protocol from getaddrinfo
47572         Problem reported by Ken Brown in:
47573         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
47574         * src/process.c (conv_addrinfo_to_lisp): New function.
47575         (connect_network_socket): Arg is now a list of addrinfos, not
47576         merely IP addresses.  All uses changed.  Use protocol from
47577         each addrinfo.
47578         (Fmake_network_process): Accumulate protocols into addrinfos
47579         rather than just using the last one found.
47580         (check_for_dns): Accumulate protocols here, too.
47581         * src/process.h (struct Lisp_Process): Remove ai_protocol;
47582         no longer needed.
47584 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
47586         Fix seq requirement that broke bootstrap
47588         * lisp/image.el (image--get-image): Require seq here, not at the
47589         top level, to avoid ‘(require seq) while preparing to dump’ while
47590         bootstrapping.  Suggested by Tino Calancha in:
47591         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
47593 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
47595         Add missing dependencies to seq.el
47597         * lisp/emacs-lisp/find-func.el:
47598         * lisp/ibuffer.el:
47599         * lisp/image.el: Require seq.
47601 2016-05-22  Alp Aker  <alp@food52.com>
47603         * src/process.c (SOCK_NONBLOCK): Fix typo.
47605 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
47607         Add completion of colors in CSS mode
47609         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
47610         from "CSS Color Module Level 3".
47612         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
47613         Update test.
47615 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
47617         Prefer SOCK_NONBLOCK to O_NONBLOCK
47619         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
47620         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
47621         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
47622         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
47623         the order does not matter here.
47625 2016-05-21  Alan Third  <alan@idiocy.org>
47627         Fix bug#16856, cursor leaves garbage in fringe on OS X.
47629         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
47630         being drawn outside the text area.
47632 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
47634         Fix compiler warnings in the MinGW build
47636         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
47637         -Wno-pointer-sign, to keep the noise level down.
47639         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
47640         -Wredundant-decls, as that produces a lot of noise due to
47641         redeclaration of time-related functions by gnulib.
47642         * nt/runemacs.c (set_user_model_id): Fix argument type of
47643         'SetCurrentProcessExplicitAppUserModelID'.
47645         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
47646         declare 'dpyinfo', as it is unused.
47647         (xpm_load): Fix warnings about pointer signedness.
47648         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
47649         prototypes.
47650         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
47651         (sys_select): Provide prototype.
47652         (g_b_init_compare_string_w): Move declaration to file scope.
47653         * src/w32heap.c (dumped_data_commit): Now static.
47654         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
47655         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
47656         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
47657         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
47658         Provide prototypes.
47659         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
47660         redundant prototypes.
47661         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
47662         (init_environment, sys_ctime): Avoid warnings about discarding
47663         'const' qualifier.
47664         Include utimens.h.
47665         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
47666         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
47667         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
47668         prototypes.
47669         (sys_rename_replace): Use %d to avoid compiler warnings.
47670         (_wsa_errlist): Make the message text 'const char *', to avoid
47671         compilation warnings.
47672         (dynlib_reset_last_error): Move prototype to file scope.
47673         (w32_get_resource): First argument is now 'const char *'.
47674         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
47675         (otf_features): Second argument is no 'const char *'.
47676         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
47677         (x_set_window_size): Remove redundant prototypes.
47678         (XChangeGC, XGetGCValues, w32_draw_underwave)
47679         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
47680         (x_calc_absolute_position, x_destroy_window): Now static.
47681         (menubar_selection_callback): Move prototype to file scope.
47682         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
47683         declaration.
47684         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
47685         (w32font_full_name): Fix warnings about implicit conversion of
47686         'float' to 'double'.
47687         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
47688         discarding 'const' qualifier.
47689         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
47690         (set_frame_menubar): Remove redundant prototypes.
47691         (menubar_selection_callback, w32_menu_display_help): Provide
47692         prototypes.
47693         (simple_dialog_show): Avoid warnings about discarding 'const'
47694         qualifier.
47695         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
47696         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
47697         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
47698         redundant prototypes.
47699         (current_popup_menu): Remove redundant declaration.
47700         (colormap_t): Member 'name' is now 'const char *'.
47701         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
47702         (x_decode_color, x_set_border_pixel)
47703         (x_clear_under_internal_border, x_set_name, hook_w32_key)
47704         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
47705         static.
47706         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
47707         (w32_msg_worker, w32_last_error): Provide prototypes.
47708         (funhook, lookup_vk_code): Avoid warnings about missing
47709         parentheses.
47710         (x_default_font_parameter, Fw32_notification_notify): Avoid
47711         warnings about discarding 'const' qualifier.
47712         (Fx_create_frame): Avoid warnings about empty body of 'else'.
47713         (x_screen_planes): Ifdef away unused function.
47714         (Fx_show_tip): Remove unused variables.
47715         (Fw32_battery_status): Avoid warnings about implicit promotion
47716         from float to double.
47717         (Fw32_notification_notify): Initialize 'timeout'.
47718         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
47719         define the TIMER_SETTIME_RUNNING value if it will be used.
47720         * src/w32notify.c (send_notifications): Ifdef away an empty if
47721         clause.  Remove unused variable.
47722         (watch_end, watch_completion): Provide prototypes.
47723         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
47724         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
47725         warning with pointer signedness.
47726         * src/gnutls.c (gnutls_x509_crt_get_signature)
47727         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
47728         don't load them from the GnuTLS library, as they are no longer
47729         used.
47730         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
47731         define, as it's unused.
47732         * src/unexw32.c (open_input_file, open_output_file)
47733         (close_file_data): Remove redundant prototypes.
47734         (_start): provide prototype.
47735         (mainCRTStartup): Move prototype to file level.
47736         (find_section): Use type-cast to shut up compiler warnings.
47737         (offset_to_section, relocate_offset): Now static.
47738         (find_section): First argument is now a 'const char *'.
47739         (offset_to_section): Ifdef away, as it's unused.
47740         * src/w32heap.h (find_section): Adjust prototype.
47741         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
47742         * src/dired.c (directory_files_internal_w32_unwind): Avoid
47743         warnings about missing prototypes.
47744         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
47745         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
47746         signedness.
47747         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
47748         Fix warnings about pointer signedness.
47749         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
47750         unused.
47751         * src/sysdep.c (_getpid): Remove redundant prototype.
47752         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
47753         [!MSDOS]: Don't define 'st', it's unused.
47754         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
47755         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
47756         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
47757         n_to_read, as it is not used.
47758         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
47759         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
47760         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
47761         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
47762         not used by DOS_NT builds, to avoid compiler warnings.
47763         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
47764         declaration.
47765         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
47766         up compiler warnings.
47767         * src/w32term.h (x_set_window_size, x_get_focus_frame)
47768         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
47769         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
47770         (x_free_frame_resources, x_real_positions)
47771         (display_x_get_resource): Remove redundant prototypes.
47773         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
47774         (sys_rename, gettimeofday): Provide prototypes.
47775         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
47776         declarations.
47777         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
47778         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
47779         (close_winsock, initialize_sockets, w32_set_user_model_id)
47780         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
47781         prototypes.
47782         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
47783         difference.
47784         (w32_set_user_model_id): Update prototype of
47785         SetCurrentProcessExplicitAppUserModelID to avoid compiler
47786         warnings.
47787         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
47788         shut up compiler warnings.
47789         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
47791 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
47793         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
47795         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
47796         wrap on a whitespace character if it's followed by another
47797         whitespace character.  When returning under WORD_WRAP for a screen
47798         line that is continued, restore to wrap point when atpos/atx
47799         position would be displayed on the next screen line due to
47800         line-wrap.  (Bug#23570)
47802 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
47804         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
47806 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
47808         Added tests for dos unibyte decoding.
47810         The underlying bug was previously fixed by Eli Zaretskii in commit
47811         c8109d9c4057d8cac79e2c139758cadd410e7446.
47813 2016-05-20  Philipp Stephani  <phst@google.com>
47815         Fix handling of ‘mouse-on-link-p’.
47817         If ‘mouse-on-link-p’ returns a string or vector, the first element
47818         is to be used as new event.  Translation to ‘mouse-2’ should only
47819         happen if the return value is not a string or vector.  See
47820         docstring of ‘mouse-on-link-p’ and Bug#23288.
47822         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
47823         value of ‘mouse-on-link-p’ according to documentation.
47825         * test/lisp/mouse-tests.el (bug23288-use-return-value)
47826         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
47828 2016-05-20  Daiki Ueno  <ueno@gnu.org>
47830         epg: Add a way to detect gpg1 executable for tests
47832         Fixes bug#23561.
47834         * test/automated/epg-tests.el
47835         (epg-tests-program-alist-for-passphrase-callback): New
47836         constant.
47837         (epg-tests-find-usable-gpg-configuration): New function,
47838         renamed from `epg-tests-gpg-usable'.  All callers changed.
47839         (epg-tests-gpg-usable): Remove.
47841         * lisp/epg-config.el (epg-config--program-alist): Factor out
47842         constructor element to...
47843         (epg-config--configuration-constructor-alist): ...here.
47844         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
47845         and add PROGRAM-ALIST argument.
47847 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
47849         Put point at beginning of display-time-world buffer.
47851         If display-time-world decides to popup vertically from the bottom of the
47852         frame and scroll-margin is nonzero, the top of the buffer contents are
47853         hidden due to scroll.
47854         * lisp/time.el (display-time-world-display): Move point to point-min
47855         after inserting contents.
47857 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47859         Allow null entries in face and image cache
47861         Problem reported by Tino Calancha (Bug#23580).
47862         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
47863         Don’t assume that the result is non-null.
47864         * src/xdisp.c (fill_image_glyph_string):
47865         Restore check that image pointer is non-null.
47867 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47869         Fix flyspell highlighting
47871         Problem reported by Jim Meyering (Bug#23575).
47872         * src/xdisp.c (extend_face_to_end_of_line):
47873         Fix typo in previous change.
47875 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
47877         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
47879 2016-05-18  Sam Steingold  <sds@gnu.org>
47881         python-describe-at-point: add and bind
47883 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47885         ‘make check-declare’ now chatters less
47887         * etc/NEWS: Document this.
47888         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
47889         Return relative names, not absolute.
47890         (check-declare-scan, check-declare-verify, check-declare-warn)
47891         (check-declare-file, check-declare-directory):
47892         Generate less chatter.  Use relative file names rather than
47893         absolute.  Don’t give up on computing a good file name for a
47894         diagnostic merely because the function name was bad.  Make
47895         malformed declarations more noticeable.  Don’t warn about
47896         "ext:..." declarations if check-declare-ext-errors is nil.
47897         (check-declare-errmsg): Remove.
47898         (check-declare-warn): New optional arg LINE.
47899         (check-declare-files): Put status into mode line rather than
47900         chattering.
47902 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47904         Pacify byte-compiler for byte-compile-macroexpand-declare-function
47906         * lisp/emacs-lisp/bytecomp.el: Change signature of
47907         byte-compile-macroexpand-declare-function to match that of
47908         declare-function.
47910 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47912         Pacify byte-compiler for with-wrapper-hook
47914         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
47915         New macro, split out from with-wrapper-hook.
47916         * lisp/abbrev.el (abbrev--default-expand):
47917         * lisp/minibuffer.el (completion--in-region):
47918         * lisp/simple.el (buffer-substring--filter):
47919         * lisp/subr.el (with-wrapper-hook):
47920         Use it.
47922 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47924         Pacify byte-compiler in lisp/url
47926         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
47927         Add decl.
47929 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47931         Port --enable-gcc-warnings to GCC 6.1
47933         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
47934         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
47935         Omit test whether pointer plus a constant equals a null pointer.
47936         * src/alloc.c (compact_small_strings):
47937         Avoid pointer arithmetic on null pointers.
47938         * src/alloc.c (mark_face_cache):
47939         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
47940         * src/fringe.c (draw_fringe_bitmap_1)
47941         (Fset_fringe_bitmap_face):
47942         * src/macfont.m (macfont_draw):
47943         * src/msdos.c (IT_set_face, IT_clear_screen):
47944         * src/nsfont.m (nsfont_draw):
47945         * src/nsterm.h (FRAME_DEFAULT_FACE):
47946         * src/nsterm.m (ns_draw_window_cursor)
47947         (ns_draw_vertical_window_border, ns_draw_window_divider)
47948         (ns_dumpglyphs_box_or_relief)
47949         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
47950         (ns_dumpglyphs_stretch):
47951         * src/w32term.c (w32_draw_vertical_window_border)
47952         (w32_draw_window_divider, x_set_mouse_face_gc):
47953         * src/xdisp.c (estimate_mode_line_height, init_iterator)
47954         (handle_face_prop, handle_single_display_spec, pop_it)
47955         (CHAR_COMPOSED_P, get_next_display_element)
47956         (next_element_from_display_vector, extend_face_to_end_of_line)
47957         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
47958         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
47959         (lookup_named_face):
47960         * src/xterm.c (x_draw_vertical_window_border)
47961         (x_draw_window_divider, x_set_mouse_face_gc):
47962         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
47963         * src/xterm.c (try_window_id):
47964         Redo loop to convince GCC 6.1 that it is null pointer safe.
47965         (x_color_cells):
47966         Use eassume as necessary to pacify GCC 6.1.
47967         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
47968         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
47969         behavior of the non-_OPT macro, to be used when the result
47970         might be a null pointer.
47971         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
47972         [HAVE_WINDOW_SYSTEM]:
47973         * src/intervals.h (INTERVAL_WRITABLE_P):
47974         * src/term.c (turn_off_face):
47975         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
47976         (produce_image_glyph, produce_xwidget_glyph):
47977         * src/xfaces.c (lookup_named_face):
47978         Remove unnecessary test for null pointer.
47979         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
47980         * src/process.c (would_block): New function.
47981         (server_accept_connection, wait_reading_process_output, send_process):
47982         Use it.
47983         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
47984         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
47985         might be null.
47987 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47989         Sync from gnulib
47991         This incorporates:
47992         2016-05-17 manywarnings: update for GCC 6.1
47993         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
47994         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
47996 2016-05-16  Glenn Morris  <rgm@gnu.org>
47998         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
47999         Include more details on hydra.
48001 2016-05-16  Alan Mackenzie  <acm@muc.de>
48003         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
48005 2016-05-16  Alan Mackenzie  <acm@muc.de>
48007         Fix spurious fontification of "for (; a * b;)" in CC Mode.
48009         This fixes bug #7918 (again).
48011         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
48012         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
48013         cons cell - additionally, return a flag indicating whether the declaration
48014         parsed might have been an expression, and the position of the type identifier
48015         in the said declaration.
48017         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
48018         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
48019         check for it being a spurious declaration in a "for" statement.
48021 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48023         Pacify ‘make check-declare’
48025         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
48026         (data-debug-insert-stuff-list, data-debug-insert-thing):
48027         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
48028         (viper-change-state-to-emacs):
48029         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
48030         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
48031         * lisp/org/ob-awk.el (orgtbl-to-generic):
48032         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
48033         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
48034         * lisp/org/ob-exp.el (org-element-context):
48035         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
48036         (orgtbl-to-generic):
48037         * lisp/org/ob-haskell.el (org-export-to-file):
48038         * lisp/org/ob-latex.el (org-create-formula-image)
48039         (org-latex-compile):
48040         * lisp/org/ob-python.el (run-python):
48041         * lisp/org/ob-sh.el (orgtbl-to-generic):
48042         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
48043         * lisp/org/org-colview.el (org-agenda-redo):
48044         * lisp/org/org-feed.el (url-retrieve-synchronously):
48045         * lisp/org/org-info.el (Info-find-node):
48046         * lisp/org/org-list.el (org-previous-line-empty-p):
48047         * lisp/org/org-macs.el (org-string-match-p):
48048         * lisp/org/org.el (org-beamer-mode):
48049         Fix prototype to match current definition.
48050         * lisp/emacs-lisp/advice.el (function-called-at-point):
48051         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
48052         Fix typo: extra '.
48053         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
48054         Insert ,' to pacify check-declare.
48055         * lisp/org/ob-comint.el (tramp-flush-directory-property):
48056         * lisp/org/ob-tangle.el (org-babel-update-block-body):
48057         * lisp/org/org-bibtex.el (org-babel-trim):
48058         * lisp/org/org-pcomplete.el (org-export-backend-options):
48059         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
48060         Fix file name in declare-function.
48061         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
48062         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
48063         * lisp/org/org.el (org-beamer-mode):
48064         * lisp/url/url-http.el (gnutls-negotiate):
48065         Append ‘t’ to declare-function, since the declaration isn’t a defun.
48066         * lisp/org/ob-core.el (show-all):
48067         Declare outline-show-all instead, since it is the
48068         non-obsolete version of this function.
48069         (org-save-outline-visibility): Remove; not needed.
48070         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
48071         (geiser-eval-region, geiser-repl-exit):
48072         * lisp/org/ox-org.el (htmlize-buffer):
48073         Prepend "ext:" to file name, since it is not part of Emacs.
48074         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
48075         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
48076         Remove decl, since function was removed.
48077         * lisp/org/ob-sh.el (org-babel-comint-with-output):
48078         * lisp/org/org-macro.el (org-with-wide-buffer):
48079         Omit unnecessary (and mismatching) decl.
48080         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
48081         * lisp/org/org-clock.el (calendar-iso-to-absolute):
48082         Declare calendar-iso-to-absolute instead, since it is the
48083         non-obsolete version of this function.
48084         * lisp/org/org-compat.el (w32-focus-frame):
48085         Remove decl, since function is now obsolete.
48087 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
48089         :max-width/height fixes for shr after the scaling changes
48091         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
48092         max-width and max-height even after the scaling changes done
48093         earlier this year.
48095 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
48097         Fix reading minibuffer input in viper-mode
48099         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
48100         Restore an assignment to viper-initial that got lost when
48101         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
48103 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48105         Port autogen.sh to Git 2.4
48107         Problem reported by Michael Brand in:
48108         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
48109         * autogen.sh (git_config): Don't assume that git rev-parse
48110         groks --git-common-dir.
48112 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48114         Merge from origin/emacs-25
48116         6de0715 Properly reject malformed or empty package sigs
48117         edae7d9 Remove buggy non-native image scrolling
48119 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48121         Improve display of tex-verbatim and Info quoted
48123         Problem reported by Glenn Morris (Bug#19889).
48124         * doc/emacs/display.texi (Standard Faces):
48125         * doc/lispref/display.texi (Basic Faces):
48126         * etc/NEWS: Mention fixed-pitch-serif.
48127         * lisp/faces.el (face-font-family-alternatives):
48128         New family alias Monospace Serif.
48129         (fixed-pitch-serif): New face, which uses the new family.
48130         * lisp/info.el (Info-quoted):
48131         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
48132         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
48133         Add test case for Monospace Serif.
48135 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
48137         * lisp/net/sieve-mode.el: Handle the text:... notation
48139         Get rid of redundant :group keywords.
48140         (sieve-mode-syntax-table): Move initialization into declaration.
48141         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
48142         (sieve-mode): Use them.
48144 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48146         Tweak check-declare-directory performance
48148         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
48149         Use ‘find ... -exec ... +’ for speed.
48151 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48153         Sync from gnulib
48155         This incorporates a spelling fix, plus:
48156         2016-05-09 Fix undefined behavior in gettext.h
48157         * lib/gettext.h, lib/mktime.c:
48158         Copy from gnulib.
48160 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48162         Merge from origin/emacs-25
48164         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
48165         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
48166         1a5a05c Do not mistake colon at the end of regexp for slash symbol
48167         4c5a00b Make package-install-from-buffer not move point
48168         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
48169         f79c352 Redo the fix for bug#21839
48170         8d2f78c Don't treat JS spread as contination method call
48172 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
48174         Correct server/client address
48176         * src/process.c (Fmake_network_process): :local is for servers and :remote
48177         is for clients.
48179 2016-05-12  Ken Brown  <kbrown@cornell.edu>
48181         Autosave buffers on logout if HAVE_NTGUI
48183         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
48184         w32_read_socket.
48186         * src/w32term.c (w32_read_socket): Create an event of type
48187         END_SESSION_EVENT if a WM_ENDSESSION message is received.
48189         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
48191         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
48192         `end-session'.
48193         (kbd_buffer_get_event): Return an end-session event if an event of
48194         type END_SESSION_EVENT is read.
48195         (keys_of_keyboard): Bind the end-session event to kill-emacs in
48196         special-event-map.  (Bug#23483)
48198 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48200         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
48202         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
48203         (object-print): Use cl-call-next-method instead of call-next-method.
48204         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
48206 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48208         * lisp/cedet/semantic: Silence some warnings
48210         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
48211         (semanticdb-get-database-tables): Use make-instance to silence warnings.
48213         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
48214         some macros from there.  Silence compilation warnings:
48215         Replace initargs with slot names in oref/oset.
48216         Move `SYMREF TOOLS' section earlier so definitions precede their use.
48218 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
48220         Support srcset in <img>
48222         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
48223         with srcset specifiers (bug#23459).
48225 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48227         Do not autoload some functions of tramp.el
48229         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48230         Autoload a shortened version of this function, avoid recursive load.
48231         (tramp-completion-file-name-handler-alist)
48232         (tramp-completion-mode-p)
48233         (tramp-completion-handle-expand-file-name)
48234         (tramp-completion-handle-file-name-all-completions)
48235         (tramp-completion-handle-file-name-completion): Do not autoload.
48237 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48239         Avoid recursive load of tramp.el
48241         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48242         Autoload a shortened version of this function, avoid recursive load.
48244 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
48246         Fix a problem of tramp-tests on hydra.
48248         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48249         Nullify `tramp-default-method' due to hydra.
48251 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48253         Pacify byte-compiler in lisp/vc
48255         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
48256         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
48257         Declare functions defined elsewhere, to forestall “might not
48258         be defined at runtime” warnings.
48260 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48262         Merge from origin/emacs-25
48264         d0d9f55 Allow newlines inside cl function arglists
48265         963541a Publicize cl--generic-all-functions
48266         3c581d5 ; Fix typo
48267         e58f900 Add some "safe-local-variable" declarations for compatibility...
48269 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48271         'text-quoting-style' now affects only ` and '
48273         Change 'text-quoting-style' so that it no longer affects
48274         formatting of curved quotes in format arguments to functions like
48275         'message'.  In particular, when this variable's value is 'grave',
48276         all quotes in formats are output as-is.
48277         * doc/lispref/help.texi (Keys in Documentation):
48278         * doc/lispref/strings.texi (Formatting Strings):
48279         * doc/lispref/tips.texi (Documentation Tips):
48280         * etc/NEWS:
48281         * src/doc.c (syms_of_doc): Document this.
48282         * lisp/help-fns.el (describe-function-1):
48283         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
48284         (syms_of_doc):
48285         * src/editfns.c (styled_format): Omit now-unnecessary code.
48286         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
48288 2016-05-10  Alan Mackenzie  <acm@muc.de>
48290         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
48292         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
48293         being reverted because it slowed down CC Mode's fontification too much
48294         (factor ~3).  It was the fix to bug #7918.
48296 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
48298         Move "Recent messages" earlier in report-emacs-bug
48300         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
48301         messages" part earlier so that users can see it and remove it
48302         if they want.
48304 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48306         Pacify byte compiler in tramp.el
48308         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
48310 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
48312         Merge from origin/emacs-25
48314         3b47898 Fix doc string in `insert'
48315         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
48316         cd27f73 Say 'All results processed' at the end
48317         4ffec91 Document automatic adjustment of process' logical window dime...
48318         dc66271 ; Fix typos and stylistic glitches in NEWS
48320 2016-05-09  Alan Mackenzie  <acm@muc.de>
48322         CC Mode now uses the new :after-hook feature of define-derived-mode
48324         It now runs internal variable setting functions after the mode hooks, no
48325         longer runs the mode hooks twice, and declares the configuration variables for
48326         noise macros and macros with semicolons as safe variables (when given suitable
48327         arguments).
48329         Fixes bug #16759 and bug #23476.
48331         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
48332         back into the C Mode value.
48334         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
48335         c-make-macro-with-semi-re.
48336         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
48337         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
48338         and c-update-modeline into the :after-hook form.  Remove the explicit settings
48339         of the syntax table, the abbreviation table and the local key map, since they
48340         duplicate forms generated by define-derived-mode.  Remove the explicit
48341         invocation of each mode's mode hook, since they duplicate ones generated by
48342         define-derived-mode.
48344         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
48345         functions.
48346         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
48347         save-local-variable property c-string-list-p.
48348         (c-macro-names-with-semicolon): give the save-local-variable property
48349         c-string-or-string-list-p.
48351         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
48352         necessary to call the regexp generating functions after setting the pertinent
48353         configuration values in a mode hook.
48355 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
48357         Fix the jit-lock-fontify-now test names
48359         * test/lisp/jit-lock-tests.el
48360         (jit-lock-fontify-now-mends-the-gaps)
48361         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
48362         Fix the test names.
48364 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48366         Extend completion candidates in tramp.el
48368         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
48369         (tramp-get-completion-function): Use it.
48371 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48373         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
48375         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
48376         compatibility.
48378 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
48380         Emulate interactive mode
48382         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
48383         (jit-lock-does-not-refontify-unnecessarily):
48384         Bind noninteractive to nil (bug#23278).
48386 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
48388         Simplify now that float-time etc. are built-in
48390         This was prompted by warnings about calls to now-obsolete functions.
48391         * lisp/calendar/time-date.el (encode-time-value):
48392         Use setq rather than a recursive call, to avoid a warning
48393         about calling this obsolete function.
48394         * lisp/calendar/time-date.el (encode-time-value)
48395         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
48396         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
48397         * lisp/net/rcirc.el (rcirc-float-time):
48398         * lisp/org/org-compat.el (org-float-time):
48399         Simplify now that time-add and float-time are now built-in.
48400         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
48401         * lisp/net/newst-backend.el (time-add):
48402         * lisp/org/org.el (time-subtract):
48403         Remove backward-compatibility definitions; they are now built-in.
48404         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
48405         (timeclock-seconds-to-time):
48406         * lisp/net/rcirc.el (rcirc-float-time):
48407         * lisp/org/org-compat.el (org-float-time):
48408         Now obsolete, since callers can just use float-time and
48409         seconds-to-time.  All uses changed.
48410         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
48411         * lisp/gnus/gnus-art.el (article-lapsed-string):
48412         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
48413         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
48414         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
48415         * lisp/net/tramp.el (tramp-time-diff):
48416         * lisp/org/org-clock.el (org-clock-timestamps-change):
48417         Prefer the time-subtract builtin to the subtract-time alias.
48418         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
48419         * test/lisp/character-fold-tests.el (character-fold--speed-test):
48420         Prefer the float-time builtin to the time-to-seconds alias.
48421         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
48422         * lisp/org/org-timer.el, lisp/org/org.el:
48423         Adjust to org-float-time deprecation.
48425 2016-05-08  Alan Mackenzie  <acm@muc.de>
48427         Add :after-hook facility to define-derived-mode.
48429         This allow a form to be evaluated _after_ a major mode's hooks have been run.
48430         It is needed to solve some problems in CC Mode, including bug #16759 and
48431         bug #23476.
48433         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
48434         `:after-hook', and generate the requisite code for it.
48435         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
48437         * lisp/subr.el (delayed-after-hook-forms): New variable.
48438         (run-mode-hooks): As the last thing evaluate the forms in
48439         delayed-after-hook-forms.
48441         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
48442         (Mode Hooks): Document the new feature in run-mode-hooks.
48444         * etc/NEWS: Note the new feature.
48446 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
48448         Fix recursive load of tramp.elc
48450         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48451         Check also for `tramp-completion-mode-p'.
48452         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
48454 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
48456         Prefer grep -E/-F to egrep/fgrep
48458         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
48459         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
48460         are probably more portable.
48461         * lib-src/etags.c (main):
48462         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
48463         (eshell/fgrep):
48464         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
48465         * lisp/eshell/esh-var.el (eshell-apply-indices):
48466         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
48467         (ada-find-in-src-path):
48468         * lisp/textmodes/ispell.el (ispell-grep-command):
48469         (ispell-lookup-words):
48470         Use or document grep -E and grep -F instead of egrep and fgrep.
48471         * lisp/textmodes/ispell.el (ispell-grep-options):
48472         Use -Ei on all platforms, not just MS-Windows.
48474 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
48476         Avoid unnecessary work if a chunk is empty
48478         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
48479         if a chunk is empty (bug#23278).
48481 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
48483         * test/lisp/jit-lock-tests.el: New file.
48485 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
48487         Continue to fix Bug#10085
48489         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
48490         <expand-file-name>: Add handler.
48491         (tramp-completion-handle-expand-file-name): New defun.
48492         (tramp-handle-file-name-as-directory): Handle completion mode case.
48494         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48495         Fix test.
48496         (tramp-test24-file-name-completion): Extend test.
48498 2016-05-07  Alan Mackenzie  <acm@muc.de>
48500         Revert change 8e4595a... due to annoyance it causes the development team.
48502         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
48503         +0000 was an enhancement to .dir-locals to allow correct fontification
48504         of certain macro constructs.
48506         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
48508 2016-05-07  Alan Mackenzie  <acm@muc.de>
48510         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
48512 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
48514         Add tests for CSS mode completion
48516         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
48517         (css-test-property-values-no-duplicates)
48518         (css-test-value-class-lookup): Use `seq-sort'.
48519         (css-mode-tests--completions): New helper function for retrieving CSS
48520         completions.
48521         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
48522         (css-test-complete-property-value, css-test-complete-pseudo-class)
48523         (css-test-complete-pseudo-element, css-test-complete-at-rule)
48524         (scss-test-complete-at-rule, css-test-complete-property)
48525         (css-test-complete-selector, css-test-complete-nested-selector)
48526         (scss-test-complete-nested-selector): New tests.
48528 2016-05-06  Alan Mackenzie  <acm@muc.de>
48530         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
48532         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
48533         variables which was missing.
48535         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
48536         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
48538         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
48539         (Edebug Options): Document the new option.  Also add documentation for
48540         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
48541         edebug-print-circle, edebug-sit-for-seconds.
48543         * etc/NEWS: Note the new feature.
48545 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
48547         scheme.el: Turn literal tabs into \t
48549         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
48550         also caught some literal tabs in character classes. Fix this by
48551         adding \t to those classes.
48553 2016-05-07  Tino Calancha  <f92capac@gmail.com>
48555         Make 'backtab' work in table-mode on text terminals
48557         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
48558         explicitly.  (Bug#23456)
48560 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
48562         Try to speed-up display of many all-blank lines
48564         * src/bidi.c (bidi_initialize): Use anchored regexps for
48565         paragraph start and paragraph separator sequences.  (Bug#23457)
48567 2016-05-06  Alan Mackenzie  <acm@muc.de>
48569         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
48571         Prevent hack-local-variables being called from the fundamental-mode mode call
48572         early in normal-mode.  This fixes bug #23460 and bug #23463.
48574         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
48575         the things it calls, with the exception of hack-local-variables.
48577         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
48578         major mode initialization.
48580 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
48582         Port xref-tests to master branch
48584         Also, add a test to make this problem less likely in the future.
48585         * test/Makefile.in (check-no-automated-subdir): New rule.
48586         (check, check-expensive, check-maybe): Depend on it.
48587         * test/automated/data/xref/file1.txt: Rename to ...
48588         * test/data/xref/file1.txt: ... here.
48589         * test/automated/data/xref/file2.txt: Rename to ...
48590         * test/data/xref/file2.txt: ... here.
48591         * test/automated/xref-tests.el: Rename to ...
48592         * test/lisp/progmodes/xref-tests.el: ... here.
48593         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
48595 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
48597         Merge from origin/emacs-25
48599         50650cb Doc fixes for fclist and grep
48600         5e814e0 Minor doc fixes for quoting
48601         3347a73 `nreverse' the marker pairs list
48602         1a4127d Use save-excursion in xref-location-marker more
48603         ab3ba91 shell-quote-argument DIR when appropriate
48604         922c7a3 Rework xref-query-replace-in-results
48605         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
48606         0932b94 Fix todo-mode bug involving archived items (bug#23447)
48607         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
48608         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
48609         4d8fd9c Handle "empty line" regexp in xref searches
48610         f559b37 Add tests for xref-collect-matches
48611         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
48612         6f82d8e Clear buffer-undo-list when showing xrefs
48613         c68a091 Note the quote translation in `message' in section "incompati...
48614         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
48615         93703c5 (Common Keywords): Correct what missing :group means
48616         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
48617         2ea2a2f Doc fixes for quoting
48618         8544b98 posnp doc clarification
48619         805204f Mention what a missing :group does
48620         ec554d7 Fix documentation of dired-aux search/replace commands
48622 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
48624         Support completion of HTML tags in CSS selectors
48626         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
48627         list of HTML tags for completion.
48628         (css--nested-selectors-allowed): New variable for determining whether
48629         nested selectors are allowed in the current mode.
48630         (css--complete-selector): New function for completing part of a CSS
48631         selector.
48632         (css-completion-at-point): Support completion of selectors.
48633         (scss-mode): Allow nested selectors.
48635 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
48637         Make `R' in eww work more reliably
48639         * lisp/net/eww.el (eww-score-readability): Protect against
48640         null children.
48642 2016-05-05  Alan Mackenzie  <acm@muc.de>
48644         Call hack-local-variables from major modes rather than from file visiting
48646         This prevents file/directory local variables from being lost when the major
48647         mode is set or changed.
48649         This fixes bug #15577 and bug #23407.
48651         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
48652         function hasn't already done so.
48653         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
48654         its previous non-nil setting be t, and introduce the following action for a
48655         non-nil non-t value: apply all settings apart from `mode'.
48657         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
48658         which are visiting files.
48660         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
48661         sets file variables.
48662         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
48663         dir local variables, but `coding' can't.
48665         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
48666         also calls `hack-local-variables'.
48667         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
48668         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
48669         saying that the mode IS SET, not merely "selected" or "chosen".
48670         (Mode Hooks): Document change to `run-mode-hooks'.
48672         * doc/lispref/variables.texi (File Local Variables): Document change to
48673         `hack-local-variables'.
48675 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
48677         tramp-sh.el: Work around a stat bug
48679         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
48680         stat versions which produce shell quoted output.  See also
48681         coreutils Bug#23422.
48683 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
48685         Fix autogen.sh for separate worktrees
48687         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
48688         of assuming .git/hooks is a directory.
48690 2016-05-04  Alan Mackenzie  <acm@muc.de>
48692         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
48694         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
48695         when text-quoting-style is `leave'.
48697         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
48699         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
48700         `text_quoting_style'.
48701         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
48702         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
48703         LEAVE_QUOTING_STYLE.
48705         * src/editfns.c (styled_format): Set quoting_style to -1 when
48706         text-quoting-style is `leave'.
48708 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
48710         * lisp/emulation/viper.el:
48711         * lisp/emulation/viper-cmd.el: Use lexical-binding.
48712         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
48713         args, for use in advice-add.
48714         (viper--init-message): Rename from init-message.
48715         (viper-minibuffer-standard-hook): Adjust accordingly.
48716         (viper-undo): Remove unused var `modified'.
48717         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
48718         Don't use dynamic vars as args.
48719         (viper-submit-report): Clarify use of dynamic vars.
48721         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
48722         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
48723         Use add-function rather than a `(lambda ...).
48724         (viper--advice-list): New var.
48725         (viper--advice-add, viper--deactivate-advice-list): New funs.
48726         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
48727         (viper-non-hook-settings): Don't hook into find-file any more.
48729 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
48731         * lisp/vc/ediff-util.el: Use lexical-binding.
48733         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
48735 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48737         Add an animation sanity check
48739         * lisp/image.el (image-multi-frame-p): Give up on animations
48740         if it seems like they are too slow (bug#23431).
48742 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48744         abbrev-tests.el fix
48746         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
48747         internal implementation detail.
48749 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48751         (shr-rescale-image): Clarify logic slightly
48753         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
48755 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
48757         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
48759         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
48760         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
48761         Monnier.  (Bug#19185, Bug#20398)
48763 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
48765         Add more abbrev tests
48767         * test/lisp/abbrev-tests.el
48768         (clear-abbrev-table-test): Use `abbrev-expansion'
48769         (abbrev-table-empty-p-test, list-abbrevs-test)
48770         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
48771         (edit-abbrevs-test, define-abbrevs-test)
48772         (read-write-abbrev-file-test)
48773         (abbrev-edit-save-to-file-test): New tests (bug#23139).
48775 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
48777         Allow eval-ing named character literals
48779         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
48780         named character literals.
48781         * test/lisp/progmodes/elisp-mode-tests.el
48782         (elisp--preceding-sexp--char-name): Add test for skipping over
48783         named character literals (bug#23354).
48785 2016-05-02  Aaron Conole  <aconole@redhat.com>
48787         Call va_end in boot_error
48789         * src/gnutls.c (boot_error): A recent change added a function
48790         to signal an error or return an error code. That function uses
48791         a variadic argument list to populate an error message
48792         string. However, it missed calling va_end after using the
48793         variadic argument list.
48795           Copyright-paperwork-exempt: yes
48797 2016-05-02  Aaron Conole  <aconole@bytheb.org>
48799         Fix the call to set_network_coding_system
48801         * src/process.c (Fmake_network_process): A recent commit
48802         modified the set_network_socket_coding_system function to take
48803         arguments host, service, and name. However, those arguments
48804         appear to be swapped.
48806           Copyright-paperwork-exempt: yes
48808 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
48810         Revert "alas, a map can have only one parent"
48812         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
48814         This had already been fixed by using `make-composed-map'.  And
48815         we don't want image-map to inherit from special-mode-map, anyway.
48817 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48819         Merge from origin/emacs-25
48821         bf21c84 Fix quoting problem in cc-engine debug message
48822         8f36614 Add electric-quote-string unit test
48823         6280531 Don’t electrically quote ‘'’ in Python
48824         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
48826 2016-05-02  Sam Steingold  <sds@gnu.org>
48828         alas, a map can have only one parent
48830         * lisp/image-mode.el (image-model-map): Cannot have two parents.
48831         * lisp/image.el (image-map): Inherit from `special-mode-map'.
48833 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
48835         Fix Bug#10085
48837         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
48838         Add optional arguments OPERATION and COMPETION.  Handle
48839         `file-name-as-directory', `file-name-directory' and
48840         `file-name-nondirectory' also in completion mode.
48841         (tramp-file-name-handler): Use it.  (Bug#10085)
48843         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48844         Extend test.
48846 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
48848         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
48850 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48852         Tweak .gitignore
48854         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
48855         as these files are no longer created.  Add gmon.out, for
48856         -pg profiling.  Sort.
48858 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48860         Sync from gnulib
48862         This incorporates:
48863         2016-05-01 mktime: port to stricter signed overflow checking
48864         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
48865         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
48866         2016-05-01 mktime: simplify DEBUG_MKTIME
48867         2016-05-01 Port mktime_internal offset to unsigned time_t
48868         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
48869         2016-04-13 mktime: improve integer overflow checking
48870         2016-04-13 intprops: check two's complement assumption
48871         2016-04-13 intprops, mktime, strtol: assume two's complement
48872         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
48873         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
48874         Copy from gnulib.
48876 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48878         Merge from origin/emacs-25
48880         c695fb3 ; Spelling fixes
48881         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
48882         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
48884 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48886         Merge from origin/emacs-25
48888         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
48889         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
48890         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
48892         # Conflicts:
48893         #       doc/misc/url.texi
48894         #       lisp/url/url.el
48896 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48898         Merge from origin/emacs-25
48900         16e5e8e Fix last change to isearch-update (bug#23406)
48901         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
48902         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
48903         86aa409 Followup for last commit in the user manual
48904         7004459 Improve doc string of 'set-goal-column'
48905         ccdaf04 Fix the MSDOS build
48906         ffe701c Remove \= from format string (bug#18190)
48907         1c58fa1 Fix variable-pitch font on MS-Windows
48908         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
48909         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
48910         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
48911         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
48912         734fb3a Port dumping to NetBSD with PaX
48913         0255a70 Don't mistake `for' inside a function for a part of array com...
48915         # Conflicts:
48916         #       src/Makefile.in
48918 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48920         Merge from origin/emacs-25
48922         71fb0e0 Improve last change to vc-git-mode-line-string
48923         6858e77 Todo mode doc bug fix
48924         e55d0db Fix revision calculation in vc-git-mode-line-string
48925         ca87b34 ; Fix errant revert ccb75d7
48926         40bfebe Add Python 3.5 keyword "await"
48927         fa7886a Add new keywords of Python 3.5
48928         ccb75d7 Partially revert previous change.
48929         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
48930         b09ca27 Say why text-quoting-style is not a user option
48932 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48934         Merge from origin/emacs-25
48936         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
48937         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
48938         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
48940 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48942         Mention the `find-library-name' changes
48944 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48946         Fix text in menu in minor-mode-menu-from-indicator
48948         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
48949         capitalize "Off" in "Turn Off" (bug#11028).
48951 2016-05-01  David Engster  <deng@randomsample.de>
48953         gitmerge: Add cherry pick to gitmerge-skip-regexp
48955         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
48956         from commit", which is the string appended by 'git cherry-pick
48957         -x'.
48959 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48961         Allow `global-set-key' to bind keys under the `M-o' map
48963         * lisp/subr.el (global-set-key): Allow binding keys under the
48964         `M-o' map (bug#9730).
48966 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48968         Add `size-indication-mode' to the menu on `mouse-1' "Top"
48970         * lisp/bindings.el (mode-line-column-line-number-mode-map):
48971         Add `size-indication-mode' to the menu (bug#5727).
48973 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48975         Allow finding libraries loaded manually outside the load-path
48977         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
48978         New function to find a library from a load path (bug#5661).
48979         (find-library-name): Use it.
48981         There are so many combinations of inputs and possibly entries in
48982         `load-history' that the code looks like an entry in a code obfuscation
48983         contest.  If anybody has a better implementation, please substitute.
48985         But remember that the input given may be foo, foo.el, foo.elc, and the
48986         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
48987         want to return only foo.el and foo.el.gz.  *phew*
48989 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48991         Allow minibuffer prompts to use faces
48993         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
48994         `minibuffer-prompt-properties' and explain how faces work in
48995         the minibuffer prompt.
48997         * src/minibuf.c (read_minibuf): If `face' is in
48998         `minibuffer-prompt-properties', apply it to the end of the
48999         face list to allow users to have their own faces on the
49000         prompts (bug#16136).
49002 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
49004         Add R7RS syntax forms to scheme.el
49006         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
49007         a number of special forms introduced in R7RS-small.
49008         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
49010 2016-05-01  Alan Third  <alan@idiocy.org>
49012         Implement horizontal scroll bars on NS
49014         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
49015         check.
49016         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
49017         scroll-bar mouse clicks to standard handlers.
49018         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
49019         pixel_height to pixel_length.
49020         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
49021         caused scroll-bars to be over-drawn and the best working solution
49022         appears to be complete removal.
49023         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
49024         correctly.
49025         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
49026         (setFrame): Handle horizontal case.
49027         (dealloc): Handle horizontal case.
49028         (judge): Handle horizontal case.
49029         (setPosition): Rename pixel_height to pixel_length.
49030         (sendScrollEventAtLoc): Handle horizontal case.
49031         (mouseDown): Handle horizontal case and general tidy up of code.
49032         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
49033         absolute pixel size instead of ratio.
49034         * src/window.h: Remove NS check.
49036 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
49038         tramp.texi: Revert last change due to backward compatibility
49040 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49042         Fix the buffer-count patch (Bug#23394)
49044         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
49045         once each time through the loop.  Reported by Lars Ingebrigtsen in:
49046         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
49048 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49050         cua-prefix-override-inhibit-delay doc fix
49052         * lisp/emulation/cua-base.el
49053         (cua-prefix-override-inhibit-delay): Typo fix in doc string
49054         (bug#23401).
49056 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49058         Fix generate-new-buffer-name increment typo
49060         Problem reported by Chaitanya Koparkar (Bug#23394).
49061         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
49062         generating a new buffer.  This fixes a typo I introduced in
49063         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
49065 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49067         global-eldoc-mode doc fix
49069         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
49070         specific about what "applicable" means (bug#23071).
49072 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49074         Make the legend in describe-categories a link
49076         * lisp/help-fns.el (describe-categories): Make the "see
49077         bottom" text a link (bug#22227).
49079 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49081         normal-top-level-add-subdirs-to-load-path doc fix
49083         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
49084         Doc fix (bug#21962).
49086 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49088         isearch-search-fun-function doc tweak
49090         * lisp/isearch.el (isearch-search-fun-function): Mention what
49091         the STRING parameter is (bug#21552).
49093 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49095         Fill some imenu--index-alist doc lines
49097         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
49099 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49101         Make describe-variable look up the variable in the current buffer
49103         * lisp/help-fns.el (describe-variable): Get the variable
49104         definition in the buffer we were called from (in case it only
49105         exists there) (bug#21252).
49107 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49109         Fmarker_position doc string clarification
49111         * src/marker.c (Fmarker_position): Clarify the doc string
49112         (bug#21231).
49114 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49116         Further define-obsolete-* doc fixups
49118         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49119         Fix up last change.
49120         (define-obsolete-variable-alias): Ditto.
49122 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49124         Describe WHEN in all the define-obsolete- macros
49126         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49127         Say more verbosely what WHEN is (bug#21225).
49128         (define-obsolete-function-alias): Describe the WHEN parameter.
49129         (define-obsolete-variable-alias): Ditto.
49131 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49133         Mention with-silent-modifications in the lispref manual
49135         * doc/lispref/text.texi (Changing Properties): Document
49136         with-silent-modifications (bug#21171).
49138 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49140         with-silent-modifications doc clarification
49142         * lisp/subr.el (with-silent-modifications): Rearrange the doc
49143         string a bit so that the most pertinent information is at the
49144         top (bug#21171).
49146 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49148         clear-visited-file-modtime doc string fix
49150         * lisp/files.el (clear-visited-file-modtime): Fix possibly
49151         confusing doc string wording (bug#21169).
49153 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49155         Document mode mode line variables
49157         * doc/lispref/modes.texi (Mode Line Variables): Document
49158         `mode-line-front-space, `mode-line-misc-info',
49159         `mode-line-end-spaces' (bug#21014).
49161 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49163         Add a cross ref to Optional Mode Line
49165         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
49166         reference to the Emacs mode line node that explains things
49167         like `display-time-string' (bug#21002).
49169 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49171         Add a doc string to display-time-string
49173         * lisp/time.el: Add a doc string to `display-time-string',
49174         because it's referred to in the manual, and is too mysterious
49175         otherwise (bug#21002).
49177 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49179         custom-buffer-style doc fix
49181         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
49182         value (bug#20724).
49184 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49186         Document how to check for ImageMagick support
49188         * doc/lispref/display.texi (ImageMagick Images): Say how to
49189         check for ImageMagick support, which isn't quite obvious
49190         (bug#20702).
49192 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49194         Minor doc fix for ImageMagick/SVG builds
49196         * doc/lispref/display.texi (SVG Images): Don't imply that you
49197         have to build Emacs yourself (bug#20702).
49198         (ImageMagick Images): Ditto.
49200 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49202         Rearrange the doc of query-replace slightly
49204         * lisp/replace.el (query-replace): Move the mention of the
49205         interactive prefix arg earlier so that users can find it
49206         (bug#20654).
49208 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49210         apropos-print doc fix
49212         * lisp/apropos.el (apropos-print): Document the undocumented
49213         parameters (bug#20520).
49215 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49217         completion-table-with-predicate doc string fix
49219         * lisp/minibuffer.el (completion-table-with-predicate): t ->
49220         non-nil in the doc string (bug#20460).
49222 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49224         Fill the completion-table-with-predicate doc string
49226         * lisp/minibuffer.el (completion-table-with-predicate): Fill
49227         the doc string (bug#20460).
49229 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49231         replace-match-maybe-edit doc clarification
49233         * lisp/replace.el (replace-match-maybe-edit): Say what
49234         MATCH-DATA is (bug#20304).
49236 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49238         add-timeout doc fix
49240         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
49241         value (bug#20181).
49243 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49245         Extremely minor doc fix in Choosing Window
49247         * doc/lispref/windows.texi (Choosing Window): There's only one
49248         action alist, I think (bug#20158).
49250 2016-04-30  Alan Mackenzie  <acm@muc.de>
49252         * .dir-locals.el: Amend for correct fontification of *.[ch]
49253         containing "IF_LINT"
49255 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49257         Transform mentions of `eval-after-load' to `with-eval-after-load'
49259         * doc/lispref/loading.texi (Hooks for Loading): Update text to
49260         not mention `eval-after-load' (bug#20038).
49262 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49264         cursor-type doc fix
49266         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
49267         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
49269 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49271         Add a link from Tool Bar to Images
49273         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
49274         Images node (bug#19722).
49276 2016-04-30  Alan Mackenzie  <acm@muc.de>
49278         CC Mode: Recognize a noise macro with parens after a declarator's identifier
49280         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
49281         following comment "Skip over type decl suffix operators." insert code also
49282         to check for noise macros with parentheses.
49284 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49286         (default-mode-line-format): More explicit obsolete info
49288         * lisp/subr.el (default-mode-line-format): Be more explicit in
49289         how default values are now handled (bug#19424).
49291 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49293         Fcompare_buffer_substrings doc string clarification
49295         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
49296         doc string clarification (bug#19255).
49298 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49300         insert-file-contents-literally doc fix
49302         * lisp/files.el (insert-file-contents-literally): Say that the
49303         parameters are explained in the other function (bug#18317).
49305 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49307         Fix custom types for cursor-in-non-selected-windows
49309         * lisp/cus-start.el (standard): Use the same custom types for
49310         cursor-in-non-selected-windows as for cursor-type (bug#19214).
49312 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49314         Doc clarification to mwheel-scroll
49316         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
49317         does not apply to Windows (bug#19209).
49319 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49321         Clarify the doc of eval-expression-print-format
49323         * lisp/simple.el (eval-expression-print-format): Doc
49324         clarification (bug#19114).
49326 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49328         (extended-command-suggest-shorter): Add a version string
49330         * lisp/simple.el (extended-command-suggest-shorter): Add a
49331         version string.
49333 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49335         Document extended-command-suggest-shorter
49337         * doc/emacs/m-x.texi (M-x): Mention
49338         extended-command-suggest-shorter (bug#19152).
49340 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
49342         Add a variable to control "shorter command" suggestions
49344         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
49345         (execute-extended-command): Use it.
49347 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49349         Explictly explain that package-initialize loads the packages
49351         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
49352         in saying that `package-initialize' obviates adjusting the
49353         path or requiring the packages, as this is a question that
49354         apparently comes up now and then (bug#18829).
49356 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49358         Have the doc strings of `load-path' and `require' mention each other
49360         * src/fns.c (Frequire): Mention `load-path' and fill the doc
49361         string (bug#18829).
49363         * src/lread.c (syms_of_lread): Mention that `require' uses
49364         `load-path'.
49366 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49368         Doc fix for insert-pair-alist
49370         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
49371         COMMAND-CHAR is (bug#18809).
49373 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49375         Move doc of backup-directory-alist to the Backup node
49377         * doc/emacs/files.texi (Backup): Move the documentation of
49378         `backup-directory-alist' here from the "Single or Numbered
49379         Backups" node, because it doesn't seem to have much to do with
49380         numbering (bug#18692).
49382 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49384         Tiny doc clarification for create-fontset-from-fontset-spec
49386         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
49387         Clarify what the optional part is (bug#18686).
49389 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49391         Fill the doc string of font-lock-keywords
49393         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
49394         reorganize some explanations (bug#21427).
49396 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49398         Doc fix for font-lock-remove-keywords
49400         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
49401         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
49403 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49405         Clarify whitespace-style doc string
49407         * lisp/whitespace.el (whitespace-style): Doc clarification
49408         (bug#18296).
49410 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49412         No need to test for jka-compr
49414         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
49415         is always available; no need to test (bug#18204).
49417 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49419         Doc fixed for next-error-buffer-p
49421         * lisp/simple.el (next-error-buffer-p): Clarify doc string
49422         (bug#18202).
49424 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49426         Tiny doc fix
49428         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
49429         (and fill) (bug#18201).
49431 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49433         Doc fix
49435         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
49436         slightly (bug#18092).
49438 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49440         delsel doc touch ups
49442         * lisp/delsel.el (delete-selection-helper): Use non-nil
49443         instead of t and clarify function return values (bug#18089).
49445 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49447         Doc fixes for menu-bar.el
49449         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
49450         REGION parameter (bug#18028).
49451         (clipboard-kill-region): Ditto.
49453 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49455         Doc fix
49457         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
49459 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49461         Minor doc clarification
49463         * lisp/subr.el (y-or-n-p): Document the return value from "n"
49464         (bug#18024).
49466 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49468         Fill font-lock-mode doc string
49470         * lisp/font-core.el (font-lock-mode): Fill the text to make it
49471         narrower (bug#18008).
49473 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49475         Wrap the auto-generated doc string
49477         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
49478         string to make it less likely that we get overlong lines
49479         (bug#17999).
49481 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49483         Clarify hi-lock-find-patterns
49485         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
49486         (bug#17989).
49488 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49490         Warning fix in jit-lock-mode
49492         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
49493         turning the mode on in an indirect buffer, if this somehow has
49494         happened (bug#17738).
49496 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49498         Add a doc string to `winner-mode'
49500         * lisp/winner.el (winner-mode): Add a doc string based on the
49501         comments in the file (bug#17716).
49503 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49505         Doc fix for align-newline-and-indent
49507         * lisp/align.el (align-newline-and-indent): Mention that
49508         alignment is done by `align' (bug#17707).
49510 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49512         Cancel the eldoc timer when switching off eldoc mode
49514         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
49515         timer when switching off eldoc mode.  It will be restarted
49516         again if needed (bug#17582).
49518 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49520         Doc fix for `kbd'
49522         * lisp/subr.el (kbd): Describe more fully the format of the
49523         parameter (bug#17039).
49525 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49527         Add a sanity check to apropos-documentation-internal
49529         * lisp/apropos.el (apropos-documentation-internal): Add a
49530         sanity check to be less fragile in the presence of invalid
49531         data (bug#16725).
49533 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49535         Doc tweak
49537         * lisp/simple.el (use-empty-active-region): Doc tweak.
49538         There's only one region (bug#16513).
49540 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49542         Clarify `read-face-name' doc and tweak the code
49544         * lisp/faces.el (read-face-name): Clarify the documentation
49545         and allow a mix of faces and faces names in all cases
49546         (bug#16483).
49548 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49550         Remove ": ?" from the read-face-name prompt
49552         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
49553         to be more backwards compatible (bug#15909).
49555 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49557         Link from (emacs)Exiting to (lisp)Killing Emacs
49559         * doc/emacs/entering.texi (Exiting): Link to the lispref
49560         manual for further customizations (bug#15445).
49562 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49564         find-lisp doc touchups
49566         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
49567         string (bug#15047).
49568         (find-lisp-find-files): Clarify doc.
49570 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49572         Don't have the manual claim that it lists all CL incompatibilities
49574         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
49575         incompatibilities isn't exhaustive, so don't say that it is
49576         (bug#15171).
49578 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49580         Fix call of `kmacro-display'
49582         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
49583         `kmacro-display' (bug#15020).
49585 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49587         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
49589         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
49590         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
49591         (bug#14554).
49593 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49595         Rename "Directory Search" menu to "Servers"
49597         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
49598         Search" to "Directory Servers".  Suggested by Eli
49599         Zaretskii. (bug#14919).
49601         * lisp/net/eudc.el: Rename ditto throughout.
49603 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49605         Remove uses of the unused to-end parameter from simple.el
49607         * lisp/simple.el (line-move-partial): Remove usages of the
49608         unused to-end parameter, and make it optional (bug#14844).
49609         (line-move): Remove use of the unused to-end parameter.
49611 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49613         Doc fix: _ chars are automatically removed.
49615         * lisp/cus-edit.el (custom-buffer-create): _ chars are
49616         automatically removed when displaying help, so fix the last
49617         doc change.
49618         (custom-buffer-create-other-window): Ditto.
49620 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49622         Doc string change to enable-recursive-minibuffers
49624         * src/minibuf.c (syms_of_minibuf): Mention
49625         minibuffer-depth-indicator-mode in the doc string to
49626         enable-recursive-minibuffers (bug#14147).
49628 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49630         Fix definition of nobreak-space
49632         * lisp/faces.el (nobreak-space): The definition to
49633         nobreak-space was inadvertantly changed by the previous checkin.
49635 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49637         Clarify the `interactive' doc string slightly
49639         * src/callint.c (Finteractive): Clarify the doc string slightly
49640           (bug#14577).
49642 2016-04-28  Drew Adams  <drew.adams@oracle.com>
49644         Make icomplete respect `completion-ignored-extensions'
49646         * lisp/icomplete.el (icomplete-completions): Heed
49647         `completion-ignored-extensions' (bug#12939).
49649 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49651         Make ibuffer not break on newline-embedded buffer names
49653         * lisp/ibuffer.el (name): When buffer names contain newlines,
49654         quote those newlines before displaying (bug#12378).
49656 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49658         Add a new face for non-breaking hyphen characters
49660         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
49661         (Text Display): Ditto.
49663         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
49665         * src/xdisp.c (get_next_display_element): Use it instead of
49666         the escape-glyph face.
49668         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
49670 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49672         Make a menu less ambiguous
49674         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
49675         is about using modifier keys, not binding them (bug#10942).
49677 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49679         Make kill-emacs-query-functions into defcustom
49681         * lisp/files.el (save-buffers-kill-terminal): Mention
49682         `save-buffers-kill-emacs' (bug#10794).
49683         (kill-emacs-query-functions): Made into a defcustom.
49685 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49687         Have describe-variable output multi-line values better
49689         * lisp/help-fns.el (describe-variable): When printing
49690         multi-line expressions, display them prettier (bug#10723).
49692 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49694         Clean up custom-buffer-create code slightly
49696         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
49697         pass the unused description value on (for clarity) (bug#10540).
49698         (custom-buffer-create): Ditto
49700 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49702         Clarify some doc strings
49704         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
49705         Clarify doc string (bug#8693).
49706         (syntax-propertize): Clarify doc string.
49708 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
49710         Fix number-at-point in lisp buffers
49712         * lisp/thingatpt.el (number-at-point): Don't say that things
49713         like ?a are numbers in lisp mode buffers (bug#8634).
49715 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49717         Don't consider colons to be paragraphs starting chars in strings
49719         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
49720         consider colons to start paragraphs in (doc) strings
49721         (bug#7751).
49723 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49725         Make `undo' of `C-x r t' put point where it should be
49727         * lisp/rect.el (string-rectangle): Make `undo' of a this
49728         command put point back where it was (bug#7522).
49730 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49732         Add some concept index entries for custom types
49734         * doc/lispref/customize.texi (Composite Types): Add concept
49735         index entries for restricted-sexp, radio and choice (bug#7385).
49737 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49739         Mention `lisp-indent-function' in the lispref manual
49741         * doc/lispref/macros.texi (Indenting Macros): Mention
49742         `lisp-indent-function' (bug#3393).
49744 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49746         Clarify doc string of internal compilation function
49748         * lisp/progmodes/compile.el (compilation-get-file-structure):
49749         Clarify doc string (bug#3137).
49751 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49753         Avoid having `C-x h' mark the prompt part of the minibuffer
49755         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
49756         part of the minibuffer (bug#2589).
49758 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49760         Allow a prefix argument to find-library to pop to a different window
49762         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
49763         argument to pop to a different window (bug#2270).
49765 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49767         Move the diff command to "Operate" in ibuffer
49769         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
49770         command to the "Operate" menu, and remove the customization
49771         entry to make the "View" menu more logical (bug#1150).
49773 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49775         Make the minor modes in help buffers into buttons
49777         * lisp/help.el (describe-mode): Make the minor modes into
49778         buttons to enable easier documentation traversal (bug#1149).
49780 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
49782         Add a number of Python 3 exceptions
49784         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
49785         the exception list, adding a number of new Python 3 exceptions and
49786         moving some exceptions to the Python 2 and 3 list as Python 2.7
49787         includes them.
49789 2016-04-26  Anders Lindgren  <andlind@gmail.com>
49791         Fix bug#22891: wrong terminal width when a fringe width is zero.
49793         When either fringe width is zero, Emacs reserved one column for a
49794         continuation glyph. Terminal windows does not take this into
49795         account when the frame is resized.
49797         * lisp/window.el (window-adjust-process-window-size): Use
49798         `window-max-chars-per-line' instead of `window-body-width'.
49799         * lisp/term.el (term-window-width): Remove function. (It does the
49800         same as `window-max-chars-per-line' but without recent bug fixes.)
49801         (term-mode): Use `window-max-chars-per-line' instead of
49802         `term-window-width'.
49804 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
49806         Add completion of `calc()' in CSS mode
49808         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
49809         a completion candidate for several value classes.
49810         (css--value-class-lookup): Return only unique results.
49812         * test/lisp/textmodes/css-mode-tests.el
49813         (css-test-property-values-no-duplicates)
49814         (css-test-value-class-lookup): Update to reflect the above changes.
49816 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
49818         Fix socketd fd startup bug that I introduced
49820         Problem reported by Matthew Leach in:
49821         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
49822         * src/emacs.c (main): Indicate more clearly the coupling between
49823         the --daemon option and init_process_emacs.
49824         * src/lisp.h: Adjust to API changes.
49825         * src/process.c (set_external_socket_descriptor):
49826         Remove, replacing by ...
49827         (init_process_emacs): ... passing the socket FD here instead.
49828         All uses changed.
49830 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
49832         Fix: (void-variable url-http-response-status)
49834         * lisp/url/url-http.el
49835         (url-https-proxy-after-change-function): Display the error
49836         message before doing the callback to avoid a void variable
49837         situation (bug#23290).
49839 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49841         smtpmail would say it's done before it is
49843         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
49844         of the data end marker from here... (bug#23020).
49845         (smtpmail-send-data): ... to here, so that we don't get a
49846         "Sending done" before we've sent the final "." (which can make
49847         the SMPT server reject the email.
49849 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49851         `url-retrieve-synchronously' now takes an optional timeout parameter
49853         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
49855         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
49856         in a timeout parameter (bug#22940).
49858 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49860         Include "Retype" as a comint password prompt
49862         * lisp/comint.el (comint-password-prompt-regexp): Include
49863         "Retype" to catch "Retype password for [account]:" from the
49864         "pass" utility (bug#22942).
49866 2016-04-25  Alan Mackenzie  <acm@muc.de>
49868         Fix spurious fontification of "for (; a * b;)" in CC Mode.
49870         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
49871         inside the parens of a for statement and after a semicolon near the beginning
49872         of the lambda form.
49874 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
49876         New function ‘char-from-name’
49878         This also fixes the mishandling of "\N{CJK COMPATIBILITY
49879         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
49880         Problem reported by Eli Zaretskii in:
49881         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
49882         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
49883         * lisp/international/mule-cmds.el (char-from-name): New function.
49884         (read-char-by-name): Use it.  Document that "BED" is treated as
49885         a name, not as a hexadecimal number.  Reject out-of-range integers,
49886         floating-point numbers, and strings with trailing junk.
49887         * src/lread.c (character_name_to_code): Call char-from-name
49888         instead of inspecting ucs-names directly, so that we handle
49889         computed names like "VARIATION SELECTOR-1".  Do not use an auto
49890         string, since char-from-name might GC.
49891         * test/src/lread-tests.el: Add tests for new behavior, and
49892         fix some old tests that were wrong.
49894 2016-04-25  Alan Mackenzie  <acm@muc.de>
49896         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
49898         This allows the calling of c-restore-<>-properties from c-common-init without
49899         the test suite giving spurious errors.
49901         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
49902         sets face properties.
49903         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
49904         template brackets using c-inside-<>-type-key.  Don't bind
49905         c-record-type-identifiers or c-record-found-types around the recursive call,
49906         allowing positions of found types to flow back to the caller.
49908         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
49909         new lang consts/var.
49911         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
49912         c-restore-<>-properties from the list of functions called at mode
49913         initialization.
49915 2016-04-25  Jun Hao  <jun_hao@aol.com>
49917         Pass in port only if provided by caller in the OS X keychain
49919         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
49920         port only if provided (bug#23374).
49922 2016-04-25  Alan Mackenzie  <acm@muc.de>
49924         Add fontification for a C declaration which looks like a function call.
49926         For example, "t1 *fn (t2 *b);".
49928         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
49929         at-decl-start, setting it to whether the putative decl starts immediately
49930         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
49931         non-nil.
49933         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
49935 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
49937         Don't mirror slashes in convert-standard-filename on MS-Windows
49939         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
49940         slashes into backslashes.  This avoids producing ugly file names,
49941         and is deemed no longer necessary, and should certainly be
49942         unrelated to which shell is in use.
49944 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
49946         Revert the disputed VC change and update the tests
49948         * lisp/vc/vc-hooks.el (vc-working-revision):
49949         Remove the previous change.
49950         (vc-state): Same.  And update the old, incorrect comment about
49951         unregistered files
49952         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
49954         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
49955         calling `vc-state' on default-directory (VC state is undefined
49956         for directories).  Check that `vc-state' returns nil where it
49957         returned `unregistered' before.  Remove all checks comparing
49958         invocations with the backend passed in explictly and without.
49959         (vc-test--working-revision): Remove all checks comparing
49960         invocations with the backend passed in explictly and without.
49961         Update comments, and add a new one.
49963 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49965         * etc/NEWS: Grammar and punctuation improvements.
49967 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49969         Merge from origin/emacs-25
49971         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
49972         0cd2e92 Don't kill ~/ if it's the top level directory
49973         4f40f5f describe-char: fix insert char documentation
49974         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
49976 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49978         Merge from origin/emacs-25
49980         960f90d * etc/AUTHORS: Update the AUTHORS file
49981         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
49983 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49985         Merge from origin/emacs-25
49987         78f9af7 ; ChangeLog fixes
49988         162e549 * admin/authors.el (authors-ignored-files): Additions.
49989         2b31a0c In x_set_window_size restore do_pending_window_change calls
49990         401857e Fix Alt-modified keys on some European MS-Windows keyboards
49991         a77cf24 Document 'help-go-forward'
49992         1ba947f Revert "Allow to customize names of executables used by grep.el"
49993         570e0fa Revert "Don't use 'find-program'"
49994         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
49995         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
49996         ce0d8c7 Make tmm-menubar work in correct order again
49997         b8d5a8f Remove the Meta-CVS VC backend
49999 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
50001         Don't let `css--property-values' return duplicates
50003         * lisp/textmodes/css-mode.el (css--property-values): Don't return
50004         duplicate values.
50006         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
50007         Take the above into account.
50008         (css-test-property-values-no-duplicates): Test that duplicates aren't
50009         returned by `css--property-values'.
50011 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50013         Call `make-composed-keymap' correctly
50015         * lisp/image-mode.el (image-mode-map): Call
50016         `make-composed-keymap' correctly.
50018 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50020         Use `make-composed-keymap' instead of copying the keymap
50022         * lisp/image-mode.el (image-mode-map): Use
50023         `make-composed-keymap' instead of copying the keymap.
50025 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50027         Make `q' etc work in image mode again
50029         * lisp/image-mode.el (image-mode-map): Restore
50030         special-mode-map as the parent keymap of image-mode-map (bug#23167).
50032 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50034         Fix typo in last url.texi checkin
50036 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50038         Make STARTTLS error messages better
50040         * lisp/net/network-stream.el (network-stream-open-starttls):
50041         Output a better error message when TLS negotiation fails while
50042         doing STARTTLS (bug#23027).
50044 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50046         Encode the shr tests files with trailing white space
50048 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
50050         Cache results of `css--property-values'
50052         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
50053         values.
50055         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
50056         New regression test for the above.
50058 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
50060         Some improvements in vc
50062         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
50063         Check, whether FILE is registered.
50065         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
50066         for nonexistent files.
50068         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
50069         (vc-test--revision-granularity-function)
50070         (vc-test--unregister-function): Use `vc-call-backend'.
50071         (vc-test--run-maybe-unsupported-function): New defmacro.
50072         (vc-test--register, vc-test--state, vc-test--working-revision)
50073         (vc-test--checkout-model): Use it.  Fix also expected results.
50074         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
50076 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50078         Document the nil/default values of url-user-agent
50080         * doc/misc/url.texi (Customization): Document the nil/default
50081         values of url-user-agent.
50083 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
50085         Compute User-Agent dynamically in url-http
50087         * lisp/url/url-http.el (url-http-user-agent-string): Compute
50088         User-Agent string dynamically.
50089         (url-http--user-agent-default-string): New function.
50091         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
50092         of information not to send.
50093         (url-user-agent): Add nil and `default' options; do not
50094         pre-compute value.
50096 2016-04-24  Jun Hao  <jun_hao@aol.com>
50098         Handle auth-source items with special characters on OS X
50100         * lisp/auth-source.el
50101         (auth-source-macos-keychain-search-items): Handle keychain
50102         output correctly when has special chararcters (bug#22824).
50104 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
50106         Implement process-attributes for Darwin
50108         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
50109         (system_process_attributes): Implement process-attributes
50110         for Darwin (bug#16579).
50112 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50114         Use Unicode literals instead of hex values
50116         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
50117         of hex values for greater readability.
50118         (shr-tag-bdi): Ditto.
50120 2016-04-24  Steve Purcell  <steve@sanityinc.com>
50122         Allow _ characters in SQL prompts
50124         * lisp/progmodes/sql.el (sql-product-alist): Allow _
50125         characters in SQL prompts (bug#22596).
50127         Fixes issue 22596, whereby "_" is now not considered a word constituent
50128         character in sql-interactive-mode, so prompts like "foo_dev# " are not
50129         correctly detected. Rather than piggy-back on the symbol table, we
50130         explicitly match against alphanumeric chars or "_".
50132 2016-04-23  Glenn Morris  <rgm@gnu.org>
50134         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
50136         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
50137         (autoload-generate-file-autoloads, autoload-find-destination)
50138         (update-directory-autoloads): Use autoload--non-timestamp.
50140 2016-04-23  Glenn Morris  <rgm@gnu.org>
50142         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
50144 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
50146         Regexps for matching CMake output
50148         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
50149         regexps for matching CMake output.
50150         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
50151         CMake test cases.
50152         * etc/compilation.txt (CMake): Add CMake examples.
50154 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
50156         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
50158         Fix docstring quotes.
50160 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
50162         Improve character name escapes
50164         * doc/lispref/nonascii.texi (Character Properties):
50165         Avoid duplication of Unicode names.  Reformat examples to fit in
50166         narrow pages.
50167         * doc/lispref/objects.texi (General Escape Syntax):
50168         Simplify and better-organize explanation of \N{...} escapes.
50169         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
50170         (char_surrogate_p): New inline function.
50171         * src/lread.c: Do not include string.h; no longer needed.
50172         (invalid_character_name, check_scalar_value): Remove; the ideas
50173         behind these functions are now bundled into character_name_to_code.
50174         (character_name_to_code): Remove undocumented support for "CJK
50175         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
50176         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
50177         point in \N escapes instead of returning garbage.  Use
50178         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
50179         * test/src/lread-tests.el (lread-char-number, lread-char-name)
50180         (lread-string-char-number, lread-string-char-name):
50181         Test runtime behavior, not compile-time, as the test framework
50182         is not set up to test compile-time.
50183         (lread-char-surrogate-1, lread-char-surrogate-2)
50184         (lread-char-surrogate-3, lread-char-surrogate-4)
50185         (lread-string-char-number-2, lread-string-char-number-3):
50186         New tests.
50187         (lread-string-char-number-1): Rename from lread-string-char-number.
50189 2016-04-21  Philipp Stephani  <phst@google.com>
50191         Use 'ucs-names' for character name escapes
50193         * src/lread.c (invalid_character_name, check_scalar_value)
50194         (parse_code_after_prefix, character_name_to_code): New helper
50195         functions that use 'ucs-names' and parsing for CJK ideographs.
50196         (read_escape): Use helper functions.
50197         (syms_of_lread): New symbol 'ucs-names'.
50198         * test/src/lread-tests.el: New tests; fix a couple of bugs in
50199         existing tests.
50201 2016-04-21  Philipp Stephani  <phst@google.com>
50203         Minor cleanups for character name escapes
50205         * src/lread.c (init_character_names): Add missing 'void'.
50206         Remove top-level 'const'.
50207         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
50209 2016-04-21  Philipp Stephani  <phst@google.com>
50211         Add documentation for character name escapes
50213 2016-04-21  Philipp Stephani  <phst@google.com>
50215         Implement named character escapes, similar to Perl
50217         * src/lread.c (init_character_names): New function.
50218         (read_escape): Read Perl-style named character escape sequences.
50219         (syms_of_lread): Initialize new variable 'character_names'.
50220         * test/src/lread-tests.el (lread-char-empty-name): Add test file
50221         for src/lread.c.
50223 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
50225         Avoid run-time dependency on libwinpthread DLL on MS-Windows
50227         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
50228         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
50229         present, so that MinGW64 builds don't depend on libwinpthread.
50230         (Bug#22959)
50232 2016-04-21  Matthew Leach  <matthew@mattleach.net>
50234         Add LIBSYSTEMD to the list of supported features
50236         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
50237         message at the end of configure stating whether Emacs will be build
50238         with libsystemd support.
50240 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
50242         Support absolute column movement in 'ansi-term'
50244         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
50245         for absolute column movement.  (Bug#23303)
50247 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
50249         Add Python 3.5 keyword "await"
50251         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
50252         keyword.
50254 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
50256         Add "keyframes" to list of CSS at-rules
50258         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
50260 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
50262         Prevent bootstrap autoload backup files
50264         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
50265         backups in newly created file.
50267         (autoload-ensure-default-file): Function split into two.
50268         (autoload-ensure-file-writeable): New function from split.
50270         (Bug#23203)
50272 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
50274         Fix org-timestamp-change typo
50276         Problem reported by Peter Münster (Bug#23299).
50277         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
50278         on undocumented behavior in ‘encode-time’.  In practice the
50279         old code used local time, so use that.
50281 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
50283         Avoid AC_PREPROC_IFELSE glitch in configure.ac
50285         Problem reported by Angelo Graziosi in:
50286         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
50287         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
50288         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
50290 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
50292         autorevert: Resume with polling if file is deleted
50294         * lisp/autorevert.el: Use consistent wording in comments and
50295         docstrings.
50296         (auto-revert-mode): Add local function to `kill-buffer-hook'.
50297         (auto-revert-notify-handler): Improve handling of `stopped' event.
50299         * test/lisp/autorevert-tests.el
50300         (auto-revert-test02-auto-revert-deleted-file): New test.
50301         (auto-revert-test03-auto-revert-tail-mode)
50302         (auto-revert-test04-auto-revert-mode-dired): Rename them.
50304 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50306         Merge from origin/emacs-25
50308         5a0cbe5 Fix Bug#23276
50309         2007e32 Sync with upstream vhdl mode v3.38.1.
50310         b6d2552 Tweak configure.ac syntax in recent module patch
50312 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50314         Merge from origin/emacs-25
50316         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
50317         3287f48 ; Add entry to MAINTAINERS
50318         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
50319         0f33284 Make use of rectangle-preview custom variable.
50320         aa0d83a Make use of rectangle-preview face.
50321         33bef6e Use 'grep-find-program' in check-declare.el
50322         a8560e5 Improve "C-h S" for cl-lib symbols
50323         52e798b Fix minor issues with removing left or right fringes
50324         d6ffd64 Speed up redisplay in ansi-term mode
50325         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
50326         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
50327         ab849b7 Fix w32 memory-management problem when extending buffer text
50329 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50331         Merge from origin/emacs-25
50333         32364bb substitute-command-keys keeps quotes’ text props
50334         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
50335         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
50336         cc0b713 Perform xref searches without visiting unopened files
50337         5045575 Revert "Prevent bootstrap autoload backup files"
50339 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
50341         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
50343         so that it matches the actual implementation.
50344         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
50346 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50348         * lisp/textmodes/ispell.el: Compile with lexical-binding
50350         (declare-function): Don't define any more.
50351         (ispell-check-minver, ispell-looking-back): Tweak definition so that
50352         the compiler can obviously know that it's always defined.
50353         (ispell-debug-buffer): Declare var.
50354         (ispell-hunspell-fill-dictionary-entry)
50355         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
50356         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
50357         (ispell-command-loop): Avoid add-to-list on local variables.
50359 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50361         Minor fixups for external socket launching
50363         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
50364         * doc/emacs/misc.texi (Emacs Server):
50365         * etc/NEWS: Spelling and doc fixes.
50366         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
50367         Check for sd_is_socket returning positive, not zero.
50368         * src/process.c (external_sock_fd): Instead of initializing here ...
50369         (init_process_emacs): ... initialize it here, so that it does the
50370         right thing after dump/restore.
50371         (connect_network_socket): Simplify socket_to_use test.
50373 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
50375         Add HTML5 tags to HTML mode
50377         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
50378         (html-tag-help): Add short descriptions of those tags.
50380 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50382         Finish idna->puny changes in last Message patch
50384         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
50385         instead of idna functions.
50387 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50389         Use puny.el instead of idna.el functions in Gnus
50391         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
50392         Emacs comes with IDNA support built in).
50393         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
50394         `idna-to-unicode'.
50396         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
50398 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50400         Mention `message-use-idna' in NEWS
50402 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50404         Default `message-use-idna' to t
50406         * lisp/gnus/message.el (message-use-idna): Default to t (since
50407         Emacs comes with puny.el now).
50409 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50411         Extend battery.el to exotic power supply types
50413         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
50414         'battery--linux-sysfs-regexp' and make a defcustom. All users
50415         changed.  (Bug#23216)
50417 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50419         Add external socket launching support
50421         * src/process.c (connect_network_socket): Allow a pre-allocated socket
50422         descriptor to be used if passed to Emacs, avoiding the call to
50423         'socket' and 'bind'.
50424         (Fmake_network_process): Allow users to pass ':use-external-socket' in
50425         the parameter plist to use any sockets that have been passed to Emacs.
50426         (wait_reading_process_output): Call 'socket' and 'bind' every time.
50427         (syms_of_process): New symbol ':use-external-socket'.
50428         (set_external_socket_descriptor): New function.
50429         (external_sock_fd): New variable.
50430         * src/lisp.h: (set_external_socket_descriptor): New declaration.
50431         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
50432         passed and call 'set_external_socket_descriptor' to set the external
50433         socket.
50434         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
50435         compilation options.
50437         * configure.ac: Add new default-on option "systemd" and check for
50438         libsystemd at configure time.
50440         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
50441         calling 'make-network-process'.
50443         * etc/NEWS: Document new socket-passing functionality and the configure
50444         option to disable systemd interaction.
50446         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
50447         functionality and provide systemd unit examples.
50448         * doc/lispref/processes.texi (Network Processes): Document new
50449         'make-network-process' option ':use-external-socket'.
50451 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50453         Don't spell-check argument of 'cref' TeX macro
50455         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
50456         macro to skip spell-checking the cref macro argument.
50458 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50460         Simplify use of O_BINARY
50462         * src/callproc.c (call_process):
50463         * src/fileio.c (write_region):
50464         * src/filelock.c (read_lock_data):
50465         * src/image.c (x_find_image_fd):
50466         * src/lread.c (openp):
50467         * src/sysdep.c (init_random, emacs_fopen):
50468         * src/unexcw.c (unexec):
50469         Omit unnecessary use of O_BINARY, since emacs_open now arranges
50470         that for us.
50472 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50474         * src/indent.c (Fvertical_motion): Pacify GCC
50476         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
50478 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50480         Port ‘./autogen.sh git’ to non-clones
50482         Problem reported by Angelo Graziosi in:
50483         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
50484         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
50485         there is no ‘.git’.
50486         (git_common_dir, hooks): New vars.
50487         (git_config, tailored_hooks, sample_hooks): Use them.
50489 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50491         Do not require that .git be a directory
50493         Problem reportyed by Phillip Lord.
50494         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
50495         * configure.ac, make-dist:
50496         Do not require that .git be a directory, as 'git worktree' makes
50497         it a file and not a directory.
50499 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50501         Avoid now-obsolete function gmm-format-time-string
50503         * lisp/gnus/message.el (message-insert-formatted-citation-line):
50504         Use format-time-string instead of obsolete function
50505         gmm-format-time-string.
50507 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50509         Support OFFSET and (OFFSET ABBR) time zone rules
50511         This simplifies Gnus and VC time zone support, by letting them
50512         feed the output of ‘current-time-zone’ and ‘decode time’ to
50513         primitives that accept time zone arguments.
50514         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
50515         * etc/NEWS:
50516         * lisp/gnus/message.el (message-insert-formatted-citation-line):
50517         * lisp/org/org.el (org-timestamp-format):
50518         * src/editfns.c (Fformat_time_string, Fdecode_time):
50519         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
50520         Document new behavior.
50521         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
50522         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
50523         Mark as obsolete, as it is now just an alias or narrow wrapper
50524         around format-time-string.
50525         * src/editfns.c (tzlookup): Also support integer OFFSET and
50526         list (OFFSET ABBR) as time zone rules.
50527         (Fencode_time): No longer need a special case for a cons ZONE.
50528         (Fcurrent_time_zone): If the time zone string is missing, compute
50529         it the same way the other new code does.
50531 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50533         Merge from origin/emacs-25
50535         ca50981 Improve time zone documentation
50536         c23c965 Prevent bootstrap autoload backup files
50537         9344612 Disable multicolor fonts on OS X since they are not supported...
50538         c41ce1c Capitalize “Universal Time” in documentation
50539         10597c9 Don't use 'find-program'
50541 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50543         Merge from origin/emacs-25
50545         b134c20 Sync with gnulib
50546         bb30fa9 Fix last change on 2016-01-02
50547         488a72f ; Spelling fixes
50548         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
50549         0e7bcec Avoid crashes due to unreasonably large or small text scaling
50550         85f257c Improve documentation of 'with-eval-after-load'
50551         668c7bc Improve handling of non-ASCII characters in Git log messages
50552         b570769 Remove undefined behavior in OS X dumper.
50553         97211f3 Fix clipping of xwidgets
50554         e87fbc0 Improve Lisp-level documentation of tooltips
50555         9f1786e Faces names should not end in "-face".
50556         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
50557         a1f221b Comint and compile no longer set EMACS
50558         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
50559         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
50560         c93ae7a Allow to customize names of executables used by grep.el
50561         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
50562         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
50563         a3f1ac2 Avoid infinite loop in 'studlify-word'
50564         f36df4b Don’t recommend obsolete EMACS env var
50565         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
50567 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50569         Merge from origin/emacs-25
50571         96d9e78 Fix "Beginning of buffer" error in forward-page
50572         20686f7 Add a `transient' project type
50574 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50576         Merge from origin/emacs-25
50578         80128a7 Fix stability confusion in sort-tests
50579         1e4aa42 Avoid describe-key error with lambdas
50580         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
50581         f501116 Sync with gnulib
50582         c4963f9 Fix doc for Universal Time
50584 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
50586         Fix alignement rule for CSS
50588         * lisp/align.el (align-rules-list): Support CSS properties that have
50589         multiple words.
50591 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
50593         New custom option for overriding mailcap choices
50595         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
50596         (mailcap--set-user-mime-data): New function.
50597         (mailcap-user-mime-data): New customization option.
50598         (mailcap-select-preferred-viewer): New function.
50599         (mailcap-mime-info): Use it.
50601         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
50603 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
50605         Fix Bug#23207
50607         * src/keyboard.c (read_char): Resume idle timers in case of
50608         dbus-event, file-notify-event and config-changed-event.
50609         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
50611 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
50613         Add vc-backend and vc-responsible-backend tests
50615         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
50616         (vc-file-clearprops): Use properties on absolute files.
50618         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
50619         Clear file properties.
50620         (vc-test--register): Add tests for `vc-backend' and
50621         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
50622         (vc-test--state, vc-test--checkout-model): Catch other errors
50623         but `vc-not-supported'.
50624         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
50625         other errors but `vc-not-supported'.
50626         (vc-test-src02-state): Mark as an expected failure.
50628 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
50630         Minor improvements for hash function primitives
50632         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
50633         hashfn_eq rather than reaching inside them.
50634         (hashtest_eq, hashtest_eql, hashtest_equal):
50635         Now constants with initializers.
50636         (syms_of_fns): Omit no-longer-needed initialization.
50637         * src/lisp.h (LISPSYM_INITIALLY): New macro.
50638         (DEFINE_LISP_SYMBOL): Use it.
50640 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
50642         New primitives sxhash-eq, sxhash-eql
50644         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
50645         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
50646         Add sxhash-equal, sxhash-eq, sxhash-eql.
50647         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
50648         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
50650 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
50652         Teach Dired support parallel execution of commands on MS-Windows
50654         * lisp/dired-aux.el (dired-shell-stuff-it): Support
50655         parallel-in-background execution of commands on MS-Windows.
50656         Test 'w32-shell-dos-semantics' instead of the underlying OS
50657         when determining whether addition of 'wait' is needed.
50659 2016-04-08  Tino Calancha  <f92capac@gmail.com>
50661         Make 'dired-do-shell-command' wait for all background jobs
50663         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
50664         wait until all background jobs exit.  (Bug#23206).
50666 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
50668         Prefer 'font-lock-face to 'face in erc where appropriate
50670         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
50671         'font-lock-face to 'face where appropriate.
50672         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
50673         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
50674         * lisp/erc/erc-goodies.el (erc-controls-propertize)
50675         * lisp/erc/erc-stamp.el (erc-format-timestamp)
50676         * lisp/erc/erc-track.el (erc-faces-in)
50677         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
50678         (erc-display-command, erc-make-notice, erc-highlight-notice)
50679         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
50680         (erc-display-prompt, erc-display-message-highlight)
50681         (erc-log-irc-protocol): Ditto.
50683         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
50684         tests.
50686 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
50688         Add new keywords of Python 3.5
50690         Python 3.5, released in mid September 2015, introduced a few new
50691         keywords to better support asynchronous code, "async" and "await"
50692         in particular. See https://www.python.org/dev/peps/pep-0492/ for
50693         details. (Bug#21783)
50694         * lisp/progmodes/python.el (python-rx-constituents): Add async
50695         def/for/with as block-start and async def as defun.
50696         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
50697         def/for/with as keyword.
50698         * test/automated/python-tests.el (python-indent-after-async-block-1,
50699         python-indent-after-async-block-2, python-indent-after-async-block-3,
50700         python-nav-beginning-of-defun-3): New tests to test indentation and
50701         navigation for the async keyword.
50703 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
50705         Support completion of at-rules in SCSS mode
50707         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
50708         SCSS-specific at-rules.
50709         (css--at-ids): New buffer-local variable holding the list of at-rules
50710         for the current mode.
50711         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
50712         (scss-mode): Set `css--at-ids'.
50714 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
50716         Enable GCC warnings in developer builds
50718         However, do not fail; just issue the warnings.  Add an option
50719         --enable-gcc-warnings=warn-only to configure, to implement this.
50720         * INSTALL, etc/NEWS: Document this.
50721         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
50722         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
50723         Don’t treat --with-x-toolkit=no as a special case when configuring
50724         warnings.
50726 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50728         Inhibit querying for the encoding of the headers when resending
50730         * lisp/gnus/message.el (message-resend): Inhibit querying for
50731         the encoding of the headers when resending.
50733 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50735         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
50737         * src/buffer.c (Fgenerate_new_buffer_name):
50738         * src/filelock.c (get_boot_time):
50739         * src/minibuf.c (get_minibuffer):
50740         * src/process.c (make_process):
50741         * src/xdisp.c (ensure_echo_area_buffers):
50742         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
50743         when either will do.
50745 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
50747         Allow URL using HTTPS proxies using CONNECT
50749         * lisp/url/url-http.el (url-http-find-free-connection): Allow
50750         using proxies (bug#11788).
50751         (url-http-end-of-document-sentinel): Ditto.
50752         (url-http): The protocol may change from http to https and
50753         vice versa.
50754         (url-https-proxy-connect): Allow using CONNECT proxies for https.
50756 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50758         New C macro AUTO_STRING_WITH_LEN
50760         Put a bit less pressure on the garbage collector by defining a
50761         macro that is like AUTO_STRING but also allows null bytes in strings,
50762         and by extending AUTO_STRING to work with any unibyte string.
50763         * src/alloc.c (verify_ascii): Remove; all uses removed.
50764         AUTO_STRING can now be used on non-ASCII unibyte strings.
50765         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
50766         (AUTO_STRING_WITH_LEN): New macro.
50767         * src/coding.c (from_unicode_buffer):
50768         * src/editfns.c (format_time_string):
50769         * src/emacs-module.c (module_make_string, module_format_fun_env):
50770         * src/fileio.c (Fexpand_file_name):
50771         * src/font.c (font_parse_family_registry):
50772         * src/ftfont.c (ftfont_get_charset):
50773         * src/keymap.c (silly_event_symbol_error):
50774         * src/menu.c (single_menu_item):
50775         * src/sysdep.c (system_process_attributes):
50776         Use AUTO_STRING_WITH_LEN if possible.
50777         * src/emacs-module.c (module_make_function):
50778         * src/fileio.c (report_file_errno, report_file_notify_error):
50779         * src/fns.c (Flocale_info):
50780         * src/sysdep.c (system_process_attributes):
50781         Use AUTO_STRING if possible.  This is doable more often now
50782         that AUTO_STRING works on any unibyte string.
50784 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50786         Port redirect-debugging-output to MS-Windows
50788         Suggested by Eli Zaretskii in:
50789         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
50790         * src/print.c [WINDOWSNT]: Include sys/socket.h.
50791         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
50793 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50795         Port redirect-debugging-output to non-GNU/Linux
50797         Problem reported by Kylie McClain for musl in:
50798         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
50799         * etc/DEBUG, etc/NEWS: Mention this.
50800         * src/callproc.c (child_setup) [!MSDOS]:
50801         * src/dispnew.c (init_display):
50802         * src/emacs.c (main, Fdaemon_initialized):
50803         * src/minibuf.c (read_minibuf_noninteractive):
50804         * src/regex.c (xmalloc, xrealloc):
50805         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
50806         to make file-descriptor manipulation easier to follow.
50807         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
50808         now that we make sure stdin, stdout and stderr are open.  All uses
50809         removed.
50810         (main): Make sure standard FDs are OK.  Prefer symbolic names like
50811         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
50812         * src/lisp.h (init_standard_fds): New decl.
50813         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
50814         Remove; no longer needed.
50815         (Fredirect_debugging_output): Define on all platforms, not just
50816         GNU/Linux.  Redirect file descriptor, not stream, so that the code
50817         works even if stderr is not an lvalue.  Report an error if the
50818         file arg is neither a string nor nil.
50819         (syms_of_print): Always define redirect-debugging-output.
50820         * src/sysdep.c (force_open, init_standard_fds): New functions.
50822 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50824         Spelling fixes
50826 2016-04-03  John Wiegley  <johnw@newartisans.com>
50828         Revert "Add `r'/`l' grep command history commands"
50830         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
50832 2016-04-03  John Wiegley  <johnw@newartisans.com>
50834         Revert "Restore the point in grep buffers when traversing the history"
50836         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
50838 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50840         Merge from origin/emacs-25
50842         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
50844 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50846         Merge from origin/emacs-25
50848         b787d55 More format-time-string change fixups
50849         13c8f29 make-xwidget unused arg cleanup
50850         36e05f0 Remove unused arguments from make-xwidget
50851         1042217 Document incompatible changes in 'format-time-string'
50852         7228eb8 Improve documentation of byte-code objects
50853         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
50854         17b5152 Improve vc-diff with Git backend
50855         c28f87a (js--continued-expression-p): Special-case unary plus and minus
50856         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
50857         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
50858         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
50859         a3daa34 Teach M-x disassemble a default argument.
50860         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
50861         df441b3 Fix OS X specific settings in tramp-tests
50862         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
50864         # Conflicts:
50865         #       lisp/net/tramp-sh.el
50866         #       lisp/progmodes/cc-engine.el
50868 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50870         Restore the point in grep buffers when traversing the history
50872         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
50873         point to a specific place after finishing the grep command.
50874         (grep-mode): Use it to restore point after traversing the history.
50875         (grep--history-point): New internal variable.
50876         (grep--save-history, grep-forward-history): Use it to restore
50877         the point.
50879 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50881         Add `r'/`l' grep command history commands
50883         * doc/emacs/building.texi (Grep Searching): Mention the
50884         `r'/`l' commands.
50886         * lisp/progmodes/grep.el (grep-forward-history): New command.
50887         (grep-backward-history): Ditto.
50888         (grep--save-buffers): New function.
50889         (grep): Use it to record the history.
50890         (grep--command-history, grep--history-inhibit)
50891         (grep--history-place): New internal variables for the grep
50892         history (bug#22627).
50894 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50896         Fix Bug#23186, again
50898         * lisp/net/tramp.el (tramp-encoding-shell)
50899         (tramp-encoding-command-switch)
50900         (tramp-encoding-command-interactive): Check for
50901         `w32-shell-name'.  (Bug#23186)
50903 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50905         Fix Bug#23186
50907         * lisp/net/tramp.el (tramp-encoding-command-switch)
50908         (tramp-encoding-command-interactive):
50909         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
50910         `tramp-encoding-shell' could be nil.  (Bug#23186)
50912 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50914         Fix Bug#22145
50916         * lisp/net/tramp-cache.el (tramp-get-connection-property)
50917         (tramp-set-connection-property, tramp-connection-property-p)
50918         (tramp-flush-connection-property): Improve docstring.
50920         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
50922         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
50924         * test/automated/tramp-tests.el (tramp--test-utf8):
50925         Improve settings of coding systems.  (Bug#22145)
50927 2016-04-02  John Wiegley  <johnw@newartisans.com>
50929         Merge from origin/emacs-25
50931         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
50932         9034c50 * doc/man/emacsclient.1: Document +line:column option.
50933         06495c9 Fix rare problems with echo-area display and multiple frames
50934         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
50936 2016-04-02  John Wiegley  <johnw@newartisans.com>
50938         Merge from origin/emacs-25
50940         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
50941         c8b868b Don't start the 'midnight' timer twice
50942         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
50943         e5c17f4 Fix todo-mode category movement
50944         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
50945         cf40f38 Ignore non-nil. non-cons values of unread-command-events
50946         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
50947         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
50948         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
50949         3a13472 Fix map-put and map-delete for alists (Bug#23105)
50950         422c3da Minor copyedits of documentation for temporary displays
50951         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
50952         f14d463 Minor doc string fixes in replace.el
50953         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
50954         44782de Fix display of Indic scripts
50955         326c64f Fix splash screen display at startup
50956         7ab2a97 ; In NEWS mention new display of minibuffer completions window
50957         a1cd84c Describe temporary displays in Emacs manual
50958         5ec1056 Avoid stray As next to IDLW icons
50959         45577d5 Avoid GTK 3 crash with icons and masks
50960         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
50961         077b78c Define make_save_ptr_ptr unconditionally
50962         20a1003 Preserve current buffer when popping up TTY menus
50963         7eba90c Improve font selection by family on MS-Windows
50964         73d213f Comint, term, and compile now set EMACS
50965         9524ec5 Ignore more merges when generating ChangeLog
50966         ad250f2 Sync with gnulib
50967         c0165ea Resurrect GNUS-NEWS autogeneration
50968         1e5327c ; Backport ChangeLog.2 fixes from master
50969         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
50970         38a43f1 Fix bug in displaying header line with a box face
50971         91e6676 Fix an Isearch var to be a string (Bug#23038)
50972         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
50973         8a35f83 Render empty <ul><li><ul> correctly
50974         d8b2ce5 Ignore invalid base64 encoded embedded images
50975         52ba24b Fix <p> and <div> newlines with or without <li> in shr
50976         b8ea08b Avoid errors in 'newline'
50977         fc3cd53 Fix Bug#23032
50978         dd2737b Adjudicate review comments in abbrevs.texi
50979         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
50980         413e73b ; Small theme additions
50981         cd950da Honor prefix arg in doc-view-next-line-or-next-page
50982         ed909c0 ; Spelling fixes
50983         6da3a6d Port to strict C99 offsetof
50984         de7601f Port to GTK with strict C11 compiler
50985         658aa2d Port to GTK with strict C99 compiler
50986         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
50987         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
50988         dca240a Suppress some Tramp tests for OSX, do not merge with master
50989         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
50990         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
50991         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
50992         9ab03f2 ; Auto-commit of loaddefs files.
50993         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
50994         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
50995         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
50996         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
50997         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
50998         d6d164f Avoid segfaults due to frame image cache being absent
50999         bc7f6f6 Improve documentation of glyphless-character display
51000         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
51001         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
51002         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
51003         2036be4 Fix Ruby's operator precedence
51004         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
51005         7950e1d Port to clang 3.7.0 on x86-64
51006         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
51007         ba33b7c Sync with gnulib
51008         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
51009         dbfbedd Do not tokenize a comment before continuation as ';'
51010         0403620 Don't misindent arguments of a method call inside continuation
51011         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
51012         8475f3d ASCII-only etc/NEWS etc.
51013         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
51014         0ce37ea Fix Isearch prompt when invoked with an argument
51015         f3033d4 Fix a typo in the Emacs manual
51016         4235d2d Curved quotes in etc/NEWS etc.
51017         26b56dc Fix some single quotes in documentation
51018         80ec484 Make lisp-completion-at-point's argument optional
51019         9d463ae Tweak the left precedence of '=>'
51020         5b705bc Indent '.' relative to the first sibling expression
51021         04f5525 Make '.' associative, for easier sexp navigation
51022         ba24c99 Revert "Simplify "Visit New File" to "New File""
51024 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
51026         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
51028         Use #' to quote functions.
51029         (erc-server-delayed-reconnect): Remove unused arg `event'.
51030         (erc-process-sentinel-2): Adjust accordingly.
51031         Don't pass `err' to condition-case if we don't use it.
51032         (define-erc-response-handler): Use add-hook rather than add-to-list.
51033         (NICK): Use cl-pushnew rather than add-to-list.
51034         (331): Remove unused var `topic'.
51035         (352): Remove unused var `hopcount'.
51037 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
51039         Support macros in 'func-arity'
51041         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
51043 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
51045         Fix compilation of Cygwin w32 port
51047         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
51048         initialize and free the notification set if compiling with
51049         w32notify feature.
51051 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
51053         Fix resize incompatibility with GTK+ master
51055         Problem reported by Matthias Clasen (Bug#23144).
51056         * src/xterm.c (handle_one_xevent) [USE_GTK]:
51057         Do not call xg_frame_resized.
51059 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
51061         Fix check for subscript errors in module calls
51063         * src/emacs-module.c (check_vec_index): New function.
51064         (module_vec_set, module_vec_get): Use it instead of a
51065         not-strict-enough check.
51067 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
51069         Support completion of bang-rules in CSS mode
51071         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
51072         holding the list of bang-rules for the current mode.
51073         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
51074         instead of computing them.
51075         (css--complete-bang-rule): New function for completing a bang-rule.
51076         (css-completion-at-point): Add support for completing bang-rules.
51077         (scss-font-lock-keywords): Change from a variable to a function in
51078         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
51079         changed.
51080         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
51082 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
51084         Add HTML4 tags to HTML mode
51086         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
51087         (html-tag-help): Add short descriptions of those tags.
51089 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51091         Pacify --enable-gcc-warnings for buffer-hash etc.
51093         * src/fns.c (make_digest_string): Now static.
51094         (secure_hash): Omit unused local.
51096 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
51098         Add support for 7z archives
51100         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
51101           also work with 7z archives.
51103         The shell command should produce a single extracted directory named
51104         after the archive's name.
51106         In case the extracted directory exists, all files will be overwritten
51107         without a prompt. This matches the expected behavior with the "tar.gz"
51108         archives.
51110 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51112         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
51114 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
51116         Fix typo in network-stream-tests.el
51118         * test/lisp/net/network-stream-tests.el
51119         (connect-to-tls-ipv6-nowait): Fix typo.
51121 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51123         New function seq-sort-by in seq.el
51125         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
51126         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
51127         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
51129 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51131         Mention the `M-q' changes
51133 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51135         Have `M-q' not mark buffers are changed when they haven't
51137         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
51138         to avoid marking buffers as changed when they haven't.
51140 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51142         Add a new function `buffer-hash'
51144         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
51146         * src/fns.c (Fbuffer_hash): New function.
51147         (make_digest_string): Refactored out into its own function.
51148         (secure_hash): Use it.
51150         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
51152 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51154         Rename C names to match Lisp symbols better
51156         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
51157         which fixed a bug where the C name for a symbol disagreed with the
51158         symbol name itself.  Fix other instances of disagreements that I found.
51159         Although this doesn’t fix a bug, it should make code easier to follow.
51160         The remaining disagreements are idiosyncratic: Qminus, Qplus,
51161         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
51162         All uses changed.
51163         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
51164         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
51165         (QCsession): Rename from QCdbus_session_bus.
51166         (QCtimeout): Rename from QCdbus_timeout.
51167         (QCbyte): Rename from QCdbus_type_byte.
51168         (QCboolean): Rename from QCdbus_type_boolean.
51169         (QCint16): Rename from QCdbus_type_int16.
51170         (QCuint16): Rename from QCdbus_type_uint16.
51171         (QCint32): Rename from QCdbus_type_int32.
51172         (QCuint32): Rename from QCdbus_type_uint32.
51173         (QCint64): Rename from QCdbus_type_int64.
51174         (QCuint64): Rename from QCdbus_type_uint64.
51175         (QCdouble): Rename from QCdbus_type_double.
51176         (QCstring): Rename from QCdbus_type_string.
51177         (QCobject_path): Rename from QCdbus_type_object_path.
51178         (QCsignature): Rename from QCdbus_type_signature.
51179         (QCunix_fd): Rename from QCdbus_type_unix_fd.
51180         (QCarray): Rename from QCdbus_type_array.
51181         (QCvariant): Rename from QCdbus_type_variant.
51182         (QCstruct): Rename from QCdbus_type_struct.
51183         (QCdict_entry): Rename from QCdbus_type_dict_entry.
51184         (QCserial): Rename from QCdbus_registered_serial.
51185         (QCmethod): Rename from QCdbus_registered_method.
51186         (QCsignal): Rename from QCdbus_registered_signal.
51187         * src/emacs-module.c (Qinternal__module_call):
51188         Rename from Qinternal_module_call.
51189         * src/frame.c (Qwindow__pixel_to_total):
51190         Rename from Qwindow_pixel_to_total.
51191         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
51192         (QCpriority): Rename from QCgnutls_bootprop_priority.
51193         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
51194         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
51195         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
51196         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
51197         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
51198         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
51199         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
51200         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
51201         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
51202         (Qgnutls): Rename from Qgnutls_dll.
51203         (Qlibxml2): Rename from Qlibxml2_dll.
51204         (Qzlib): Rename from Qzlib_dll.
51205         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
51206         * src/window.c (Qwindow__resize_root_window):
51207         Rename from Qwindow_resize_root_window.
51208         (Qwindow__resize_root_window_vertically):
51209         Rename from Qwindow_resize_root_window_vertically.
51210         (Qwindow__sanitize_window_sizes):
51211         Rename from Qwindow_sanitize_window_sizes.
51212         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
51213         * src/xdisp.c (Qredisplay_internal_xC_functionx):
51214         Rename from Qredisplay_internal.
51215         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
51216         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
51218 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
51220         func-arity minor improvements
51222         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
51223         runtime test for integer argument, unless debugging.
51224         Use EMACS_INT for Emacs integers.
51225         * src/eval.c (Ffunc_arity): Omit unused locals.
51226         Avoid side effects in ‘if’ expr.
51227         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
51229 2016-03-26  John Wiegley  <johnw@newartisans.com>
51231         Restore the fix to bug#18527 from commit d6868025
51233 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
51235         Safely run window size change functions
51237         * src/window.c (run_window_size_change_functions): Use
51238         safe_call1 when running a size change function.
51239         (grow_mini_window, shrink_mini_window): Report error when
51240         minibuffer window cannot be resized.
51242 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
51244         Implement 'func-arity'
51246         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
51247         * src/bytecode.c (get_byte_code_arity): New function.
51248         * src/lisp.h (get_byte_code_arity): Add prototype.
51250         * doc/lispref/functions.texi (What Is a Function): Document
51251         'func-arity'.
51253         * etc/NEWS: Mention 'func-arity'.
51255         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
51257 2016-03-25  Alan Mackenzie  <acm@muc.de>
51259         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
51261         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
51262         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
51263         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
51264         c-noise-macro-with-parens-name-re.
51266         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
51267         cc-engine.el.
51269         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
51270         `c-make-noise-macro-regexps'.
51271         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
51273         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
51274         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
51276 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51278         (shr-insert): Respect non-breaking space in non-<pre> text
51280         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
51281         non-<pre> text.
51283 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51285         parse-times-string doc string clarification
51287         * lisp/calendar/parse-time.el (parse-time-string): Note that
51288         we accept RFC2822 strings.
51290 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
51292         Doc string fix
51294         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
51295         doc string and clean up code.
51297 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
51299         Cleanup file notification code in Tramp
51301         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
51302         Make `events' a list of symbols for "inotifywait".
51303         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
51304         Call `file-notify-handle-event' for better traces.
51305         (tramp-sh-inotifywait-process-filter): Check for expected events.
51306         Call `file-notify-handle-event' for better traces.
51308 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
51310         Adapt filenotify-tests.el according latest tests
51312         * test/lisp/filenotify-tests.el (file-notify-test02-events)
51313         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
51314         Remove superfluous `read-event' calls.
51315         (file-notify-test02-events): Expect different events under MS
51316         Windows 7 and 10.
51317         (file-notify-test04-file-validity): Move `file-notify-valid-p'
51318         check up.
51320 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51322         Merge from origin/emacs-25
51324         ad250f2 Sync with gnulib
51325         c0165ea Resurrect GNUS-NEWS autogeneration
51327         # Conflicts:
51328         #       etc/GNUS-NEWS
51329         #       lisp/Makefile.in
51331 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51333         Merge from origin/emacs-25
51335         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
51336         38a43f1 Fix bug in displaying header line with a box face
51338 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51340         * etc/NEWS: Use straight quotes.
51342 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
51344         Support completion of attribute values in CSS mode
51346         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
51347         holding CSS identifiers and the values they can have.
51348         (css-property-ids): Compute dynamically from `css-property-alist'.
51349         (css-value-class-alist): New defconst holding property value classes
51350         and their values.
51351         (css--property-value-cache): New variable providing a cache for
51352         `css--property-values'.
51353         (css--value-class-lookup): New function for computing a list of values
51354         in a value class.
51355         (css--property-values): New function for computing a list of possible
51356         values for a CSS property.
51357         (css--complete-property-value): New function for completing a property
51358         value.
51359         (css-completion-at-point): Add support for completing property values.
51360         * test/lisp/textmodes/css-mode-tests.el: New file.
51362 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
51364         Sync with verilog-mode development tree.
51366         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
51367         verilog-speedbar-initialize): Automatically add verilog-mode
51368         extensions when in speedbar mode, bug1045, bug1046.  Reported by
51369         David Shleifman.
51370         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
51371         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
51372         (verilog-read-always-signals-recurse): Fix :: notation for
51373         auto-reset signals.  Reported by Andrew Jones.
51374         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
51375         grouping keywords, bug1002. Reported by Paul Sargent.
51376         (verilog-save-font-no-change-functions): Commentary and fix
51377         pre-Emacs 21 behavior.
51379 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51381         Compute a better commit message for merges
51383         Problem reported by David Engster in:
51384         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
51385         * admin/gitmerge.el (gitmerge-commit-message):
51386         Truncate the computed commit message to at most 72 characters per line.
51387         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
51388         merges; use the computed commit message instead.
51390 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51392         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
51394 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51396         Change do-not-merge pattern to "do not merge"
51398         This should avoid the problem we recently had with
51399         automatically-generated merge messages, while still letting people
51400         specify commits not to merge.
51401         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
51402         (gitmerge-highlight-skip-regexp): Fold case when searching
51403         for gitmerge-skip-regexp.
51405 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51407         Merge from origin/emacs-25
51409         91e6676 Fix an Isearch var to be a string (Bug#23038)
51410         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
51412 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51414         -
51416         -
51418 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51420         Keep "merge" commits by default in gitmerge
51422         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
51423         causes false positives.  See:
51424         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
51426 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51428         Assume NON_BLOCKING_CONNECT (Bug#22946)
51430         * lisp/proced.el (proced-signal-list): Omit comment about
51431         obsolete systems that do not support POSIX 1003.1-2001 signals.
51432         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
51433         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
51434         (connect_network_socket): Assume EINPROGRESS is defined,
51435         as that’s portable too now.
51436         (Fmake_network_process): Use bool for boolean.
51438 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51440         Fix problems caused by new implementation of sub-word mode
51442         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
51443         New functions.
51444         (word-move-empty-char-table): New variable.
51446         * etc/NEWS: Mention 'forward-word-strictly' and
51447         'backward-word-strictly'.
51449         * doc/lispref/positions.texi (Word Motion): Document
51450         'find-word-boundary-function-table', 'forward-word-strictly', and
51451         'backward-word-strictly'.  (Bug#22560)
51453         * src/syntax.c (syms_of_syntax)
51454         <find-word-boundary-function-table>: Doc fix.
51456         * lisp/wdired.el (wdired-xcase-word):
51457         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
51458         (texinfo-copy-section-title, texinfo-start-menu-description)
51459         (texinfo-copy-menu-title, texinfo-specific-section-type)
51460         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
51461         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
51462         (texinfo-insert-@end):
51463         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
51464         (texinfo-anchor, texinfo-multitable-widths)
51465         (texinfo-multitable-item):
51466         * lisp/textmodes/tex-mode.el (latex-env-before-change):
51467         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
51468         * lisp/skeleton.el (skeleton-insert):
51469         * lisp/simple.el (count-words):
51470         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
51471         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
51472         (vhdl-update-sensitivity-list, vhdl-template-block)
51473         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
51474         (vhdl-template-default-indent, vhdl-template-for-loop)
51475         (vhdl-template-if-then-use, vhdl-template-bare-loop)
51476         (vhdl-template-nature, vhdl-template-procedural)
51477         (vhdl-template-process, vhdl-template-selected-signal-asst)
51478         (vhdl-template-type, vhdl-template-variable)
51479         (vhdl-template-while-loop, vhdl-beginning-of-block)
51480         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
51481         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
51482         (verilog-forward-sexp, verilog-beg-of-statement)
51483         (verilog-set-auto-endcomments, verilog-backward-token)
51484         (verilog-do-indent):
51485         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
51486         (vera-indent-block-closing):
51487         * lisp/progmodes/simula.el (simula-context)
51488         (simula-backward-up-level, simula-forward-down-level)
51489         (simula-previous-statement, simula-next-statement)
51490         (simula-skip-comment-backward, simula-calculate-indent)
51491         (simula-find-if, simula-electric-keyword):
51492         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
51493         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
51494         (ruby-smie--forward-token, ruby-smie--backward-token)
51495         (ruby-singleton-class-p, ruby-calculate-indent)
51496         (ruby-forward-sexp, ruby-backward-sexp):
51497         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
51498         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
51499         (perl-syntax-propertize-special-constructs)
51500         (perl-backward-to-start-of-continued-exp):
51501         * lisp/progmodes/pascal.el (pascal-indent-declaration):
51502         * lisp/progmodes/octave.el (octave-function-file-p):
51503         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
51504         * lisp/progmodes/js.el (js--forward-function-decl):
51505         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
51506         (idlwave-beginning-of-block, idlwave-end-of-block)
51507         (idlwave-block-jump-out, idlwave-determine-class):
51508         * lisp/progmodes/icon.el (icon-is-continuation-line)
51509         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
51510         * lisp/progmodes/hideif.el (hide-ifdef-define):
51511         * lisp/progmodes/f90.el (f90-change-keywords):
51512         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
51513         (cperl-linefeed, cperl-electric-terminator)
51514         (cperl-find-pods-heres, cperl-fix-line-spacing)
51515         (cperl-invert-if-unless):
51516         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
51517         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
51518         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
51519         (ada-adjust-case-skeleton, ada-create-case-exception)
51520         (ada-create-case-exception-substring)
51521         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
51522         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
51523         (ada-get-indent-if, ada-get-indent-block-start)
51524         (ada-get-indent-loop, ada-get-indent-type)
51525         (ada-search-prev-end-stmt, ada-check-defun-name)
51526         (ada-goto-decl-start, ada-goto-matching-start)
51527         (ada-goto-matching-end, ada-looking-at-semi-or)
51528         (ada-looking-at-semi-private, ada-in-paramlist-p)
51529         (ada-search-ignore-complex-boolean, ada-move-to-start)
51530         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
51531         * lisp/net/quickurl.el (quickurl-grab-url):
51532         * lisp/mail/sendmail.el (mail-do-fcc):
51533         * lisp/mail/rmail.el (rmail-resend):
51534         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
51535         * lisp/mail/mail-extr.el (mail-extract-address-components):
51536         * lisp/json.el (json-read-keyword):
51537         * lisp/files.el (insert-directory):
51538         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
51539         * lisp/completion.el (symbol-under-point, symbol-before-point)
51540         (symbol-before-point-for-complete, next-cdabbrev)
51541         (add-completions-from-c-buffer):
51542         * lisp/cedet/semantic/texi.el (semantic-up-context)
51543         (semantic-beginning-of-context):
51544         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
51545         use 'forward-word-strictly' and 'backward-word-strictly' instead
51546         of 'forward-word' and 'backward-word'.
51548         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
51549         which was inadvertently lost by merge commit
51550         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
51552 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
51554         * etc/TODO: Minor quoting and grammar fixes.
51556         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
51557         which was inadvertently lost by merge commit
51558         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
51560 2016-03-21  Alan Mackenzie  <acm@muc.de>
51562         Don't confuse "::" with ":" when trying to parse member initializers.
51564         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
51565         more robustly for ":" token when searching backwards for it.
51567         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
51568         language variable.
51570         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
51571         which was inadvertently lost by merge commit
51572         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51574 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51576         Ensure positive number of glyphs for margins of positive width
51578         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
51579         positive value when a non-zero width of the marginal area was
51580         requested.  (Bug#22356)
51582         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
51583         which was inadvertently lost by merge commit
51584         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51586 2016-03-21  Alan Mackenzie  <acm@muc.de>
51588         In comment-dwim with style `extra-line', respect indent-tabs-mode.
51590         This fixes bug #22369.
51592         * lisp/newcomment.el (comment-make-bol-ws): New function.
51593         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
51595         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
51596         which was inadvertently lost by merge commit
51597         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51599 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51601         Merge doc fixes for 'random' lost in previous merge
51603         [This reapplies part of commit
51604         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
51605         which was inadvertently lost by merge commit
51606         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51607         (Bug#22202)
51609 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51611         Unhide the --no-line-directive option to 'etags'
51613         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
51614         option.  (Bug#22306)
51616         * doc/man/etags.1: Document the --no-line-directive option.
51618         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
51619         which was inadvertently lost by merge commit
51620         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51622 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
51624         Fix picture-mode wrt double-width characters
51626         * lisp/textmodes/picture.el (picture-insert): Check the width of
51627         the character being replaced, not just that of the replacement.
51628         (Bug#1808)
51630         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
51631         which was inadvertently lost by merge commit
51632         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51634 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
51636         Resurrect earlier fix of resize_frame_windows
51638         * src/window.c (resize_frame_windows): Resurrect earlier fix for
51639         calculating the number of columns of the minibuffer window which
51640         was lost in subsequent merges.
51642 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51644         Move the cert files to the data directory
51646 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51648         Further empty <li> tweaks
51650         * lisp/net/shr.el (shr-tag-li): When showing several empty
51651         <li> elements, ensure that they really get inserted on a new line.
51653 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51655         Don't remove too much white space at the end of documents
51657         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
51658         remove too much white space -- leave it on the last line (in
51659         case there's a background color).
51661 2016-03-20  Alan Mackenzie  <acm@muc.de>
51663         Amend parse-partial-sexp correctly to handle two character comment delimiters
51665         Do this by adding a new field to the parser state: the syntax of the last
51666         character scanned, should that be the first char of a (potential) two char
51667         construct, nil otherwise.
51668         This should make the parser state complete.
51669         Also document element 9 of the parser state.  Also refactor the code a bit.
51671         * src/syntax.c (struct lisp_parse_state): Add a new field.
51672         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
51673         (internalize_parse_state): New function, extracted from scan_sexps_forward.
51674         (back_comment): Call internalize_parse_state.
51675         (forw_comment): Return the syntax of the last character scanned to the caller
51676         when that character might be the first of a two character construct.
51677         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
51678         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
51679         information via the address parameter `state'.  Remove the code which converts
51680         from external to internal form of `state'.  Access buffer contents only from
51681         `from' onwards.  Reformulate code at the top of the main loop correctly to
51682         recognize comment openers when starting in the middle of one.  Call
51683         forw_comment with extra argument (for return of syntax value of possible first
51684         char of a two char construct).
51685         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
51686         doc string.  Clarify the doc string in general.  Call
51687         internalize_parse_state.  Take account of the new elements when consing up the
51688         output parser state.
51690         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
51691         element 10.  Minor wording corrections (remove reference to "trivial
51692         cases").
51693         (Low Level Parsing): Minor corrections.
51695         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
51696         state.
51698 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51700         Allow the shr test files to have trailing blank space.
51702         * .gitattributes: Allow the shr test files to have trailing
51703         blank space.
51705 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51707         Add tests for empty <ul><li>
51709 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
51711         * src/alloc.c (purecopy): Use AUTO_STRING.
51713 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51715         Ignore invalid base64 encoded embedded images
51717         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
51718         encoded embedded images (bug#22928).
51720 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51722         Render empty <ul><li><ul> correctly
51724         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
51725         correctly (bug#22964).
51727 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51729         Fix <p> and <div> newlines with or without <li> in shr
51731         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
51732         a <li>, if we are, and don't insert newlines there.
51733         (shr-ensure-paragraph): When mixing newlines and paragraph
51734         ensurements, don't insert too many blank lines.
51735         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
51736         new line.
51738 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51740         Add more shr HTML rendering tests
51742         Add a test harness for shr HTML rendering and one test
51744 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51746         Remove code left over from when overlays were used for padding
51748         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
51749         (shr-remove-trailing-whitespace): Ditto.
51750         (shr-insert-document): Don't call them.
51752 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51754         Remove trailing blank lines in shr
51756         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
51757         (shr-insert-document): Use it to remove trailing blank lines
51758         at the end of documents, since these never seem to be very useful.
51760 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51762         Don't bug out on nil `patch-buf' arguments
51764         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
51765         `patch-buf' arguments.
51767 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
51769         Add a Catalan language environment
51771         * lisp/international/mule-cmds.el (locale-language-names): Map locale
51772           language name `ca' to language environment `Catalan'.
51774         * lisp/language/european.el: Add definition of language
51775         environment for the Catalan language.
51777         * lisp/leim/quail/latin-pre.el: Add quail rule to the
51778         `catalan-prefix' input method to support input of middle dot
51779         characters through composition (bug#18279).
51781 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51783         No need to block input when reading directories
51785         * src/dired.c: Don’t include blockinput.h.
51786         (open_directory, directory_files_internal_unwind)
51787         (directory_files_internal, file_attributes):
51788         Don’t block input here, as the reasons for blocking input should
51789         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
51791 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
51793         * lisp/vc/vc-hooks.el: Fix typo
51795 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
51797         Improve w32notify notifications
51799         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
51800         (struct notification): 'terminate' is now a HANDLE.
51801         (send_notifications): Argument is now a pointer to a
51802         notification.  Don't loop waiting for the notification to be
51803         acknowledged by the main thread; instead, just add the
51804         notification to the linked list of notifications waiting to be
51805         acknowledged.
51806         (watch_end): Don't close the directory handle.
51807         (watch_completion): Allocate a new notification structure to be
51808         added to the notifications set.  Call ReadDirectoryChangesW
51809         immediately after adding the new notification, and before sending
51810         a message to the main thread about them.
51811         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
51812         call it just once -- it will be called again in watch_completion.
51813         Loop waiting for the main thread's indication to terminate.
51814         (start_watching): Create the event to be used to indicate to the
51815         worker thread that its should terminate.
51816         (remove_watch): Indicate to the worker thread that it should
51817         terminate.
51818         * src/w32term.c (queue_notifications): Loop over all the
51819         notifications in the linked list, processing all of them in one
51820         go.
51821         * src/w32inevt.c (handle_file_notifications): Loop over all the
51822         notifications in the linked list.
51823         * src/w32xfns.c (init_crit): Initialize the linked list of file
51824         notifications.
51825         (delete_crit): Free the linked list of file notifications,
51826         including any unprocessed notifications left in it.
51827         * src/w32term.h (struct notifications_se): New struct.
51829         * test/lisp/filenotify-tests.el (file-notify-test02-events)
51830         (file-notify-test05-dir-validity): Add read-event calls to
51831         facilitate event recognition by the main thread in batch mode.
51833 2016-03-17  Sam Steingold  <sds@gnu.org>
51835         make `vc-log-operation' buffer local to allow multiple simultaneous editing
51837 2016-03-17  Glenn Morris  <rgm@gnu.org>
51839         Simplify some rococo Gnus code that loads or tests for other libraries.
51841         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
51842         * lisp/gnus/mml-smime.el (epg): Simply require it.
51843         (mml-smime-use): Simplify the default.  Doc fix.
51844         * lisp/gnus/mml2015.el (epg-config): Require it.
51845         (mml2015-use): Simplify the default.
51846         * lisp/gnus/smime.el (password-cache): Simply require it.
51847         (password-read-and-add): Remove declaration.
51849 2016-03-16  Glenn Morris  <rgm@gnu.org>
51851         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
51853 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
51854             Alex Harsanyi  <AlexHarsanyi@gmail.com>
51856         Sync with soap-client repository, version 3.1.1
51858         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
51859         message.
51860         (soap-find-port): Delete trailing whitespace.
51861         (soap-find-operation): Fix documentation and rename parameter.
51862         (soap-find-port): Likewise.
51863         (soap-operation-arity): Likewise.
51865         * lisp/net/soap-client.el: Update copyright years.
51866         (soap-warning): Fix docstring quoting.
51867         (soap-decode-date-time): Likewise.
51868         (soap-validate-xs-simple-type): Remove tabs for indentation.
51869         * lisp/net/soap-inspect.el: Update copyright years.
51871         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
51872         assume xsd:base64Binary values are UTF-8 strings.
51873         (soap-decode-xs-basic-type): Likewise.
51874         (soap-invoke): Document xsd:base64Binary handling.
51876         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
51877         (soap-operation-arity): new defuns
51878         (soap-invoke-internal): use soap-find-port, soap-find-operation.
51880 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51882         Merge from gnulib
51884         This incorporates:
51885         2016-03-15 std-gnu11: improve clang support
51886         * m4/std-gnu11.m4: Copy from gnulib.
51888 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51890         Disable MOVE more for Dovecot
51892         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
51893         disable MOVE when expirying.
51894         (nnimap-split-incoming-mail): And when splitting mail.
51896 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51898         Don't use MOVE on Dovecot
51900         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
51901         MOVE on Dovecot, since it's broken in many versions.
51902         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
51904 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
51906         Improve diff hunk headers when maintaining Emacs
51908         * .gitattributes: Improve diff hunk header support for makefiles,
51909         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
51910         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
51911         somewhere (sometimes just in test cases).
51912         * autogen.sh: Add regexes for makefiles and shell scripts.
51914 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
51916         Update handling of <bdo> per Unicode 9.0
51918         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
51919         Unicode 9.0 changes in UAX#9, paragraph 2.7.
51921 2016-03-11  John Wiegley  <johnw@newartisans.com>
51923         Merge from origin/emacs-25
51925         facb5e2 Update Emacs manual section related to character folding
51926         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
51927         f8df21b Update admin/notes/unicode
51928         950be68 Add symref-filepattern entries for c?perl-mode
51929         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
51930         985dacf ; NEWS update for the last change in etags
51931         741a6f8 Sync with gnulib
51932         7352c6c Rework C source files to avoid ^(
51933         a589e9a By default, etags produces unqualified Perl tag names
51934         72c7438 Indent methods with keyword names correctly
51935         28532a9 Propertize character literals and special global variables
51936                 differently
51937         a7d6f39 ; Fix last change in NEWS
51938         83b2a20 Change how /etc/NEWS presents character folding
51939         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
51940                 off by default""
51941         711ca36 Properly handle lambda as read function (bug 22961)
51942         1b9d616 Propertize operator symbol names with symbol syntax class
51943         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
51944         366ec77 Allow using the left shift operator without spaces on both sides
51945         02bf7cc Properly handle unquoting in wdired (bug 22938)
51946         16cf469 ; Spelling fix and tighten up comment
51947         f50bc04 Allow splat operator before percent literal
51948         991c801 Don't apply the return value of goto-char as syntax class
51949         6e63b3e Guard against nested percent literals
51950         066f3bc Recognize iuwu-mod after an escaped newline
51951         6f7a57c Fix symbolic mode string conversion for s and t
51952         50b9826 Update 'ucs-names' database
51953         993b2fb Improve doc string of 'shell-command'
51954         b71c717 Make the code in movemail_strftime more general
51955         cc057e4 Speed up redisplay of binary files with long series of nulls
51956         e51b27e Remove the highlighting support for quoting 'like this' inside
51957                 Lisp docstrings
51958         b1abce1 Restore leading space in movemail pop output
51959         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
51960         dc9d837 Don't misindent computed property generator methods
51961         7923112 Fix mbox files produced by movemail on MS-Windows
51962         c45a1ca doc string file descriptor exhaustion fix
51963         265141b Fix Bug#22814
51965 2016-03-11  John Wiegley  <johnw@newartisans.com>
51967         Merge from origin/emacs-25
51969         620951f Fix previous fix of enlarge-/shrink-window
51970         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
51971         66d2717 Complete temperature units in calc-convert-temperature
51972         dbb02bf Make sure to use case-sensitive search
51973         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
51974         100346a Add the missing test case for the previous patch
51975         5aba61e Use the correct dabbrev expansion
51977 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
51979         Remove compat code in Tramp
51981         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
51982         Remove compat code.
51984 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
51986         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
51988         Use #' for function names.
51989         (latex-complete-envnames): Include existing environments in
51990         current buffer.
51991         (latex-insert-block): Use latex-complete-envnames.
51992         (tildify-foreach-ignore-environments): Declare.
51994 2016-03-10  Alain Schneble  <a.s@realize.ch>
51996         Fix asynchronous TLS connections on MS-Windows
51998         * src/w32.c (sys_write): Don't switch the socket to blocking mode
51999         if the connection attempt is in progress.  Instead, return either
52000         EWOULDBLOCK immediately if the connection is in progress, or the
52001         error code produced by '_sys_wait_connect' if the connection
52002         failed.  Switching the socket to blocking mode was found to
52003         interfere with GnuTLS handshake.  (Bug#22789)
52005 2016-03-10  Alan Mackenzie  <acm@muc.de>
52007         Clarify the documentation of nested comments.
52009         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
52010         style are recognized inside nestable comments.
52011         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
52012         UNNESTED comments.
52014 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
52016         Add new function display-buffer-reuse-mode-window
52018         * lisp/window.el (display-buffer-reuse-mode-window): New function.
52019         * doc/lispref/windows.texi (Display Action Functions): Document it.
52021 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
52023         Minor fixes for getaddrinfo_a usage
52025         * src/process.c (Fdelete_process): Check gai_cancel return value.
52026         That way, there’s no need to invoke gai_error.  Check gai_suspend
52027         return value.
52028         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
52029         string.  Simplify call to connect_network_socket.
52030         (check_for_dns): Avoid unnecessary initialization of local.
52032 2016-03-09  Sam Steingold  <sds@gnu.org>
52034         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
52036         The former avoids a compiler warning, the latter fixes a bug whereas
52037         the variable is compiled as lexical instead of dynamic.
52039 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
52041         Pacify --enable-gcc-warnings
52043         * src/xfns.c (x_create_tip_frame): Omit unused local.
52044         (Fx_show_tip): Don’t jump over auto initialization.
52046 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
52048         Optionally reuse tooltip frames instead of deleting/recreating them.
52050         * src/frame.c (tooltip_reuse_hidden_frame): New option.
52051         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
52052         handling of dividers.
52053         (x_hide_tip): New function.
52054         (Fx_show_tip): Try to reuse old tooltip frame when
52055         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52056         have not changed.  Insert STRING here instead of passing it to
52057         x_create_tip_frame.  Compute size of tooltip window with
52058         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
52059         padding tooltip window.
52060         (Fx_hide_tip): Call x_hide_tip.
52061         (Vw32_tooltip_extra_pixels): New variable.
52062         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
52063         value.  Fix doc-string.
52064         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
52065         make_frame with mini_p argument false.
52066         (x_hide_tip): New function.
52067         (Fx_show_tip): Try to reuse old tooltip frame when
52068         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52069         have not changed.  Insert STRING here instead of passing it to
52070         x_create_tip_frame.  Compute size of tooltip window with
52071         Fwindow_text_pixel_size.
52072         (Fx_hide_tip): Call x_hide_tip.
52073         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
52074         customization entry.
52076 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52078         Assume getaddrinfo in C code
52080         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
52081         All uses removed.
52082         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
52083         Say that port numbers can be integer strings.
52084         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
52085         (socket_connection): Assume HAVE_GETADDRINFO.
52086         * lisp/mpc.el (mpc--proc-connect):
52087         * lisp/net/network-stream.el (open-network-stream):
52088         It’s now OK to use integer strings as port numbers.
52089         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
52090         (Fmake_network_process): Assume HAVE_GETADDRINFO.
52092 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52094         Remove support for IRIX
52096         The IRIX port wasn’t really working anyway, and the code was
52097         getting in the way of other changes (e.g., getaddrinfo fixes).
52098         IRIX’s supplier dropped support for IRIX in 2013.
52099         * admin/CPP-DEFINES:
52100         * configure.ac (opsys):
52101         * doc/lispref/os.texi (System Environment):
52102         * etc/MACHINES, etc/PROBLEMS:
52103         * lisp/find-dired.el (find-grep-options):
52104         * lisp/lpr.el (lpr-lp-system):
52105         * lisp/ls-lisp.el (ls-lisp-emulation):
52106         * lisp/mail/rmail.el (rmail-spool-directory):
52107         * lisp/net/net-utils.el (ping-program-options):
52108         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
52109         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
52110         * src/conf_post.h [IRIX6_5]:
52111         * src/emacs.c (Vsystem_type):
52112         * src/filelock.c (get_boot_time_1):
52113         * src/process.c (process_send_signal):
52114         * src/unexelf.c (unexec):
52115         Omit IRIX-specific code and/or documentation.
52116         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
52117         Remove.  All uses removed.
52118         * etc/NEWS: Document the change.
52120 2016-03-06  John Wiegley  <johnw@newartisans.com>
52122         Revert "Use colors in the VC mode lines"
52124         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
52126 2016-03-06  Ken Brown  <kbrown@cornell.edu>
52128         Fix Cygwin-w32 build
52130         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
52131         Define only if WINDOWSNT, and update all uses accordingly.
52132         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
52133         (remove_w32_kbdhook): Declare only if WINDOWSNT.
52134         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
52136 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
52138         Unbreak the MinGW64 build
52140         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
52141         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
52142         for the details.  Reported by Angelo Graziosi
52143         <angelo.graziosi@alice.it>.
52145 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52147         Don't signal errors on E_AGAIN
52149         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
52150         error now that TLS is async.
52152 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52154         Allow making TLS negotiation blocking
52156         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
52158         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
52159         :complete-negotiation, to specify that we want complete
52160         negotiation even if the socket is non-blocking.
52161         (gnutls_try_handshake): Complete negotiation if given that keyword.
52163         * src/process.h (L): Added gnutls_complete_negotiation_p.
52165 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52167         Don't run ipv6 test on systems without ipv6
52169         * test/lisp/net/network-stream-tests.el
52170         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
52172 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
52174         Implement getaddrinfo fallback for MS-Windows
52176         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
52177         for more details.
52179         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
52180         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
52181         test program is not smart enough to auto-detect these.
52182         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
52183         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
52184         sys_getaddrinfo and sys_freeaddrinfo.
52186         * src/w32.c (init_winsock): Try loading getaddrinfo and
52187         freeaddrinfo from ws2_32.dll.
52188         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
52190         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
52191         and also ws2tcpip.h.
52192         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
52193         sys_getaddrinfo and sys_freeaddrinfo, respectively.
52194         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
52195         functions.
52197 2016-03-04  Glenn Morris  <rgm@gnu.org>
52199         * lisp/files.el: Fix recent typo.
52201         * lisp/subr.el (read-multiple-choice): Avoid free variable.
52203         * doc/lispref/files.texi (File Attributes): Fix typo.
52205 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52207         Make the describe-key prompts clearer
52209         * lisp/help.el (describe-key-briefly): Make the prompt clearer
52210         (bug#14854).
52211         (describe-key): Ditto.
52213 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52215         Allow scrolling while querying multiple choice
52217         * lisp/subr.el (read-multiple-choice): Allow scrolling the
52218         buffer while querying (bug#22827).
52220 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52222         Add accessors for `file-attributes'
52224         * doc/lispref/files.texi (File Attributes): Mention the accessors.
52226         * lisp/files.el (file-attribute-type)
52227         (file-attribute-link-number, file-attribute-user-id)
52228         (file-attribute-group-id, file-attribute-access-time)
52229         (file-attribute-modification-time)
52230         (file-attribute-change-time, file-attribute-size)
52231         (file-attribute-modes, file-attribute-inode-number)
52232         (file-attribute-device-number): New functions.
52234         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
52236 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
52238         Fix Bug#22814
52240         * lisp/autorevert.el (global-auto-revert-mode): Do not set
52241         `auto-revert-use-notify' to nil.
52243         * etc/NEWS: Mention this.
52245         * etc/PROBLEMS: Remove problem Bug#22814.
52247         * src/kqueue.c: Include <sys/resource.h>.
52248         (Fkqueue_add_watch): Limit the number of used file descriptors.
52249         (Bug#22814)
52251         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
52252         (file-notify-test00-availability, file-notify-test01-add-watch)
52253         (file-notify-test02-events, file-notify-test06-many-events):
52254         Use #' read syntax for functions.
52255         (file-notify-test05-dir-validity)
52256         (file-notify-test06-many-events): Simplify directory creation.
52257         (file-notify-test09-sufficient-ressources): New test.
52259 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52261         Fix insertion of edited servers in the dribble file
52263         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
52264         insert explicit newlines, because they're quoted (bug#22903).
52266 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52268         Move cl-seq-tests to the right place after the merge
52270         Move cl-seq-tests to the right place after the merge
52272 2016-03-03  John Wiegley  <johnw@newartisans.com>
52274         Merge from origin/emacs-25
52276         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
52277         5cf7c39 authors.el updates
52278         a26f193 ; fix changelog entries
52279         fbc85c7 ; make change-history-commit
52280         06da00c Fix Bug#22859
52281         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
52282         1481029 Fix reordering of bidi text in an isolate inside an override
52283         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
52285 2016-03-03  John Wiegley  <johnw@newartisans.com>
52287         Merge from origin/emacs-25
52289         f5d1435 Fix targets in test/automated/Makefile.in
52291 2016-03-03  John Wiegley  <johnw@newartisans.com>
52293         Merge from origin/emacs-25
52295         b6d6304 Comment on last change to define-derived-mode
52297 2016-03-03  John Wiegley  <johnw@newartisans.com>
52299         Merge from origin/emacs-25
52301         cb1e3da Also allow setting the paragraph direction to nil
52302         bbe8a89 Made the new OS X visible bell more visible.
52304 2016-03-03  John Wiegley  <johnw@newartisans.com>
52306         Merge from origin/emacs-25
52308         aae436e Uncomment the next-error-function integration in xref
52309         5f0d096 Remove the word "valid", to avoid ambiguity
52311 2016-03-03  John Wiegley  <johnw@newartisans.com>
52313         Merge from origin/emacs-25
52315         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
52316         0d60bfc Fix ModelSim error parsing
52318 2016-03-03  John Wiegley  <johnw@newartisans.com>
52320         Merge from origin/emacs-25
52322         b13cab6 Add a eww command to toggle paragraph direction
52323         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
52324         9e078e5 Fix char signedness issue in bidi code
52325         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
52326         14060a9 Avoid inflooping in thing-at-point-looking-at
52327         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
52328                 indent change.
52329         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
52330         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
52331         d2dd614 Remove unneeded workaround in xftfont.c
52332         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
52333         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
52334         06a872b Fix redisplay on a TTY after 'make-frame'
52335         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
52336                 Fixes bug#5560.
52337         7d206fc Input method polish-slash should not use keyboard translation
52338         8be32cf Fix an assertion
52339         040e0d6 Fix 'toggle-save-place'
52340         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
52342 2016-03-03  John Wiegley  <johnw@newartisans.com>
52344         Merge from origin/emacs-25
52346         e6a3819 Update HISTORY section in readme for the NextStep interface.
52347         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
52348         7c81a0b Improve documentation of 'save-place-mode'
52349         cab3f0a Allocate glyph matrices for the initial frame
52350         e01c72f Fix white space in last checkin
52351         370eb67 Make `insert-pair' always leave the cursor where documented
52352         b594393 etc/NEWS: Mention the new second parameter to `package-install'
52354 2016-03-03  John Wiegley  <johnw@newartisans.com>
52356         Merge from origin/emacs-25
52358         bd58c13 Improve documentation of focus-related hooks
52359         00a4720 Further improve doc string of 'disable-point-adjustment'
52360         c582def Further adaptions in file-notify-tests.el for w32notify
52361         a1585e1 Don't bug out on localized dates in gnus-icalendar
52363 2016-03-03  John Wiegley  <johnw@newartisans.com>
52365         Merge from origin/emacs-25
52367         7bc4820 Make setf for frame-height/width work again
52369 2016-03-03  John Wiegley  <johnw@newartisans.com>
52371         Merge from origin/emacs-25
52373         6620944 (cl-union): Do not ignore :test argument when lists are equal.
52374         17dd3fb Add `isearch' to `basic-faces'
52375         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
52376         e72a26e Make find-tag-default-bounds more strict
52377         1bc0e0a Minor fixes in filenotify.el
52379 2016-03-02  Alain Schneble  <a.s@realize.ch>
52381         Fix issue of inserting images on some systems
52383         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
52384         to pass to shr-image-fetched, to indicate where to insert the
52385         image.  Fixes the issue introduced with commit
52386         80852f843e69b81618f29cfb9aa4b074946cb3c4
52387         (bug#22789).
52389 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
52391         Ensure TLS negotiation progress
52393         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
52394         number of retries so that we try for about a minute.
52396         * src/process.c (wait_reading_process_output): Ensure progress
52397         for DNS resolution and TLS negotiation.
52399 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52401         emacs-module.h slight simplification
52403         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
52404         * src/emacs-module.h: ... from here, as they don’t need to be public.
52405         (enum emacs_arity): Remove useless enum tag.  The enum value is
52406         used in ptrdiff_t contexts.
52408         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52410 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52412         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52414 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52416         emacs-module.c simplification and tuneup
52418         * src/emacs-module.c (CHECK_USER_PTR): New function.
52419         (module_get_user_ptr, module_set_user_ptr)
52420         (module_get_user_finalizer, module_set_user_finalizer): Use it.
52421         (module_make_global_ref, module_copy_string_contents)
52422         (module_make_string, module_vec_set, module_vec_get): Omit
52423         unnecessary runtime tests.  For example, vector sizes are always
52424         fixnums, so we don’t need to test that they are in fixnum range.
52426 2016-03-02  Philipp Stephani  <phst@google.com>
52428         Use standard checks whenever possible.
52430         This is possible in all functions where we catch signals anyway.
52432         * src/emacs-module.c (module_make_global_ref, module_funcall)
52433         (module_copy_string_contents, module_make_string): Use xsignal0
52434         and CHECK macros for argument checks.
52436 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52438         Deterministic build improvements
52440         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
52441         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
52442         and have its value be either empty or --no-build-details.
52443         All uses changed.  Change option to --disable-build-details.
52444         * doc/emacs/cmdargs.texi (Initial Options):
52445         Document --no-build-details.
52446         * doc/lispref/internals.texi (Building Emacs):
52447         * etc/NEWS:
52448         Document --disable-build-details.
52449         * doc/lispref/intro.texi (Version Info): Say that
52450         emacs-build-time can be nil.
52451         * lisp/erc/erc-compat.el (erc-emacs-build-time):
52452         Now nil if details are omitted.
52453         * lisp/erc/erc.el (erc-cmd-SV):
52454         * lisp/version.el (emacs-build-time):
52455         Now nil if no build details.
52456         (emacs-version):
52457         Output build time only if build details.
52458         * src/Makefile.in (BUILD_DETAILS): New macro.
52459         (temacs, bootstrap-emacs): Use it.
52460         * src/emacs.c (build_details): New var.
52461         (standard_args, main): Support --no-build-details.
52462         (Vdeterministic_dump): Remove; all uses replaced
52463         by !build_details.
52464         (syms_of_emacs): Set Vbuild_details to a boolean, not
52465         to a Lisp_Object.
52466         * src/lisp.h (build_details): New decl.
52467         * src/sysdep.c (init_system_name): When !build_details,
52468         set system-name to nil, not to "elided".
52470 2016-03-02  Philipp Stephani  <phst@google.com>
52472         Remove build system name from deterministic dumps
52474         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
52475         * lisp/version.el (emacs-build-time): Add a comment to make the
52476         build time deterministic if requested.
52477         (emacs-build-system): Make variable deterministic if requested.
52478         * src/emacs.c (main): Initialize `deterministic-dump' from the
52479         configuration option.
52480         (syms_of_emacs): New constant `deterministic-dump'.
52481         * src/sysdep.c (init_system_name): Use a constant
52482         if a deterministic dump is requested.
52484 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
52486         Remove buggy parse-time test
52488         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
52489         Remove the iso parse test, since it doesn't work.
52491 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52493         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
52495 2016-02-29  Glenn Morris  <rgm@gnu.org>
52497         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
52498         Experiment with setting to nil.
52500 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52502         Make the revert command in timer-list-mode work
52504         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
52505         command work.
52507 2016-02-29  Glenn Morris  <rgm@gnu.org>
52509         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
52510         Fix 6-week old merge error.
52512         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
52513         Ensure timestamps.
52515         * lisp/emacs-lisp/package.el (package-generate-autoloads):
52516         Disable timestamps.
52518 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52520         Allow binding `url-mime-accept-string'
52522         * lisp/url/url-http.el (url-http): Allow binding
52523         `url-mime-accept-string' (bug#22855).
52525 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52527         Add a NEWS entry for the colorful VC indicator
52529 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52531         Use colors in the VC mode lines
52533         * lisp/vc/vc-hooks.el: Make the mode line faces default to
52534         using colors to more clearly tell the user what the status is.
52536 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52538         Support <bdo> and <bdi>
52540         * lisp/net/shr.el (shr-tag-bdo): New function.
52541         (shr-tag-bdi): Ditto.
52543 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52545         Respect <html dir=auto>
52547         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
52548         directional HTML setting.
52550 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52552         Default bidi paragraph direction to nil
52554         * lisp/net/eww.el (eww-display-html): Default bidi rendering
52555         to nil, so that possibly more Arabic web pages render
52556         correctly (bug#22786).
52557         (eww-setup-buffer): Ditto.
52559 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
52561         Preserve current column, going up/down in thumbnail view.
52563 2016-02-29  Alan Mackenzie  <acm@muc.de>
52565         Handle "noise" macros and compiler directives.
52567         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
52569         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
52570         (c-noise-macro-with-parens-names): New customizable variables.
52571         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
52572         (c-make-noise-macro-regexps): New function.
52574         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
52575         members of c-noise-macro-names as whitespace.
52576         (c-forward-noise-clause): New function.
52577         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
52578         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
52579         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
52580         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
52582         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
52583         in parallel with "prefix-spec keywords".
52585         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
52586         c-make-noise-macro-regexps to initialize the internal variables.
52588         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
52589         facilities.
52591 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
52593         Stop calling res_init
52595         Emacs shouldn’t need to call res_init any more, now that nscd or
52596         equivalent is everywhere.  On modern systems, calling res_init
52597         simply slows Emacs down.  On ancient systems lacking nscd Emacs
52598         will still work well enough with this change; it’s just that it
52599         won’t respond to changes in /etc/resolv.conf.
52600         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
52601         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
52602         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
52603         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
52605 2016-02-29  Glenn Morris  <rgm@gnu.org>
52607         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
52609         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
52611 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
52613         * src/process.c (Fdelete_process): Simplify cast.
52615 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52617         Use the correct background color when filling nested <divs>
52619         * lisp/net/shr.el (shr-face-background): Return the first
52620         background, because that's the one that's visible (bug#22680).
52622 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52624         Make <div> in <li> not insert extra newlines
52626         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
52627         extra newlines (bug#19587).
52629 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52631         Allow reading Gnus reports from an offline cache
52633         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
52634         Allow reading bug reports from an offline cache directory.
52636 2016-02-28  Tino Calancha  <f92capac@gmail.com>
52638         Meta + shift + Fn combos are recognized by xterm>=216.
52640         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
52641         Fn combos are recognized by xterm>=216 (bug#22837).
52643 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
52645         Declare $ as an expression prefix in SCSS
52647         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
52648         expression prefix (bug#22841).
52650 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52652         Revert "Declare $ as an expression prefix in SCSS"
52654         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
52656         Revering to fix author name.
52658 2016-02-28  Simen  <simenheg@gmail.com>
52660         Declare $ as an expression prefix in SCSS
52662         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
52663         expression prefix (bug#22841).
52665 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
52667         Save buffers before running grep commands
52669         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
52670         (grep, lgrep, rgrep): Use it (bug#96).
52672         * doc/emacs/building.texi (Grep Searching): Document
52673         `grep-save-buffers'.
52675         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
52676         `grep-ask-about-save'.
52677         (grep--save-buffers): New function.
52678         (grep, lgrep, rgrep): Use it.
52680 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52682         Allow sorting flyspell corrections
52684         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
52685         (flyspell-sort-corrections-functionx): New variable.
52686         (flyspell-sort-corrections-alphabetically): New function.
52687         (flyspell-notify-misspell): Use them.
52688         (flyspell-auto-correct-word): Ditto.
52689         (flyspell-emacs-popup): Ditto.
52690         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
52692 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52694         Wait for async DNS to complete before freeing resources
52696         * src/process.c (Fdelete_process): Wait for async DNS to
52697         complete before freeing the data structures it needs.
52699 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52701         * lisp/faces.el: Remove duplicated functions from previous patch.
52703 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
52705         Fix TLS connections on MS-Windows
52707         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
52708         this is a non-blocking socket whose connection is in progress, set
52709         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
52710         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
52711         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
52713 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52715         Add a NEWS entry for the read-color change
52717 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
52719         Show the face colors when completing in `read-color'
52721         * lisp/faces.el (defined-colors-with-face-attributes): New function.
52722         (readable-foreground-color, defined-colors-with-face-attributes)
52723         (readable-foreground-color): Ditto.
52724         (read-color): Use them (bug#5305).
52726 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52728         Clean up the code in parse-time-string-chars
52730         * lisp/calendar/parse-time.el (parse-time-string-chars):
52731         Clean up the code a bit.
52733 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52735         Add some tests for parse-time.el
52737         * test/lisp/calendar/parse-time-tests.el: New file.
52739 2016-02-27  Dima Kogan  <dima@secretsauce.net>
52741         Strip out some leading whitespace when looking at logs
52743         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
52744         at expanded git logs with `vc-print-root-log' (C-x v L, then
52745         <enter> by default), Emacs was stripping out all leading
52746         whitespace from git logs.  I now strip exactly 2 leading
52747         spaces, which retains the indentation in the logs (bug#18110).
52749 2016-02-27  Dima Kogan  <dima@secretsauce.net>
52751         Use a separate history variable for align-regexp
52753         * lisp/align.el (align-regexp-history): New variable (bug#16891).
52754         (align-regexp): Use it.
52756 2016-02-27  Phil Sung  <philbert@gmail.com>
52758         Create subdirectories automatically in wdired
52760         * lisp/wdired.el (wdired-create-parent-directories): New
52761         variable (bug#6817).
52762         (wdired-create-parentdirs): New function.
52763         (wdired-do-renames): Use it.
52764         * doc/emacs/dired.texi (Wdired): Mention
52765         `wdired-create-parent-directories'
52767 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52769         Return the correct error values from gnutls.c
52771         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
52772         expected by process.c.
52773         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
52774         possible race condition with the process.c socket polling
52775         functions.
52777 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
52779         Don't make assumptions about mkdir.  (Bug#22822)
52781         * test/Makefile.in (MKDIR_P): New, set by configure.
52782         (%.log): Use MKDIR_P.
52784 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
52786         Support switching to hexl-mode from image-mode
52788         * lisp/image-mode.el (image-toggle-hex-display)
52789         (image-mode-to-text): New functions.
52790         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
52791         image-toggle-hex-display.
52792         (image-mode-map): New menu item "Show as Hex".
52793         (image-mode): Update doc string and echo-area message.
52794         (image-toggle-display): Support toggle to hex.  (Bug#22453)
52796         * doc/emacs/files.texi (File Conveniences): Document
52797         'image-toggle-hex-display'.
52799 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
52801         Remove unused code in coding.c
52803         * src/coding.c (decode_eol): Remove unused code that handled the
52804         case of coding->dst_object being nil.  Replace it with an
52805         assertion.
52807 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
52809         * src/syntax.c: Fix result of syntax_multibyte()
52811         The ?: operator has a lower precedence than ||.
52812         Bug introduced by commit 45b683a.
52814 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
52816         --enable-gcc-warnings now uses -Wjump-misses-init
52818         When configuring with --enable-gcc-warnings, also enable
52819         -Wjump-misses-init, as it’s confusing to use a goto to skip over
52820         an initialization.  Fix the few places in the code that run afoul
52821         of this warning.
52822         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
52823         * src/doc.c (Fsubstitute_command_keys):
52824         * src/image.c (svg_load_image):
52825         * src/regex.c (re_match_2_internal):
52826         * src/xdisp.c (redisplay_internal, redisplay_window):
52827         Don’t jump over initialization.
52829 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
52831         Improve the register-hotkey functionality on MS-Windows
52833         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
52834         keyboard hook functionality.
52835         Include w32inevt.h, basetyps.h and unknwn.h.
52836         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
52837         (kbdhook): A new struct definition.
52838         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
52839         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
52840         (modifier_set): Call check_w32_winkey_state if a Win key was
52841         pressed and the keyboard hook is active.
52842         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
52843         hook is active.  Only register/unregister the hotkeys if the
52844         keyboard hook is not active.  When WM_CREATE is received, call
52845         setup_w32_kbdhook.  When WM_DESTROY is received, call
52846         reset_w32_kbdhook_state.
52847         (lookup_vk_code): When the keyboard hook is active, map
52848         alphanumeric characters to themselves.
52849         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
52850         modified keys to VK_ANY if the keyboard hook is active.  Register
52851         Alt-x and Win-x combinations.
52852         (Fw32_shell_execute): Update doc string to reflect new
52853         functionality.  Bypass the code that posts the
52854         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
52855         (Fw32_unregister_hot_key): Bypass the code that posts the
52856         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
52857         (syms_of_w32fns) <w32-pass-lwindow-to-system>
52858         <w32-pass-rwindow-to-system, w32-phantom-key-code>
52859         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
52860         to reflect the new functionality.
52861         * src/w32console.c (initialize_w32_display): Install the low-level
52862         keyboard hook.
52863         * src/w32inevt.c (key_event): Handle Win-x combinations only if
52864         the keyboard hook is not active.  If the hook is active, use
52865         check_w32_winkey_state instead.
52866         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
52867         (check_w32_winkey_state): Add prototypes.
52868         (w32_kbdhook_active): New macro.
52870         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
52871         new functionality.
52873 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
52875         Add forward-sexp (and related) tests
52877         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
52878         forward-sexp and related functions (bug#22800).
52880 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
52882         Don't use (localized) week days in dates
52884         * lisp/gnus/gnus-icalendar.el
52885         (gnus-icalendar-event:org-timestamp): Don't use (localized)
52886         week days in the dates, because that messes up things later.
52888 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
52890         Update pcomplete/find
52892         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
52893         (bug#10487).
52895 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
52897         Make parse-time-string-chars more efficient
52899         * lisp/calendar/parse-time.el (parse-time-string-chars): The
52900         string has already been downcase, so don't care about case
52901         (bug#18522).
52903 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
52905         Remove killed buffers from the list of Gnus buffers
52907         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
52908         buffers from the list of Gnus buffers (bug#18522).
52910 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52912         Integer overflow cleanups for ports and socklen
52914         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
52915         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
52916         (connect_network_socket):
52917         Use ptrdiff_t, not int, for signed object sizes.
52918         This addresses only a theoretical problem, as in practice these
52919         object sizes are less than 2**31, but we might as well use the
52920         same style here as elsewhere in Emacs.
52921         (string_integer_p): Remove; all uses removed.
52922         (Fmake_network_process): Check that port number is in range.
52923         When converting an integer-string service, rely on strtol
52924         rather than rechecking the string by hand.
52925         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
52926         Adjust prototypes to match.
52928 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
52930         Add pcomplete support for find
52932         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
52933         for find (bug#10487).
52935 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
52937         Replace XXX acronyms with draft standard ones
52939         * lisp/international/characters.el (c1-acronyms): Replace XXX
52940         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
52941         (bug#13745).
52943 2016-02-24  Kevin Ryde  <user42@zip.com.au>
52945         Make checkdoc warn about variables described as "True"
52947         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
52948         Docstrings for variables "True...", and functions "Return
52949         true...", should usually be "non-nil" (bug#15506).
52951 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
52953         Add NEWS entry for "number string" change
52955 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
52957         Allow using "number strings" as services on non-GNU systems
52959         * src/process.c (string_integer_p): New function.
52960         (Fmake_network_process): Use it to allow connecting to
52961         services specified as "993" even when getaddrbyname isn't
52962         available.
52964 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
52966         Fix problem in tramp.texi
52968         * doc/misc/tramp.texi (File name completion): Do not use
52969         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
52970         during PDF creation.
52972 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52974         Make image commands available in image-mode
52976         * lisp/image-mode.el (image-mode-map): Inherit from
52977         `image-map' so that the usual image commands work.
52979 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52981         Move `o' to `O' in shr-map
52983         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
52984         from `o' to `O' to avoid collisions with `image-map'.
52986 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52988         Make setting the coding system non-blocking
52990         * src/process.c (Fset_process_filter_multibyte): Defer
52991         completing coding system setup in asynchronous processes.
52992         (Fset_process_coding_system): Ditto.
52994 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
52996         Mention `proced-toggle-auto-update' in the proced-mode doc string
52998         * lisp/proced.el (proced-mode): Mention
52999         `proced-toggle-auto-update' (bug#14341).
53001 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
53003         Add a fortune-message command
53005         * lisp/play/fortune.el (fortune-message): Add a command to
53006         display fortunes in the echo area (bug#14915).
53008 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
53010         Add hideshow bindings analogous to outline mode
53012         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
53013         analogous to outline mode bindings (bug#15324).
53015 2016-02-23  Bastien Guerry  <bzg@altern.org>
53017         Allow highlighting things like @math{2^{12}}
53019         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
53020         Allow highlighting things like @math{2^{12}} (bug#16390).
53022 2016-02-23  Per Bothner  <per@bothner.com>
53024         Make `C-{up,down,left,right}' work in term mode
53026         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
53027         to send the same escape sequence that xterm sends.  This makes
53028         backward-word and forward-word work in readline (bug#16746).
53030 2016-02-23  Dima Kogan  <dima@secretsauce.net>
53032         Allow ff-find-other-file (etc) to work with indirect clone buffers
53034         * lisp/find-file.el (ff-buffer-file-name): New function to
53035         allow the feature to work with indirect buffers, too
53036         (bug#16904).
53037         (ff-find-the-other-file): Use it.
53038         (ff-other-file-name): Ditto.
53039         (ff-get-file-name): Ditto.
53041 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53043         Fix error in add-change-log-entry when the entry has no newline
53045         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
53046         ChangeLog may end without a new line starting with blanks.
53048 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53050         Avoid using mm-util functoins in gravatar.el
53052         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
53053         mm-util functions.
53054         (gravatar-retrieve-synchronously): Ditto.
53056 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53058         Move low-level library files from the lisp/gnus directory
53060         The files moved from lisp/gnus are:
53062         auth-source.el -> /
53063         compface.el -> /image
53064         ecomplete.el -> /
53065         flow-fill.el -> /mail
53066         gravatar.el -> /image
53067         gssapi.el -> /net
53068         html2text.el -> /net
53069         ietf-drums.el -> /mail
53070         mail-parse.el -> /mail
53071         mail-prsvr.el -> /mail
53072         mailcap.el -> /net
53073         plstore.el -> /
53074         pop3.el -> /net
53075         qp.el -> /mail
53076         registry.el -> /
53077         rfc1843.el -> /international
53078         rfc2045.el -> /mail
53079         rfc2047.el -> /mail
53080         rfc2231.el -> /mail
53081         rtree.el -> /
53082         sieve-manage.el -> /net
53083         sieve-mode.el -> /net
53084         sieve.el -> /net
53085         starttls.el -> /net
53086         utf7.el -> /international
53087         yenc.el -> /mail
53089 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53091         Allow undoing changes while doing query-replace
53093         * doc/lispref/searching.texi (Search and Replace): Mention
53094         undo (bug#21684).
53096         * lisp/replace.el (query-replace-help): Document undo.
53097         (perform-replace): Implement undo while replacing text.
53099 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
53101         Highlight assignments in Makefiles more correctly
53103         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
53104         Highlight assignments preceded by a TAB character correctly
53105         (bug#20787).
53107 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
53109         Use memmove instead of memcpy on overlapping regions
53111         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
53112         use memmove instead of memcpy (bug#19213).
53114 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53116         Port to --enable-gcc-warnings sans getaddrinfo_a
53118         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
53119         to a local unused when getaddrinfo_a is missing.
53120         Resize portbuf to size needed.  Do cheap test first.
53121         Move local to block where it’s needed.
53123 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53125         Minor cleanups for async DNS etc.
53127         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
53128         Omit unnecessary parens.
53129         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
53130         (gnutls_verify_boot):
53131         Use bool for boolean.
53132         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
53133         * src/process.c (free_dns_request, Fmake_network_process):
53134         Allocate and free async request control block all in one go.
53135         (set_network_socket_coding_system, finish_after_tls_connection)
53136         (connect_network_socket):
53137         Now static.
53138         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
53139         (Fmake_network_process): Use list1 for brevity.
53140         (wait_for_socket_fds): 2nd arg is now const ptr.
53141         * src/process.h (struct Lisp_Process.dns_request):
53142         Now struct gaicb *, not struct gaicb **, since there was always
53143         exactly one.  All uses changed.
53144         * src/window.c, src/window.h (run_window_configuration_change_hook):
53145         Now static.
53147 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
53149         Allow more shell script defun forms
53151         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
53152         script defun forms, like function name () {...} (bug#19754).
53154 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
53156         Fix `window-configuration-change-hook' and `window-size-change-functions'
53158         (1) Run `window-configuration-change-hook' if and only if at least
53159         one window was deleted or created or shows another buffer since
53160         last redisplay.
53162         (2) Run `window-size-change-functions' if and only if at least
53163         one window changed its size since last redisplay (in a few cases
53164         `window-size-change-functions' will also run when no window
53165         changed its size).
53167         (3) Provide two functions `window-pixel-height-before-size-change'
53168         and `window-pixel-width-before-size-change' that allow to easily
53169         detect which window changed size.
53171         * src/frame.h (struct frame): New boolean member
53172         window_configuration_changed.
53173         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
53174         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
53175         * src/frame.c (adjust_frame_size): Don't run
53176         `window-configuration-change-hook'.
53177         * src/window.h (struct window): New fields
53178         pixel_width_before_size_change and pixel_height_before_size_change.
53179         (WINDOW_INTERNAL_P): New macro.
53180         * src/window.c (Fwindow_pixel_width_before_size_change)
53181         (Fwindow_pixel_height_before_size_change): New functions.
53182         (Fdelete_other_windows_internal, Fwindow_resize_apply)
53183         (resize_frame_windows, Fsplit_window_internal)
53184         (Fdelete_window_internal, grow_mini_window)
53185         (shrink_mini_window, Fresize_mini_window_internal): Don't call
53186         FRAME_WINDOW_SIZES_CHANGED.
53187         (window_size_changed, window_set_before_size_change_sizes)
53188         (run_window_size_change_functions): New functions.
53189         (make_window): Initialize pixel_width_before_size_change and
53190         pixel_height_before_size_change.
53191         (Fdelete_window_internal): Don't call
53192         run_window_configuration_change_hook.
53193         (struct saved_window): Add pixel_height_before_size_change and
53194         pixel_width_before_size_change.
53195         (Fset_window_configuration): Try to identify window configuration
53196         changes correctly so run_window_configuration_change_hook and
53197         run_window_size_change_functions run only if configuration and size
53198         really changed.
53199         (save_window_save): Set the pixel_height_before_size_change and
53200         pixel_width_before_size_change fields.
53201         (Vwindow_size_change_functions): Move here definition from xdisp.c.
53202         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
53203         run_window_size_change_functions.
53204         (Vwindow_size_change_functions): Move definition to window.c.
53205         * src/xfns.c (x_set_menu_bar_lines): Don't call
53206         run_window_configuration_change_hook.
53207         * doc/lispref/windows.texi (Window Sizes): Document new
53208         functions `window-pixel-height-before-size-change' and
53209         `window-pixel-width-before-size-change'.
53210         (Window Configurations): Mention that this may trigger
53211         execution of `window-size-change-functions' although no window
53212         changed size.
53213         (Window Hooks): Update descriptions of `window-size-change-functions'
53214         and `window-configuration-change-hook'.
53216 2016-02-23  Drew Adams  <drew.adams@oracle.com>
53218         (ls-lisp-insert-directory): Make -B work
53220         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
53221         (bug#20776).
53223 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53225         Fix typo in message-setup-fill-variables
53227         * lisp/gnus/message.el (message-setup-fill-variables): Fix
53228         typo in a recent checkin that used `setq-default' instead of
53229         `setq-local' (bug#22781).
53231 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53233         `message-dont-reply-to-names' can also be a list of regexps
53235         * lisp/gnus/message.el (message-dont-reply-to-names):
53236         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
53238 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
53240         Make buttons in header lines work
53242         * lisp/help-mode.el (help-button-action): `help-xref-button' in
53243         header line doesn't work (bug#21024).
53245 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
53247         Place apples randomly in Snake
53249         * lisp/play/snake.el (snake-score): New variable (bug#21359).
53250         (snake-set-dot): Place the apples randomly.
53252 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53254         Allow optional parameter to be nil
53256         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
53257         optional parameter to be nil (bug#21576).
53259 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53261         Completely ignore buffers with no name when copying file names
53263         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
53264         ignore buffers with no file name. (bug#21577).
53266 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53268         Make spelling of "Eshell" consistent
53270         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
53271         * lisp/eshell/eshell.el (eshell-command):
53272         Spell it "Eshell" (bug#21678).
53274 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
53276         Allow pretty lambdas in Scheme mode
53278         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
53279         `prettify-symbols-alist' from Lisp mode (bug#21679).
53281 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53283         Rename lisp--prettify-symbols-alist
53285         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
53286         Rename from `lisp--prettify-symbols-alist' since we're going
53287         to use it in Scheme mode, too.
53288         (lisp-mode-variables): Use it.
53290 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
53292         Remove spurious newline in package list
53294         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53295         spurious newline (bug#21706).
53297 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53299         Revert "Remove spurious newline in package list"
53301         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
53303 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
53305         Remove spurious newline in package list
53307         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53308         spurious newline (bug#21706).
53310 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53312         Keep the position in the process buffer when deleting processes
53314         * lisp/simple.el (process-menu-delete-process): Keep the
53315         position in the buffer after killing a process (bug#21759).
53317 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53319         Require that the buffer that we're trying to patch exist
53321         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53322         buffer that we're trying to patch exist (bug#21852).
53324 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53326         Require that the buffer that we're trying to patch exist
53328         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53329         buffer that we're trying to patch exist (bug#21852).
53331 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53333         Be more verbose when changing frame mode in ediff
53335         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
53336         mode we toggled to (bug#21853).
53338 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
53340         Encode header strings before printing
53342         * lisp/ps-print.el (ps-generate-header-line): Encode the
53343         header strings to avoid problems with non-ASCII headers
53344         (bug#22611).
53346 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53348         Test message-strip-subject-trailing-was
53350         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
53351         New test (bug#22632).
53353 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53355         Make use of the `ert-with-function-mocked' macro
53357         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
53358         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
53359         `ert-with-function-mocked' instead of implementing the fragile
53360         `unwind-protect' logic openly.
53362 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53364         message-strip-subject-trailing-was: Refactor
53366         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
53367         the function replacing sequence of `if' calls with a mixture of `or'
53368         and `and' calls instead.  This makes it shorter and containing less
53369         internal state thus easier to follow.
53371 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53373         ert-with-function-mocked: New macro
53375         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
53376         allows evaluating code while particular function is replaced with
53377         a mock.  The original definition of said function is restored once the
53378         macro finishes.
53380 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53382         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
53384         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
53385         interface functions.
53387         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
53388         gnus-rfc1843.
53390 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53392         Don't use mm-util functions in qp.el
53394         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
53395         mm-util functions.
53396         (quoted-printable-encode-string): Ditto.
53397         (quoted-printable-encode-region): Ditto.
53399 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53401         Don't require mm-util
53403         * lisp/mail/ietf-drums.el (mm-util): Don't require.
53405 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53407         Remove Gnus functions from auth-source.el
53409         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
53410         Remove usage of Gnus utility function.
53411         (mm-util, gnus-util): Don't require.
53413 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53415         Allow deleting all non-matching cookies
53417         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
53418         keeping matching cookies (bug#22720).
53420 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53422         Make (setf (image-property ...)) return VALUE
53424         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
53426 2016-02-22  John Wiegley  <johnw@newartisans.com>
53428         Merge from origin/emacs-25
53430         a9c48d5 Additional fixes for file notification
53431         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
53432         8c22ac9 ; Spelling fix
53433         2975784 Set file modes of pinentry socket for extra safety
53434         2667b3e Clarify GnuPG version compatibility chapter
53435         5e34c36 Revert "Change the default socket location for pinentry"
53436         e19c1c3 Kill off xref--display-history
53437         5698947 Keep the xref buffer visible until the user quits it explicitly
53438         e34fbde Change the default socket location for pinentry
53439         5f89658 Mention how to enable pinentry feature
53440         db51224 Sync with gnulib
53441         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
53442         2d8b2fd Restore point when writing semantic table to disk
53443         27d3430 Mention pinentry.el in epa manual
53444         5baa001 Fix Bug#22736
53445         7261355 Grammar fix in doc string
53446         d0f3b18 Naming fix for consistency
53447         74ec92d Prefer customized value for GnuPG executable
53448         ea0b604 Fix memory reservation on MS-Windows
53449         c5f72aa Update NextStep readme and add wish list.
53450         6de26a7 Report also result in `file-notify--test-event-handler'
53451         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
53452         1cb1268 Fix todo-mode item date editing bugs
53453         1e996cf Fix "[:upper:]" for non-ASCII characters
53454         896f993 Allow customizing the article mode cursor behavior
53455         24c1c1d Use pop-to-buffer-same-window in woman.el
53456         2a75f64 New filenotify test for bug#22736
53457         c9bccf7 Report critical battery errors
53458         d675db9 Make eww message toggling message clearer
53459         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
53460         fa8fd65 ; Improve character-folding entries in NEWS
53461         3722a69 Fix bugs in window resizing code
53462         289d5c6 Fix decoding DOS EOL in a unibyte buffer
53463         2abcb06 Correct c-parse-state cache manipulation error.
53464         14aec91 Take advantage of new GnuPG version check function
53465         e80c2a7 Make GnuPG version check robuster
53466         15a9464 Fix x-load-color-file pointer signedness
53467         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
53468         78ab6f1 Follow convention for greek letter constants.
53469         106b5bb Add Stefan-Boltzmann constant to calc units table.
53470         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
53471         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
53472         2d40f7d Fix soffice UserInstallation-URL for Windows
53473         b1a3ebe Fix display of <pre> elements
53474         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
53475         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
53477 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
53479         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
53481         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
53482           non-existing buffer.
53484 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53486         Mention the further asynchronousity
53488 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53490         Fix async TLS boot problem
53492         * src/process.c (wait_reading_process_output): Verify the boot
53493         of the correct process.
53495 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53497         Clean up forgotten text in manual
53499         * doc/lispref/display.texi (Defining Images): Remove example
53500         forgotten when making previous change.
53502 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53504         Clean up debugging code
53506         * src/process.c (Fmake_network_process): Remove debugging printf.
53507         (wait_for_socket_fds, wait_while_connecting)
53508         (wait_for_tls_negotiation): Remove newlines from messages.
53510 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53512         Fix merge conflicts in network-stream-tests.el
53514 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
53516         Port recent filevercmp addition to MS-Windows
53518         Reported by Andy Moreton in:
53519         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
53520         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
53521         (EXTRA_DIST): Add filevercmp.h.
53523 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53525         add_to_log expects Lisp parameters
53527 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53529         Mention sentinels in conjunction with :nowait t.
53531         * doc/lispref/processes.texi (Network Processes): Mention the
53532         recommended way of using sentinels with :nowait t.
53534 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53536         Mention in the doc strings that process functions may block
53538         (Fprocess_contact, Fprocess_datagram_address)
53539         (Fset_process_datagram_address, Fset_network_process_option)
53540         (Fprocess_send_region, Fprocess_send_string): Mention that the
53541         functions may block.
53542         (Fset_process_coding_system): Ditto.
53544 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53546         Add blocker warnings to the *Messages* buffer
53548         * src/process.c (wait_for_socket_fds): Add warning to the log.
53549         (wait_while_connecting): Ditto.
53550         (wait_for_tls_negotiation): Ditto.
53552 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53554         Rework the image property getter/setters
53556         * doc/lispref/display.texi (Defining Images): Document the
53557         renamed `image-get/set-property' functions.
53559         * lisp/image.el (image--set-property): Rename from
53560         image-set-property.
53561         (image-property): Declare a setf form.
53562         (image-property): Rename from `image-get-property'.
53564 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53566         Use Gnulib filevercmp for version comparison
53568         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
53569         * doc/lispref/strings.texi (Text Comparison):
53570         * etc/NEWS, src/fns.c:
53571         * test/src/fns-tests.el (fns-tests-string-version-lessp):
53572         Rename newly-introduced function to string-version-lessp, by
53573         analogy with strverscmp.
53574         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
53575         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
53576         * src/fns.c: Include <filevercmp.h>.
53577         (gather_number_from_string): Remove.
53578         (Fstring_version_lessp): Reimplement via filevercmp.
53580 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53582         Add a function to delete URL cookies
53584         * doc/misc/url.texi (Cookies): Document
53585         url-cookie-delete-cookies.
53587         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
53589 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53591         Avoid integer overflows in string-numeric-lessp
53593         * src/fns.c (Fstring_numeric_lessp): If we have an integer
53594         overflow, compare lexicographically.
53596 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53598         Add the string-numeric-lessp function
53600         * doc/lispref/strings.texi (Text Comparison): Document
53601         `string-numerical-lessp'.
53603         * src/fns.c (Fstring_numeric_lessp): New function.
53604         (gather_number_from_string): Helper function for that function.
53606         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
53608 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53610         Clarify levels of :nowait t.
53612         * doc/lispref/processes.texi (Network Processes): Mention
53613         levels of asynchronicity.
53615 2016-02-20  Alain Schneble  <a.s@realize.ch>
53617         Respect DNS timeouts
53619         * src/process.c (check_for_dns): If the async DNS request
53620         failed and the associated process is still in "connect" state,
53621         deactivate the process and set status to "failed".
53623 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53625         Add a frame around the placeholder image in shr
53627         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
53628         around the image.
53630 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53632         Use placeholder images in shr to avoid text moving around
53634         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
53635         from the HTML.
53636         (shr-tag-img): Ditto.
53637         (shr-string-number): New function.
53638         (shr-make-placeholder-image): Make placeholder images.
53639         (shr-tag-img): Insert them if we have SVG support.
53641 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53643         Get explicit width/height + scale computations right
53645         * src/image.c (compute_image_size): :scale should also be
53646         taken into account when :width and :height are explicitly names.
53648 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53650         New functions for getting and setting image properties
53652         * doc/lispref/display.texi (Defining Images): Document
53653         image-get/set-property.
53655         * lisp/image.el (image-set-property): New function.
53656         (image-get-property): Ditto.
53658 2016-02-19  Alan Mackenzie  <acm@muc.de>
53660         Await the final mouse event in C-h c and C-h k.
53662         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
53663         event, keep reading further events until a timeout occurs, to ensure we have
53664         the complete mouse event from the user.
53666 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53668         Add a library for creating and manipulating SVG images
53670         * doc/lispref/display.texi (SVG Images): New section.
53672         * lisp/svg.el: New file.
53674 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53676         Fix up tests for async TLS negotiation
53678 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53680         Fix coding system setup
53682         * src/process.c (set_network_socket_coding_system): Pass in
53683         the host/service that's been computed already.
53685 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
53687         Reference `tramp-theme' in GNU ELPA.
53689         * doc/misc/tramp.texi (Frequently Asked Questions):
53690         Reference `tramp-theme' in GNU ELPA.
53692 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
53694         Verify the TLS connection asynchronously
53696         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
53697         function so that we can call it asynchronously.
53698         (Fgnutls_boot): Use it.
53700         * src/process.c (wait_reading_process_output): Verify the TLS
53701         negotiation.
53703 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
53705         Add column layout module to CSS property list
53707         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
53708         CSS Multi-column Layout Module.
53710 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
53712         Minor cleanup in CONTRIBUTE and test/README
53714         * CONTRIBUTE: Remove detailed explanation about testing; this
53715         is now in test/README.
53717         * test/README: Don't mention automated/ subdirectory.
53719 2016-02-15  Glenn Morris  <rgm@gnu.org>
53721         Provide 'term/name in lisp/term files.
53723         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
53724         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
53725         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
53726         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
53727         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
53728         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
53729         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
53730         For consistency, provide 'term/name in all files that don't already.
53732 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53734         Deactivate the correct process
53736         * src/process.c (wait_reading_process_output): Deactivate the
53737         correct process on failure.
53739 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53741         Implement asynch TLS negotiation
53743         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
53744         function.
53745         (emacs_gnutls_handshake): Use it.
53746         (emacs_gnutls_read): Just return instead of retrying the handshake.
53748         * src/process.c (finish_after_tls_connection): Factor out
53749         into its own function.
53750         (connect_network_socket): Use it.
53751         (wait_reading_process_output): Retry TLS handshakes.
53752         (wait_reading_process_output): Defer sentinel until TLS completes.
53754 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53756         Simplify the DNS resolution loop a bit
53758         * src/process.c (wait_reading_process_output): Simplify the
53759         DNS resolution loop a bit.
53761 2016-02-15  Alain Schneble  <a.s@realize.ch>
53763         Loop over the process list instead of maintaining a separate list
53765         * src/process.c: Remove declaration/definition of dns_processes list.
53766         * src/process.c (wait_reading_process_output): Loop over all processes in
53767         Vprocess_alist instead of dns_processes, to check for completed DNS
53768         requests.
53770 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53772         Allow setting the filter masks later
53774         * src/process.c (Fset_process_filter): Don't set the socket
53775         masks here, because we may not have a socket yet.
53776         (set_process_filter_masks): New function.
53777         (connect_network_socket): Set the filter masks here.
53779 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53781         Remove debugging
53783 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53785         Ensure we always free DNS resources when deleting a process
53787         * src/process.c (free_dns_request): Factor out into own function.
53788         (Fdelete_process): When deleting a process, free any DNS
53789         structures associated with it.
53790         (check_for_dns): Always free all DNS resources.
53792 2016-02-15  Alain Schneble  <a.s@realize.ch>
53794         Don't block in set-process-window-size
53796         * src/process.c (set-process-window-size): Explicitly return Qnil when
53797         called with network processes as set_window_size won't work anyway on
53798         socket fds.  As a welcome side effect, this makes the blocking
53799         wait_for_socket_fds call obsolete.
53801 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53803         Do most of the coding system setup earlier
53805         * src/process.c (Fmake_network_process): Set the read/write
53806         coding systems here, so that special bindings work.
53807         (Fmake_network_process): Complete the coding system setup here.
53809 2016-02-15  John Wiegley  <johnw@newartisans.com>
53811         Merge from origin/emacs-25
53813         d4b93e1 Minor fixes in global-auto-composition-mode
53814         02b037b Allow arithmetic operators inside C++ template constructs.
53815         44b16f6 Avoid crashes in semi-malformed 'condition-case'
53816         652e5b4 Allow arithmetic operators inside C++ template constructs.
53817         d9ea795 Fix regression with 'recent-keys' and keyboard macros
53818         903603f Fix wording in a doc-view.el comment
53819         cf79616 ; Spelling fixes
53820         f8bf1b3 CONTRIBUTE cleanups and updates
53821         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
53822         1834ac7 Port to x86 GCC 4.3.1 and earlier
53823         8482949 Fix point movement under 'scroll-conservatively'
53824         c1313b5 Replace colon in file name (not legal on Windows)
53825         f7af26c Fix a typo in edt.texi
53826         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
53827         856cd94 Grep alias `all' shall not match parent directory
53829 2016-02-15  John Wiegley  <johnw@newartisans.com>
53831         Merge from origin/emacs-25
53833         dacde7e * etc/AUTHORS: Update the AUTHORS file
53834         478ca5d ; fix changelog entries
53835         2b7d006 ; make change-history-commit
53836         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
53837         47896c8 ; Improve commentary in insdel.c
53838         53ca1e1 Index tilde characters in names of backup files
53839         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
53840         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
53841         28bb214 Announce that the `C-x w' bindings are deprecated
53842         1c98f98 Suppress GNUstep hardening
53843         d82f24b Fix redisplay after a large insertion
53844         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
53845                 closed server"
53846         e8e3db0 ; Improve merge documentation in CONTRIBUTE
53847         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
53848         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
53849                 limitations.
53851 2016-02-15  John Wiegley  <johnw@newartisans.com>
53853         Merge from origin/emacs-25
53855         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
53856         afe7d1f Revert "Document EXIF image rotation"
53857         c6f377c Document OS X LANG default
53858         eb4a18c Set locale when run from OS X GUI
53859         456c0a3 make-docfile cleanup for I/O, etc.
53860         25ec995 Memory-management cleanup in make-docfile
53861         02d925e Kevin Gallagher has new email address
53862         4ef153b Improve doc strings of 'forward/backward-word-strictly'
53863         3ad05a0 Describe Makefile test targets in test/README
53865 2016-02-15  John Wiegley  <johnw@newartisans.com>
53867         Merge from origin/emacs-25
53869         10b8ed2 Document EXIF image rotation
53870         0f60049 Support integer image rotation and respect EXIF rotations
53871         7dd45b6 Quote table names for postgres listings (sql-mode)
53872         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
53873                 `backward' optional.
53874         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
53875                 temporary-goal-column.
53876         0a289d3 Suppress ACL ops if configured with --disable-acl
53877         1a9dbf5 Mention web bugs
53878         fa55da2 Make mm-html-blocked-images default to "" again
53880 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53882         Protect against initial handshake failures
53884         * src/process.c (connect_network_socket): Mark the connection
53885         as failed if the handshake didn't succeed yet.  This should be
53886         reworked later.
53888 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53890         Call the network security manager after doing TLS negotiation
53892         * lisp/net/network-stream.el (network-stream-open-tls):
53893         Postpone NSM verification when running async.
53895         * src/process.c (Fset_process_filter): This function doesn't
53896         need to wait.
53897         (connect_network_socket): Set the process status to "run" only
53898         after TLS negotiation.
53899         (wait_for_socket_fds): Take a name parameter for more debugging.
53900         (wait_reading_process_output): Don't change status to "run"
53901         unless TLS negotiation has finished.
53902         (send_process): Wait for the process here instead of
53903         send_process_string.
53904         (connect_network_socket): Call the network security manager.
53906 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53908         Remove some #ifdefs and update documentation
53910         * doc/lispref/processes.texi (Network Processes): Remove
53911         mention of `dns'.
53913         * lisp/net/network-stream.el (open-network-stream): Remove
53914         mention of `dns'.
53916         * src/process.c (Fset_process_filter)
53917         (Fset_process_window_size, Fprocess_contact)
53918         (Fprocess_datagram_address, Fset_process_datagram_address)
53919         (Fset_network_process_option, Fprocess_send_region)
53920         (Fprocess_send_string, Fset_process_coding_system)
53921         (Fset_process_filter_multibyte): Remove the #ifdef
53922         HAVE_GETADDRINFO_A checks.
53923         (Fprocess_send_string): Wait for TLS negotiation.
53924         (wait_for_tls_negotiation): New function.
53925         (send_process): Remove the TLS boot check.
53927         * src/process.c (Fmake_network_process): Ditto.
53929 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53931         Use :nowait t in url-gw
53933         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
53934         since we're not differentiating.
53936 2016-02-14  Alain Schneble  <a.s@realize.ch>
53938         Add blockers to process functions
53940         * src/process.c (set-process-filter, set-process-window-size,
53941         process-contact, process-datagram-address, set-process-datagram-address,
53942         set-network-process-option): Make functions wait (block) on network
53943         process until pending DNS requests have been processed and associated
53944         socket initialized.
53946         * src/process.c (process-send-region, process-send-string,
53947         process-send-eof): Make functions wait (block) while network process is
53948         in connect state.
53950 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
53952         Add fragmentation module to CSS property list
53954         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
53955         CSS Fragmentation Module Level 3.
53957 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
53959         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
53961 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
53963         New function seq-map-indexed
53965         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
53966         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
53968 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53970         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
53972 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53974         Fix problem with wrong encoding of non-ASCII message bodies
53976         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
53977         multibyteness before encoding the data.
53979 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53981         Remove codepage setup code from mm-util
53983         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
53984         (mm-codepage-iso-8859-list): Remove.
53985         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
53986         (mm-setup-codepage-ibm): Remove.
53987         (mm-charset-eval-alist): Remove the code pages from the
53988         default value.
53990 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53992         Remove compat code for older Emacsen
53994         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
53995         XEmacs compat code.
53997         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
53998         unused compat function.
53999         (gnus-sync-json-plist-p): Ditto.
54001         * lisp/gnus/message.el (message-default-charset): Make obsolete.
54002         (message-info): Remove compat code.
54003         (message-setup-fill-variables): Remove kludge needed earlier
54004         to not overwrite `normal-auto-fill-function'.
54005         (message-split-line): Remove compat code.
54007         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
54008         compat code.
54010 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54012         Remove some compat functions from gmm-utils.el
54014         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
54015         compat code.
54016         (gmm-image-search-load-path): Remove.
54017         (gmm-image-load-path-for-library): Remove.
54019 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54021         Remove the gmm-lazy and nnmail-lazy compat widgets
54023         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
54025         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
54027 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54029         Clean up nnimap-request-move-article slightly
54031         * lisp/gnus/nnheader.el (subr-x): Require.
54033         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
54034         the code slightly.
54036 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54038         Use open-network-stream instead of open-protocol-stream
54040         * lisp/gnus/nnimap.el: Use open-network-stream instead of
54041         open-protocol-stream.
54043         * lisp/gnus/nntp.el: Ditto.
54045         * lisp/gnus/pop3.el: Ditto.
54047         * lisp/net/sieve-manage.el: Ditto.
54049         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
54051 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54053         Remove compat code that relies on (featurep 'mule)
54055         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
54056         compat code.
54058         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
54059         Remove compat code.
54061         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
54062         Remove compat code.
54064         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
54065         Remove compat code.
54066         (mm-w3m-standalone-supports-m17n-p): Ditto.
54068 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54070         Remove compat functions from starttls.el
54072         * lisp/net/starttls.el
54073         (starttls-set-process-query-on-exit-flag): Remove.
54075 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54077         Remove compat functions from smime.el
54079         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
54080         (smime-make-temp-file): Remove.
54082 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54084         Remove compat code from smiley
54086         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
54088 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54090         Remove compat code from rfc2047
54092         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
54093         compat code.
54094         (rfc2047-decode-string): Ditto.
54096 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54098         Remove compat function from pop3
54100         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
54102 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54104         Remove compat code in Gnus backends
54106         * lisp/gnus/nndiary.el (nndiary-error): Remove.
54108         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
54110         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
54112         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
54114         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
54116 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54118         Remove compat code from some mml files
54120         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
54121         Remove compat code.
54123         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
54124         Always use `mail-extract-address-components', since this isn't
54125         time critical.
54126         (mml-smime-get-dns-cert): Ditto.
54128         * lisp/gnus/mml.el (mml-preview): Remove compat code.
54130 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54132         Remove compat code and compat functions from mm-util.el
54134         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
54135         compat code.
54136         (mm-coding-system-priorities)
54137         (mm-mule-charset-to-mime-charset, mm-charset-after)
54138         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
54139         (mm-detect-coding-region): Define unconditionally.
54140         (mm-detect-mime-charset-region): Ditto.
54141         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
54142         (coding-system-name)
54143         (find-file-coding-system-for-read-from-filename)
54144         (find-operation-coding-system): Remove aliases.
54146 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54148         Remove some compat code from mm-*.el
54150         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
54152         * lisp/gnus/mm-decode.el (mm-tmp-directory)
54153         (mm-valid-image-format-p): Remove compat code.
54155         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
54156         "Connection" "Close" workaround for older Emacsen.
54158 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54160         Remove compat code and functions from message.el
54162         * lisp/gnus/message.el (message-send-mail-function): Remove
54163         compat code.
54164         (message-dont-reply-to-names, message-mode)
54165         (message-setup-fill-variables, message-fill-paragraph)
54166         (message-remove-blank-cited-lines, message-make-from)
54167         (message-forward-rmail-make-body, message-tool-bar-gnome)
54168         (message-tab): Remove compat code.
54169         (message-completion-in-region): Remove.
54170         (message-read-from-minibuffer): Remove compat code.
54172 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54174         Declare rfc1843 instead of autoloading
54176         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
54177         instead of autoload.
54179 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54181         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
54183         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
54184         autoloaded correctly.  (Bug#22613)
54186 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54188         Fix network-stream-tests.el for MS-Windows
54190         * test/lisp/net/network-stream-tests.el
54191         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
54192         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
54194 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54196         Remove some Message compat functions
54198         * lisp/gnus/message.el (message-kill-all-overlays): Define
54199         unconditionally.
54200         (message-window-inside-pixel-edges): Remove.
54201         (mail-dont-reply-to): Remove.
54203 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54205         Remove some Gnus compat code
54207         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
54208         (gnus-mm-display-part): Ditto.
54210         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
54211         compat code.
54213 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54215         Sort groups before inserting them into the group buffer
54217         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
54218         Sort groups before inserting them.
54220 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54222         Make "unseen" tracking work again in Gnus
54224         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
54225         tracking work again.
54227 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54229         Remove Gnus compat functions defined in gnus.el
54231         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
54232         (gnus-extent-start-open, gnus-character-to-event)
54233         (gnus-assq-delete-all, gnus-add-text-properties)
54234         (gnus-put-text-property, gnus-key-press-event-p):
54236 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54238         Remove compat code from gnus-uu and win
54240         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
54241         compat code.
54243         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
54245         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
54247 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54249         Remove several gnus-util compat functions
54251         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
54252         (gnus-read-shell-command): Remove.
54253         (gnus-match-substitute-replacement): Remove.
54254         (gnus-string-match-p): Remove.
54255         (gnus-string-prefix-p): Remove.
54257 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54259         Remove the gnus-merge alias
54261         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
54263 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54265         Remove the gnus-union alias
54267         * lisp/gnus/gnus-util.el (gnus-union): Remove.
54269 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54271         Remove the gnus-delete-alist alias
54273         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
54274         (gnus-delete-alist): Remove.
54276 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54278         Remove the gnus-float-time alias
54280         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
54281         compat code.
54282         (gnus-float-time): Remove.
54284 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54286         Remove compat code from gnus-srvr, start and sum
54288         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
54289         compat code.
54291         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
54292         Remove compat code.
54294         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
54295         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
54296         (gnus-recenter)
54297         (gnus-summary-limit-strange-charsets-predicate)
54298         (gnus-summary-show-thread): Remove compat code.
54300 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54302         Remove compat code from gnus-spec.el
54304         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
54305         (gnus-balloon-face-function): Remove compat code.
54307 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54309         Fix compat change in last check-in
54311         * lisp/gnus/gnus-group.el
54312         (gnus-group-name-charset-group-alist): `find-coding-system'
54313         doesn't exist in Emacs.
54315 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54317         Always use url-queue
54319         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
54320         Always use url-queue.
54322 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54324         Remove compat functions from gnus-html.el
54326         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
54328 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54330         Remove compat code from gnus-group.el
54332         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
54333         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
54335 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54337         Define gnus-diary-kill-entire-line unconditionally
54339         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
54340         Define unconditionally.
54342 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54344         Remove compat code from gnus-cache and gnus-bookmark
54346         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
54348         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
54349         Remove compat code.
54351 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54353         Remove compat code from gnus-art.el
54355         * lisp/gnus/gnus-art.el (gnus-article-prepare)
54356         (gnus-mime-copy-part, gnus-output-to-file)
54357         (gnus-article-reply-with-original)
54358         (gnus-button-handle-apropos-variable)
54359         (gnus-button-handle-apropos-documentation):
54361 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54363         Remove compat code from gnus-agent.el
54365         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
54366         Remove compat code.
54368 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54370         Rewrite gmm-labels usage to use cl-labels
54372         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
54373         (gmm-labels): Remove.
54375 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54377         Remove compat code from canlock.el
54379         * lisp/gnus/canlock.el (defmacro): Remove
54381 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54383         Remove compat code from auth-source
54385         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
54386         Remove compat code.
54388 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54390         Fix gnus-group.el compilation warnings about unprefixed variables
54392         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
54393         compilation warnings by passing in the dynamic variables as
54394         explicit lexical parameters to `eval'.
54396 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54398         Fix the :tracker slot name
54400         * lisp/gnus/registry.el (registry-lookup-secondary): The
54401         `tracker' slot is called `tracker', not `:tracker'.
54403 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54405         Fix compilation warnings in gnus-art.el
54407         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
54408         (gnus-article-hide): Avoid compilation warnings.
54410 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54412         Fix compilation warning in gnus-score.el
54414         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
54415         compiler.
54417 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
54419         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
54421         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
54423         This makes nnimap groups not be activated.
54425 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54427         Fix encoding problem introduced by previous patch series
54429         * lisp/mail/rfc2047.el: Ditto (bug#22648).
54431         * lisp/mail/rfc2231.el: Fix problem created by the
54432         mm-replace-in-string conversion.
54434 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54436         Revert "Avoid defvarring prefix-less variables"
54438         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
54440         The defvars are needed if we're doing lexical-binding
54442 2016-02-12  Glenn Morris  <rgm@gnu.org>
54444         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
54445         Make it pass.
54447         * test/lisp/url/url-auth-tests.el
54448         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
54450 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54452         Finish up cl-defmethoding registry,el
54454         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
54456 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54458         Revert the gnus-replace-in-string change, fix arguments, reapply
54460 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54462         Silence more message.el compilation warnings
54464         * lisp/gnus/message.el (message-generate-headers): Don't use
54465         variable values directly to get the header values, because
54466         that breaks with lexical binding (without unprefixed defvars).
54468 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54470         Fix various compilation warnings in message.el
54472         * lisp/gnus/message.el (message-fix-before-sending): Use
54473         read-multiple-choice instead of gnus-multiple-choice.
54474         (mm-util): Require.
54475         (rfc2047): Require.
54476         (message-remove-blank-cited-lines): Use message instead of
54477         gnus-message.
54478         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
54480 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54482         Silence compilation warning in mm-view
54484         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
54485         compilation warning.
54487 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54489         Fix epg-related compilation warnings in mml-sec
54491         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
54492         library.
54494 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54496         rmail-dont-reply-to-names is obsolete
54498         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
54499         the obsolete `rmail-dont-reply-to-names' variable.
54501 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54503         Partially revert the defmethod->cl-defmethod change in registry.el
54505         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
54506         since cl-defmethod doesn't work with :after.
54507         (initialize-instance): Ditto, but with :before.
54509 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54511         Avoid obsolete function in plstore
54513         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
54514         instead of the obsolete epg-context-set-armor.
54516 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54518         Use cl-defmethod in registry.el
54520         * lisp/gnus/registry.el: Use cl-defmethod instead of the
54521         obsolete defmethod.
54523 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54525         Make sieve-manage require sasl
54527         * lisp/net/sieve-manage.el: Fix compilation warning by
54528         requiring sasl.
54530 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54532         Avoid defvarring prefix-less variable
54534         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
54536 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54538         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
54540 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54542         Don't use the obsolete char-valid-p function
54544         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
54545         obsolete char-valid-p function.
54547 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54549         Fix missed translation in a previous commit
54551         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
54552         translation of mailcap-delete-duplicates.
54554 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54556         Avoid using mm-make-temp-file
54558         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
54560         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
54562         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
54564 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54566         Fix compilation warning in gnus-start
54568         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
54569         mm-make-temp-file.
54571 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54573         Avoid the obsoleted defmethod
54575         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
54576         defmethod.
54578 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54580         Avoid defvarring prefix-less variables
54582         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
54583         don't need to `defvar' the short variables to allow `eval' to
54584         use them.
54586 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54588         nnweb doesn't need unibyte buffers
54590         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
54591         (nnweb-read-overview, nnweb-request-article)
54592         (nnweb-google-reference): Unibyte buffers are not needed here.
54594 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54596         Encode before sending from nnspool
54598         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
54599         before sending it to the news server.
54601 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54603         nnrss buffers don't have to be unibyte
54605         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
54606         to be unibyte just to receive data, I think.
54608 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54610         Don't use mm-with-unibyte-current-buffer in mml2015
54612         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
54613         mm-with-unibyte-current-buffer.
54615 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54617         Don't use mm-with-unibyte-current in mml1991
54619         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
54620         mm-with-unibyte-current.
54622 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54624         Don't use mm-with-unibyte-current in mml1991
54626         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
54627         mm-with-unibyte-current.
54629 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54631         Don't use mm-with-unibyte-buffer in utf7
54633         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
54634         mm-with-unibyte-buffer.
54636 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54638         Remove XEmacs compat code from Gnus helper libraries
54640         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
54642         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
54644         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
54646         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
54648 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54650         Remove XEmacs compat code from Gnus backends
54652         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
54653         (mm-inline-image): Rename from mm-inline-image-emacs.
54655         * lisp/gnus/mml.el: Remove XEmacs compat code.
54657         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
54659         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
54660         XEmacs compat code.
54662         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
54664         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
54665         XEmacs compat code.
54667         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
54669         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
54671         * lisp/gnus/nntp.el: Remove XEmacs compat code.
54673 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54675         Remove XEmacs compat functions from mm-util.el
54677         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
54678         (mm-decode-coding-string, mm-encode-coding-string)
54679         (mm-decode-coding-region, mm-encode-coding-region): Remove.
54680         (mm-string-to-multibyte): Remove.
54681         (mm-char-or-char-int-p): Remove.
54682         (mm-ucs-to-char): Remove compat versions of the function.
54683         (mm-read-coding-system): Remove.
54684         (mm-coding-system-p): Remove compat code.
54685         (mm-enrich-utf-8-by-mule-ucs): Remove.
54686         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
54687         (mm-delete-duplicates): Remove.
54688         (mm-multibyte-p): Remove compat versions.
54689         (mm-xemacs-find-mime-charset-1): Remove.
54690         (mm-xemacs-find-mime-charset): Remove.
54691         (mm-make-temp-file): Made obsolete.
54692         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
54694 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54696         Remove Message and mm-decode XEmacs compat code
54698         * lisp/gnus/message.el: Remove XEmacs compat code.
54700         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
54702         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
54704 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54706         Remove som XEmacs compat code from message.el
54708         * lisp/gnus/message.el: Remove some XEmacs compat code.
54710 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54712         Remove XEmacs compat code from ietf-drums.el
54714         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
54715         XEmacs compat.
54717 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54719         Remove XEmacs compat code from gravatar.el
54721         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
54722         gravatar.el.
54724 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54726         Remove more XEmacs compat code from Gnus
54728         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
54729         (gnus-timer--function): Remove.
54731         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
54732         19.2 compat.
54734         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
54736 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54738         Remove more XEmacs compat functions from gnus-util.el
54740         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
54741         (gnus-get-display-table): Remove.
54742         (gnus-format-message): Remove.
54744 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54746         Remove more XEmacs compat functions from Gnus
54748         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
54749         (gnus-previous-char-property-change): Remove.
54750         (gnus-graphic-display-p): Remove.
54751         (gnus-select-frame-set-input-focus): Remove.
54753 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54755         Remove more XEmacs compat code from gnus-util
54757         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
54758         all its usages).
54759         (gnus-invisible-p): Remove.
54761 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54763         Remove gnus-make-local-hook
54765         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
54766         all its usages).
54768 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54770         gnus-replace-in-string -> replace-regexp-in-string
54772         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
54773         obsolete.  Transform all usages of it into
54774         replace-regexp-in-string.
54776         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
54778 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54780         Remove Gnus XEmacs compat
54782         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
54783         about code that doesn't work in XEmacs.
54785         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
54787         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
54789 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54791         Remove compat functions in gnus-spec.el
54793         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
54794         (gnus-substring-function): Remove.
54795         (gnus-use-correct-string-widths): Remove.
54796         (gnus-make-format-preserve-properties): Remove.
54797         (gnus-xmas-format): Remove.
54799         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
54801 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54803         Remove Gnus XEmacs compat functions
54805         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
54807         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
54809         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
54811 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54813         Remove Gnus XEmacs compatibility
54815         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
54816         XEmacs compat.
54818         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
54820         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
54822         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
54823         XEmacs compat.
54825         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
54827         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
54829         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
54831         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
54833 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54835         Don't use image-map if it isn't defined
54837         * lisp/net/shr.el (shr-image-map): Only use image-map as a
54838         parent if it's defined (bug#22614).
54840 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54842         Check for MagickAutoOrientImage
54844         * configure.ac: Check for MagickAutoOrientImage.
54846         * src/image.c (imagemagick_load_image): Don't use
54847         MagickAutoOrientImage unless it's available.
54849 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54851         Document EXIF image rotation
54853         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
54855 2016-02-10  Dima Kogan  <dima@secretsauce.net>
54857         Support integer image rotation and respect EXIF rotations
54859         * src/image.c (imagemagick_load_image): Allow integer rotations in
54860         addition to floating point rotations (bug#22591).
54861         * src/image.c (imagemagick_load_image): Images that have an
54862         orientation given in EXIF and have no explicit :rotation tag are now
54863         pre-rotated.  All information such as width/height is reported for the
54864         rotated image.
54866 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
54868         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
54870 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54872         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
54874 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54876         Remove compat code from gnus-bookmark.el
54878         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
54879         (gnus-bookmark-remove-properties): Remove.
54881 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54883         Remove XEmacs compat code from gnus-a*.el
54885         * lisp/gnus/gnus-agent.el: Remove compat code.
54887         * lisp/gnus/gnus-art.el: Remove compat code.
54889         * lisp/gnus/gnus-async.el: Remove compat code.
54891 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54893         Remove gmm compat functions
54895         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
54896         (gmm-write-region): Remove.
54897         (gmm-called-interactively-p): Remove.
54899 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54901         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
54903 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54905         Remove compat code from compface.el
54907         * lisp/image/compface.el: Remove XEmacs compat code throughout.
54909 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54911         Remove the now empty gnus-ems.el and references to it
54913 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54915         Remove Gnus compat names for mouse bindings
54917         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
54918         (gnus-down-mouse-2): Remove.
54919         (gnus-down-mouse-3): Remove.
54921 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54923         Drop Gnus compat functions
54925         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
54927         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
54929         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
54931 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54933         Get rid of gnus-ems-redefine
54935         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
54937 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54939         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
54941 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54943         Remove Gnus compat code
54945         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
54946         transitional code from ten years ago.
54948 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54950         Allow interactively scaling past :max-width etc
54952         * lisp/image.el (image--current-scaling)
54953         (image--image-without-parameters): New functions.
54954         (image--change-size): Use them to allow changing the size of a
54955         image even if it has :width/:max-width (etc.) already set.
54957 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54959         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
54961 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54963         Allow accessing the image commands via shr
54965         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
54966         accessing the image commands.
54968         * lisp/net/shr.el (shr-image-map): New map used for images.
54969         (shr-urlify): Don't overwrite image maps when applying URL maps.
54971 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54973         Use a sparse image keymap
54975         * lisp/image.el (image-map): Use a sparse keymap.
54977 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54979         Put a keymap on images created with insert-image and friends
54981         * lisp/image.el (image-save): New command.
54982         (image-rotate): Ditto.
54983         (image-map): New keymap.
54984         (insert-image): Put the image-map on all images.
54985         (insert-sliced-image): Ditto.
54986         * doc/lispref/display.texi (Showing Images): Document the
54987         image map.
54989 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54991         Fix some folding issues in read-multiple-choice
54993         * lisp/subr.el (read-multiple-choice): Fix folding when you
54994         have many items.
54996 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54998         Fix typo in last checkin
55000 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55002         Remove Gnus compat functions
55004         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
55005         (gnus-region-active-p, gnus-select-lowest-window)
55006         (gnus-summary-display-table, gnus-max-width-function): Remove
55007         compat functions.
55009 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55011         Move non-compat Gnus functions to gnus-util.el
55013         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
55014         (gnus-create-image, gnus-image-type-available-p): Move here
55015         from gnus-ems.el, since these aren't compat functions.
55017 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55019         Omit valloc decl if redundant
55021         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
55022         to pacify --enable-gcc-warnings.
55024 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
55026         Restore the calloc family.
55028         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
55029         They were lost in a4817d8 but calloc is still (marginally) used in
55030         code statically liked with emacs, so hybrid_calloc is needed.
55031         Also, in the non-hybrid case, we can't get rid of calloc anyway as
55032         other libraries liked with emacs may need it.
55033         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
55035 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55037         Remove some Gnus compat functions
55039         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
55040         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
55041         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
55043 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55045         -
55047         -
55049 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55051         Merge from origin/emacs-25
55053         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
55054         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
55055         51c77a2 Display non-ASCII group names better in prompts
55056         f93d669 Default to gpg2 instead of gpg
55058 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55060         Merge from origin/emacs-25
55062         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
55063         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
55064         3db6adb * lisp/isearch.el (search-default-mode)
55065         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
55066         c77ffc8 Use monitor's resolution for positioning tooltips
55067         49e5749 Fix file-notify-test on MS-Windows
55068         be1d874 Fix issues found by auditing w32notify code
55069         87ae218 Extend etags Ruby support for accessors
55070         aa35257 Update publicsuffix.txt.
55071         6816bff Ensure that Gnus dribble handling allows removing entries
55072         691feae Be consistent when using encoded strings in nnimap data
55073         3ed423b Display the decoded Gnus group name
55074         5428b5b Use completion-ignore-case instead of defining command
55076 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55078         Merge from origin/emacs-25
55080         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55081         d333716 ; * etc/NEWS: Expand news entry for scss-mode
55082         c32c16f ; Better document changes in ls-lisp default behavior
55083         dc6eed2 Fix doc string of tls-program
55085 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55087         Merge from origin/emacs-25
55089         2c117fc * etc/NEWS: Document new mpc.el features
55090         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
55091         9dfece1 Correctly fontify C++ initializations which "look like" functions.
55092         4485222 Improve newsticker-treeview-selection-face
55093         4236944 Minor fix in tagging Ruby accessors by etags
55094         35fc77d Spelling fixes
55095         3dda110 Remove 'def X' from the example
55097 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55099         Fix network-stream-tests on MS-Windows
55101         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
55102         Skip if local sockets are not supported.
55104 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
55106         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
55108 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55110         Disable 'timer-list'
55112         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
55113         command.
55115 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55117         Avoid aligned_alloc static/extern collision
55119         * src/alloc.c (aligned_alloc): Define to private name when a
55120         static function, to avoid collision with lisp.h extern decl.
55121         Reported by John Yates in:
55122         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
55124 2016-02-08  David Edmondson  <dme@dme.org>
55126         src/process.c Correctly convert AF_INET6 addresses
55128         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55129         converted to a list of 16 bit quantities by
55130         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55131         same scheme rather than expecting a (longer) list of 8 bit
55132         quantities.
55134 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55136         Make `message-beginning-of-line' aware of folded headers
55138         * lisp/gnus/message.el (message-beginning-of-header): New function which
55139         moves point to the beginning of a mail header.  The function is aware of
55140         folded headers and with non-nil argument looks for the true beginning of
55141         a header while with nil argument moves to the indented text of header's
55142         value.
55143         (message-beginning-of-line): Function is now aware of folded headers and
55144         either moves point to the indention of a header or, in visual-line-mode,
55145         searches for the beginning of the header.
55147 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55149         Optimize ‘point in message header’ check
55151         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
55152         regular expression matches with a single bound string match thus
55153         reducing amount of work the function is doing.
55155 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55157         Make the `R' command get the correct relative <img>s
55159         * lisp/net/eww.el (eww-readable): Preserve the base URL so
55160         that image expansions are fetched from the right place (bug#22605).
55162 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55164         Add a mode to list and cancel timers
55166         * doc/lispref/os.texi (Timers): Menton `timer-list'.
55168         * lisp/emacs-lisp/timer-list.el: New file.
55170 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55172         Add new commands to allow changing the size of images
55174         * lisp/image.el (image-increase-size, image-decrease-size):
55175         New commands.
55176         (image-change-size): New function.
55178 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55180         Allow the image scale to be a floating point number
55182         * src/image.c (compute_image_size): The scale can be a
55183         floating point number.
55185 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55187         Add an IPv6 test
55189         * test/lisp/net/network-stream-tests.el
55190         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55192 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55194         Use gnutls-serv instead of openssh
55196         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55197         gnutls-serv instead of openssh.
55199 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55201         Skip TLS tests if we don't have openssl
55203         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55204         TLS tests if we don't have openssl and GnuTLS.
55206 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55208         Add an IPv6 test
55210         * test/lisp/net/network-stream-tests.el
55211         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55213 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55215         Use gnutls-serv instead of openssh
55217         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55218         gnutls-serv instead of openssh.
55220 2016-02-08  Daniel Colascione  <dancol@dancol.org>
55222         Performance improvements for vc-hg
55224         Teach vc-hg how to read some Mercurial internal data structures,
55225         allowing us to avoid the need to run hg status -A, which is very slow
55226         for large repositories.  Fall back to running hg if anything looks
55227         funny.  vc-hg now puts the _working directory_ revision in the
55228         modeline instead of the file revision, which greatly improves
55229         performance and which allows us to again skip running hg in the case
55230         that we have an active bookmark.
55232         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
55233         (vc-hg-symbolic-revision-styles)
55234         (vc-hg-use-file-version-for-mode-line-version)
55235         (vc-hg-parse-hg-data-structures): New user preferences
55236         (vc-hg--active-bookmark-internal, vc-hg--run-log)
55237         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
55238         (vc-hg--read-u8, vc-hg--read-u32-be)
55239         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
55240         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
55241         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
55242         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
55243         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
55244         (vc-hg--ignore-patterns-valid-p)
55245         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
55246         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
55247         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
55248         (vc-hg-state-fast): New functions.
55249         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
55250         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
55251         (vc-hg--dirstate-scan-cache): New internal variables.
55252         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
55253         before updating modeline.
55255 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55257         Skip TLS tests if we don't have openssl
55259         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55260         TLS tests if we don't have openssl and GnuTLS.
55262 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55264         Automatically scale images up on high-density screens
55266         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
55267         (Defining Images): Mention image-scaling-factor.
55269         * lisp/image.el (image-compute-scaling-factor): New function
55270         (bug#22172).
55271         (create-image): Use it.
55272         (image-scaling-factor): New variable.
55274         * src/image.c (compute_image_size): Take :scale into account.
55276 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55278         Ensure progress when fetching from the queue
55280         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
55281         that we have progress when fetching queued requests (bug#22576).
55283 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55285         Make mail-extract-address-components return the user name more
55287         * lisp/mail/mail-extr.el (mail-extract-address-components):
55288         Return the name even if it's the same as the mailbox name (if
55289         `mail-extr-ignore-single-names' isn't set) (bug#22594).
55291 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55293         Message no longer warns about unknown top level domains
55295 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
55297         Add tests for url-auth
55299         * test/lisp/url/url-auth-tests.el: New file.
55301 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55303         Add a TLS connection test
55305         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55306         a TLS connection test.
55308 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55310         Add more network tests
55312         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55313         New test.
55315 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55317         Add network tests
55319         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55321 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55323         Add a TLS connection test
55325         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55326         a TLS connection test.
55328 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55330         Add more network tests
55332         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55333         New test.
55335 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55337         Add network tests
55339         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55341 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
55343         Allow various Gnus and Message address variables to be functions
55345         * doc/misc/gnus.texi (To From Newsgroups):
55346         gnus-ignored-from-addresses can be a function.
55348         * doc/misc/message.texi (Wide Reply):
55349         message-dont-reply-to-names can be a function.
55351         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
55352         message-alternative-emails can be a function.
55354         * lisp/gnus/gnus-notifications.el (gnus-notifications):
55355         message-alternative-emails can be a function (bug#22315).
55357         * lisp/gnus/gnus-sum.el
55358         (gnus-summary-from-or-to-or-newsgroups):
55359         gnus-ignored-from-addresses can be a function (bug#22315).
55361 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55363         Fix typo in Gnus regexp
55365         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
55366         typo in last change to this regexp (bug#22592).
55368 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
55370         Port to FreeBSD x86
55372         Reported by Herbert J. Skuhra in:
55373         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
55374         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
55375         since malloc always returns a multiple of 8 in FreeBSD.
55377 2016-02-07  Alan Mackenzie  <acm@muc.de>
55379         On leaving CC Mode, clean up by removing character properties.
55381         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
55382         all instances of the text properties/extents category, syntax-table,
55383         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
55385 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55387         message-valid-fqdn-regexp no longer exists
55389         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
55390         the no-longer-existing message-valid-fqdn-regexp variable.
55392 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55394         Remove message-valid-fqdn-regexp, since it changes too much now
55396         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
55397         (message-bogus-recipient-p): Don't use it any more.
55398         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
55400 2016-02-06  Paul van der Walt  <paul@denknerd.org>
55402         Match "Re :" as a "Re:" prefix
55404         * lisp/gnus/message.el (message-subject-re-regexp): Also match
55405         "Re :" as a "Re:" prefix (commonly used in France).
55407 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
55409         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55411         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55413 2016-02-06  David Edmondson  <dme@dme.org>
55415         src/process.c Correctly convert AF_INET6 addresses
55417         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55418         converted to a list of 16 bit quantities by
55419         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55420         same scheme rather than expecting a (longer) list of 8 bit
55421         quantities.
55423 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
55425         Search for host/port combinations in auth-source on OS X
55427         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
55428         Search for all host/port (or protocol) combinations for a match in
55429         the OS X keychain.
55431 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55433         Remove nonsensical setting of gnus-newsgroup-unseen
55435         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
55436         setting of gnus-newsgroup-unseen.
55438 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55440         Use underline on all terminals that support it
55442         * lisp/subr.el (read-multiple-choice): Use
55443         display-supports-face-attributes-p instead of
55444         display-graphic-p to determine whether we can use underlining.
55446 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55448         Make the nsm query say what it did after the user interaction
55450         * lisp/net/nsm.el (nsm-query): Issue a message about
55451         aborting/accepting messages (suggested by N. Jackson)
55452         (bug#22531).
55454 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55456         Omit XLI (init) == 0 optimization in make-vector
55458         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
55459         == 0) case, as this optimization is probably not worth the hassle.
55460         Just for the record, the test for that case could have been
55461         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
55462         assuming the typical platform with no padding bits and where
55463         conversion to int omits the most significant bits.
55465 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55467         * autogen.sh: Port to dash (Bug#22556).
55469 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
55471         Minor cleanup for Tramp "doas".
55473         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
55475         * etc/NEWS: Add Tramp connection method "doas".
55477         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
55478         Add `tramp-remote-shell-args'.
55480 2016-02-05  Xi Lu  <lx@shellcodes.org>
55482         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
55484         (tramp-default-user-alist): Add rule for "doas".
55485         (top): Completion function for "doas" is
55486         `tramp-completion-function-alist-su'.
55488 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55490         Restore the window configuration
55492         * lisp/net/nsm.el (nsm-query-user): Restore the window
55493         configuration (bug#22532).
55495 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55497         Use an X popup in read-multiple-choice if running from a mouse command
55499         * lisp/subr.el (read-multiple-choice): Use an X popup if
55500         called from a mouse action (bug#19368).
55502 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55504         Display cursor in echo area when prompting
55506         * lisp/subr.el (read-multiple-choice): Display the cursor in
55507         the echo area when prompting (bug#19368).
55509 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55511         Make NSM prompting clearer
55513         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
55514         to prompt in a nicer way (bug#19368).
55516 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55518         Underline read-multiple-choice-face
55520         * lisp/faces.el (read-multiple-choice-face): Also underline
55521         the choice.
55523 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55525         Make url.el use async DNS
55527         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
55529         * src/process.c (syms_of_process): Add a `dns' subfeature for
55530         make-network-process.
55532 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55534         Only do async DNS if requested with :nowait 'dns
55536         * doc/lispref/processes.texi (Network Processes): Mention the
55537         dns value of :nowait.
55539         * src/process.c (Fmake_network_process): Only do async DNS if
55540         :nowait is `dns'.
55542 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55544         Add sanity check for checking async DNS
55546         * src/process.c (check_for_dns): Disregard processes that have
55547         already been killed.
55549 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55551         Make the read-multiple-choice prompt a bit prettier
55553         * doc/lispref/commands.texi (Reading One Event): Mention
55554         read-multiple-choice-face.
55556         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
55557         prettier.
55559 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55561         Prefer memcpy and memset to doing it by hand
55563         * src/alloc.c (Fmake_vector):
55564         * src/ccl.c (setup_ccl_program):
55565         Use memset to clear array.
55566         * src/alloc.c (Fvector, Fmake_byte_code):
55567         * src/charset.c (Fdefine_charset_internal):
55568         Use memcpy to copy array.
55570 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
55572         Do not ignore redirections of 301, 302 and 307 status codes
55574         The current version of HTTP/1.1 (RFC 7231) no longer requires
55575         confirmation on 301, 302 or 307 status codes, therefore we do not have
55576         to ignore redirects for other requests than GET and HEAD.
55578         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
55579         and 307 redirects for other requests than GET and HEAD.
55581 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
55583         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
55585 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55587         Simplify USE_ALIGNED_ALLOC
55589         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
55590         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
55592 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
55594         Honor docstring of gnus-group-get-new-news
55596         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
55597         is t, but non-numeric, unconditionally consider all groups to need
55598         updating.
55600 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55602         New function read-multiple-choice
55604         * doc/lispref/commands.texi (Reading One Event): Document
55605         read-multiple-choice.
55607         * lisp/faces.el (read-multiple-choice-face): New face.
55609         * lisp/subr.el (read-multiple-choice): New function.
55611 2016-02-03  John Wiegley  <johnw@newartisans.com>
55613         Merge from origin/emacs-25
55615         ee73997 Make erc work better when encountering unknown prefix chars
55616         b99141d Make erc completion case-insensitive again
55617         66c4620 Make complection in erc use consistent casing
55618         8c562b2 Make /QUIT in erc more robust
55619         d93d2c5 Make tracking faces in Emacs work more reliably
55620         af6ab7e Make shr not bug out on images on non-graphical displays
55621         3311f40 Fix bookmark display widths
55622         d90ab1e Fix typo in eww-make-unique-file-name
55623         7f81825 Make it possible to TAB to input fields
55624         a43a1dc Insert complete alt texts when images are disabled
55625         56ed4e1 Allow eww text fields to grow
55626         66b315c Make erc work when subword-mode is switched on
55627         255b68f Fix IMAP doc example
55628         91557f5 Quoting fixes in doc strings and diagnostics
55629         2c0dc9f Fix warning message in hack-local-variables
55630         504696d Etags: yet another improvement in Ruby tags
55631         8784ebf Fix x-popup-menu on TTYs without a mouse
55632         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
55633                 pcase macro
55634         6191003 Use pop-to-buffer-same-window in eww
55635         fe321fd * autogen.sh: Revert all recent changes.
55636         74ebd4a * make-dist: Updates related to nt/.
55637         737193a * make-dist: Add modules/.
55638         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
55639         a4278e2 Fix failure to compile ns-win.el in parallel builds
55640         860da4d Fix names of tags generated for Ruby accessors
55641         f6213ce Fix file-name recognition in 'etags'
55642         e42e662 Change Ruby file names and extensions recognized by 'etags'
55643         58bfb6a More improvements for Ruby support in 'etags'
55644         c04e911 Add --git-config option to autogen.sh
55645         5713466 Fix editing undo changes in eww fields
55646         51362d6 Allow the user more control of popping up the eww window
55647         ee0fbd8 Make eww-browse-url with new-window parameter work again
55648         9c3142d Clean up eww code slightly
55649         cb035f3 Don't insert nil faces in shr
55650         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
55651         93f2153 Improve the custom type of some user options.
55652         9f60d7e Mark some risky calendar variables.
55653         1d07dcd Highlight two additional SCSS keywords
55654         ee8b466 Recommend enabling integrity-checking in git
55655         e639e10 Some corrections in Elisp manual
55656         d766ca8 Chatter when autogen.sh changes Git configuration
55657         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
55658         43cb9f8 Omit unnecessary history from Lisp intro
55659         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
55660         c90e1b4 Improve elisp “Security Considerations” doc
55661         cedd7ca autogen.sh now arranges for git to check hashes
55662         86ce76b ; Fix ChangeLog.2 commit ID.
55663         7b1d2b1 Fix (c & 040) typo in emergency escapes
55664         a8273da Fix display of overlay strings with 'display' and 'box' property
55665         fc48106 Fix imap-starttls-open
55666         cdecbed Fix return value of imap-starttls-open
55667         20c7e34 ; * etc/NEWS: Fix renamed command name
55668         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
55669         b250d29 Spelling fix
55670         b920a0e Spelling fixes
55671         93b144b Pacify GCC on C library without glibc API
55673 2016-02-03  John Wiegley  <johnw@newartisans.com>
55675         Merge from origin/emacs-25
55677         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
55678                 priority of non-free Chrome.
55679         0fac75f Improve the custom type of some user options.
55680         2df0e04 Highlight CSS variables with variable name face
55681         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
55682                 user-serviceable.
55683         2a5233c Mark some user options that can get evalled as risky.
55684         39b166f Disable DebPrint in sys_read on MS-Windows
55685         9fd0189 ;Fix ChangeLog entry
55686         4bb7233 Fix typos in Introduction to Emacs Lisp manual
55688 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
55690         Add a new command to switch between erc buffers
55692         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
55693         * etc/NEWS: Mention new command
55694         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
55695         (eww-mode-map): Add menu item
55696         (eww-switch-to-buffer): New command
55698 2016-02-03  David Edmondson  <dme@dme.org>
55700         Make erc work better when encountering unknown prefix chars
55702         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
55703         instead of erroring out on unknown prefix chars (bug#22380).
55705 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
55707         Allow sending empty hidden values in eww
55709         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
55710         values (bug#22388).
55712 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
55714         Remove packages obsoleted before Emacs 24.
55716         In accordance with the policy discussed in the emacs-devel list,
55717         packages that have been obsoleted for a full major release cycle are up
55718         for deletion.
55720         This removes almost all packages that are now eligible for deletion,
55721         with the exception of "cl-compat", which seems it is likely to still be
55722         used, and "optional", which offers some functionality that doesn't have
55723         a replacement yet.
55725 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55727         Mention context when resume from emergency escape
55729         That way, if the user has been doing something else for a while,
55730         they are reminded of the situation when restarting Emacs,
55731         and are more likely to understand the two questions.
55732         * doc/emacs/trouble.texi (Emergency Escape): Document this.
55733         * src/keyboard.c (handle_interrupt): Implement this.
55735 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55737         Port aligned_alloc decl to Cygwin.
55739         Problem reported by Ken Brown (Bug#22522#38).
55740         * configure.ac (aligned_alloc): Check for decl too.
55741         * src/lisp.h (aligned_alloc): Declare if not already declared.
55743 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55745         autogen.sh now configures git only on request
55747         * autogen.sh (do_autoconf, do_git): New vars.
55748         Support new arguments --help, all, autoconf, git.
55749         By default, just do autoconf-related configuration, not git.
55750         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
55751         If GNU cp is available, use it to backup .git/config before
55752         changing it.  When configuring git, chatter about what is being
55753         done, and configure git to check hashes.  Avoid some duplicate
55754         file name specification when creating git hooks.
55756         * GNUmakefile (ALL_IF_GIT): New macro.
55757         (configure): Use it.
55758         * INSTALL.REPO: Suggest './autogen.sh all'.
55760 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
55762         Doc fixes and refactorings based on comments from Eli Zaretskii
55764         * doc/lispref/processes.texi (Network Processes): Clarify the
55765         meaning of :tls-parameters.
55767         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
55769         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
55770         own function.
55771         (gnutls-negotiate): Use it.
55772         (open-gnutls-stream): Ditto.
55774         * src/eval.c (vformat_string): Refactor out the printing bits
55775         from verror.
55776         (verror): Use it.
55778         * src/gnutls.c (boot_error): Mark failed processes with the
55779         real error message.
55781         * src/lisp.h: Declare vformat_string.
55783 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55785         Build with C11 if available
55787         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
55788         * m4/std-gnu11.m4: New file, from gnulib.
55789         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
55791 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55793         Update gnulib copy
55795         * doc/misc/texinfo.tex: Copy from gnulib.
55797 2016-02-02  Glenn Morris  <rgm@gnu.org>
55799         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
55800         Doc tweaks.
55802 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55804         Port better to platforms lacking aligned_alloc
55806         Problem reported by Ken Brown (Bug#22522).
55807         * src/lisp.h (hybrid_aligned_alloc)
55808         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
55810 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55812         Port malloc.h hygiene fix to LTO
55814         * src/alloc.c (__malloc_initialize_hook):
55815         Make it externally visible (Bug#22522).
55817 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
55819         Build fix for --enable-check-lisp-object-type
55821         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
55822         Mitsuharu.
55824 2016-02-01  Glenn Morris  <rgm@gnu.org>
55826         Make find-change-log prefer a VCS root, if no ChangeLog exists.
55828         * lisp/vc/add-log.el (change-log-directory-files): New option.
55829         (find-change-log): Respect change-log-directory-files.
55830         * doc/emacs/maintaining.texi (Change Log Commands):
55831         Mention change-log-directory-files.
55833 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
55835         Boot parameter check fix
55837         * src/process.c (send_process): Fix test for boot parameters noted
55838         by Andy Moreton.
55840 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
55842         Double static heap size.
55844         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
55845         small on FreeBSD (Bug#22086).
55847 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
55849         Fix Bug#20821
55851         * lisp/net/tramp.el (tramp-file-name-handler):
55852         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
55853         Use `tramp-drop-volume-letter'.  (Bug#20821)
55855 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55857         Style fix
55859 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55861         Return the correct server port number
55863         * src/process.c (connect_network_socket): Return the correct
55864         server port number.
55866 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55868         Fix autoconf test for getaddrinfo_a
55870         * configure.ac: Make the test for getaddrinfo_a work.
55872 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55874         Better async error reporting
55876         * src/process.c (connect_network_socket): Mark failed processes
55877         with a better error message.
55878         (check_for_dns): Ditto.
55880 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55882         Clarify :tls-parameters.
55884 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55886         Always boot TLS if given parameters
55888         * src/process.c (connect_network_socket): If we have the TLS
55889         parameters, then boot the socket.
55891 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55893         Add documentation for :tls-parameters
55895         * doc/lispref/processes.texi (Network Processes): Mention
55896         :tls-parameters.
55898         * src/process.c (Fmake_network_process): Document the
55899         :tls-parameters parameter.
55901 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55903         Build fix for glibc systems.
55905 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55907         Make network connections work again on non-glibc systems
55909         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
55910         keywords in directly so that they can be used when doing
55911         synchronous DNS on non-synchronous connections.
55913         * lisp/net/network-stream.el (open-network-stream): Allow
55914         passing in the TLS parameters directly.
55916         * src/process.c (conv_numerical_to_lisp): New function to convert
55917         numerical addresses to Lisp.
55918         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
55919         paths so that they work again.
55920         (syms_of_process): Build fix for non-glibc systems.
55922 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55924         Windows build fix
55926         * src/process.c (Fmake_network_process): Build fix for systems
55927         without local sockets.
55929 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55931         Use XCAR/XCDR instead of Fcar etc
55933 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55935         Fix GC problem in async TLS connection
55937         * src/process.h: All Lisp_Object slots have to come first,
55938         otherwise they won't be protected from gc.
55940 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55942         Further TLS async work
55944         * src/gnutls.c (boot_error): New function to either signal an
55945         error or return an error code.
55946         (Fgnutls_boot): Don't signal errors when running asynchronously.
55948         * src/process.h (pset_status): Move here from process.c to be
55949         able to use from gnutls.c.
55951         * src/process.c (connect_network_socket): Do the TLS boot here
55952         when running asynchronously.
55953         (wait_reading_process_output): Rework the dns_processes
55954         handling for more safety.
55956 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55958         Clean up dead code
55960         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
55962 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
55964         Add ability to give rcirc servers an alias name
55966         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
55967         customization option.
55968         (rcirc, rcirc-connect): Take server alias into account.
55970 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
55972         Port new hybrid malloc to FreeBSD
55974         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
55975         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
55976         (__morecore) [HYBRID_MALLOC]: Define in this case too.
55978 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
55980         * configure.ac: Stop using mmap for buffers for FreeBSD.
55982 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
55984         Merge changes from Tramp repository
55986         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
55987         No EXTRA_OPTS needed.
55989         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
55990         branch, especially for @trampfn{}.
55991         (Top): Move @ifnottex down.
55992         (History): XEmacs support has been removed.
55993         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
55994         (Auto-save and Backup): Use both syntax versions.
55995         (File name Syntax): Remark on IPv6 adresses is valid for
55996         unified syntax only.
55998         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
56000 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56002         Spelling fixes
56004 2016-01-30  Glenn Morris  <rgm@gnu.org>
56006         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
56008 2016-01-30  Matthew Carter  <m@ahungry.com>
56010         Quote table names for postgres listings (sql-mode)
56012         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
56013           unquoted table names to the completion list.
56015 2016-01-30  Glenn Morris  <rgm@gnu.org>
56017         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
56019         * lisp/vc/smerge-mode.el (smerge-diff-switches)
56020         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
56021         (smerge-upper, smerge-upper-face, smerge-keep-upper)
56022         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
56023         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
56024         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
56025         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
56026         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
56027         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
56028         Update all uses.
56029         (smerge-basic-map): Add "l" and "u" bindings.
56030         (smerge-mode-menu): Update menu bindings for renaming.
56031         (smerge-font-lock-keywords): Update face names.
56032         (smerge-match-names): Update names.
56033         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
56034         (smerge-match-conflict, smerge-ediff): Rename local variables.
56035         (smerge-makeup-conflict): Relabel markers.
56036         (smerge-parsep-re): Use renamed variables.
56038 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56040         Port recent my_edata change to MS-Windows
56042         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
56044 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56046         Rework the mechanisms for async GnuTLS connections
56048         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
56049         gnutls-boot parameters and pass them to the process object.
56050         (gnutls-negotiate): New parameter :return-keywords that won't
56051         connect to anything, just compute the keywords.
56053         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
56054         hack, which is no longer necessary.
56056         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
56057         gnutls-mark-process.
56059         * src/process.c (connect_network_socket): If we're connecting to
56060         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
56062         * src/process.h: New parameter gnutls_async_parameters.
56064 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56066         Fix segfault from double free
56068         * src/process.c (check_for_dns): Protect against double free
56069         issues.
56071 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56073         Remove debugging
56075 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56077         Implement asynchronous GnuTLS connections
56079         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
56080         the nowait parameter.
56082         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
56083         connections with the new nowait parameter.
56085         * lisp/net/network-stream.el (network-stream-open-tls): Pass
56086         on :nowait to open-gnutls-stream.
56088         * lisp/url/url-http.el (url-http): Don't overwrite the
56089         sentinel created by open-gnutls-stream.
56091         * src/gnutls.c (Fgnutls_mark_process): New function.
56093         * src/process.c (send_process): Don't write to GnuTLS sockets that
56094         haven't been initialized yed.
56096         * src/process.h: New slot gnutls_wait_p.
56098 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56100         Tell Automake the new lib/Makefile.am is OK
56102         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
56104 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56106         Make it easy to override preferred-branch test
56108         * Makefile.in (preferred-branch-is-current):
56109         Rename from emacs-25-branch-is-current.  All uses changed.
56110         (PREFERRED_BRANCH): New macro.
56112 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56114         Shrink static heap a bit
56116         * src/sheap.h: Include lisp.h, for Lisp_Object.
56117         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
56118         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
56119         conservative than the old value.
56120         (Bug#22086)
56122 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56124         Fix extern symbols defined and not used
56126         * src/alloc.c: Always include <signal.h>.
56127         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
56128         Do not define; unused.
56129         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
56130         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
56131         to avoid collision with glibc.  Now static.  All uses changed.
56132         * src/lastfile.c (my_edata): Define only if
56133         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
56134         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
56135         (Bug#22086)
56137 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56139         Build lib/e-*.o only on platforms that need it
56141         * configure.ac (hybrid malloc): Simplify configuration.
56142         (SHEAP_OBJ): Remove; no longer needed.
56143         (HYBRID_MALLOC): New var. Subst it.
56144         (HYBRID_MALLOC_LIB): New Automake conditional.
56145         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
56146         HYBRID_MALLOC_LIB.
56147         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
56148         (MOSTLYCLEANFILES): Add libegnu.a.
56149         * src/Makefile.in (SHEAP_OBJ): Remove.
56150         (HYBRID_MALLOC): New macro.
56151         (base_obj): Use it to conditionally add sheap.o.
56152         (LIBEGNU_ARCHIVE): New macro.
56153         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
56154         All uses of the latter replaced by the former.
56155         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
56156         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
56157         * src/gmalloc.c: Update comment.
56158         * src/lisp.h (aligned_alloc)
56159         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
56160         New decl.
56161         (Bug#22086)
56163 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56165         Include <malloc.h> when advisable
56167         This should help insulate us better from future glibc changes.
56168         It is good hygiene to include .h files for APIs that Emacs uses.
56169         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
56170         * configure.ac: Check for malloc.h.
56171         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
56172         not on DOUG_LEA_MALLOC.
56173         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
56174         Remove decl (now in lisp.h).
56175         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
56176         [emacs]: Include lisp.h.
56177         [HAVE_MALLOC_H]: Include <malloc.h>.
56178         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
56179         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
56180         (__default_morecore):
56181         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
56182         (calloc): Make it clear that the macro should not be used.
56183         Remove unused decl.
56184         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
56185         (__morecore, __default_morecore, __after_morecore_hook)
56186         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
56187         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
56188         Remove later decls.
56189         (gmalloc_hook, gfree_hook, grealloc_hook):
56190         Rename from __malloc_hook, __free_hook, __realloc_hook to
56191         avoid type collision with glibc <malloc.h>.  All uses changed.
56192         (gmalloc_hook):
56193         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
56194         Now static.
56195         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
56196         (__malloc_initialize_hook, __after_morecore_hook):
56197         Declare with types compatible with glibc.
56198         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
56199         Remove.  All uses removed.
56200         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
56201         * src/ralloc.c, src/vm-limit.c:
56202         Simplify includes and include <malloc.h> if available.
56204 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56206         * src/alloc.c: Include "sheap.h".
56208         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
56209         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
56210         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
56211         Declare unconditionally.
56212         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
56213         (unexec): Don’t set or clear bss_sbrk_did_unexec;
56214         the caller now does this.
56215         (Bug#22086)
56217 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56219         Pacify --enable-gcc-warnings when HYBRID_MALLOC
56221         * src/buffer.c (init_buffer):
56222         * src/emacs.c (main):
56223         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
56224         Use emacs_get_current_dir_name, not get_current_dir_name.
56225         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
56226         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
56227         * src/emacs.c: Include "sheap.h".
56228         (report_sheap_usage): Remove decl.
56229         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
56230         Don't assume ptrdiff_t can be printed as int.
56231         * src/gmalloc.c [HYBRID_MALLOC]:
56232         Include "sheap.h" rather than declaring its contents by hand.
56233         (get_current_dir_name, gget_current_dir_name)
56234         (hybrid_get_current_dir_name): Remove.
56235         (emacs_abort): Remove duplicate decl.
56236         (aligned_alloc): Undef, like malloc etc.
56237         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
56238         Make it a bit more efficient.
56239         (malloc_find_object_address): Remove unused decl.
56240         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
56241         (mstats, memory_warnings): Declare only if GC_MCHECK.
56242         * src/lisp.h (emacs_get_current_dir_name):
56243         New decl, replacing get_current_dir_name.
56244         * src/sheap.c: Include sheap.h first.
56245         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
56246         (debug_sheap): Now static.
56247         (bss_sbrk_buffer_end): Remove; no longer used.
56248         (bss_sbrk_ptr): Now static and private.
56249         (bss_sbrk_did_unexec): Now bool.
56250         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
56251         (bss_sbrk): Don't treat request_size 0 as special, since the code
56252         works without this being a special case.
56253         Avoid overflow if request size exceeds INT_MAX.
56254         (report_sheap_usage): Remove; now done in emacs.c.
56255         * src/sheap.h: New file.
56256         * src/sysdep.c (get_current_dir_name): Remove macro.
56257         Include "sheap.h".
56258         (emacs_get_current_dir_name): Rename function from
56259         get_current_dir_name.  Handle HYBRID_MALLOC here;
56260         this is simpler.
56261         (Bug#22086)
56263 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56265         Report static heap usage on non-Cygwin, too
56267         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
56268         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
56269         on platforms other than Cygwin (Bug#22086).
56271 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56273         Pacify GCC on extern decls
56275         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
56276         to pacify recent GCC (Bug#22086).
56278 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56280         Add musl patch to support HYBRID_MALLOC on elf systems
56282         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
56283         (__default_morecore): Here, in particular.
56284         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
56285         New variable SHEAP_OBJ.
56286         * src/Makefile.in: Use it.
56287         (Bug#22086)
56289 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
56291         unexelf.c hook to support HYBRID_MALLOC on ELF
56293         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
56294         Define bss_sbrk_did_unexec (Bug#22086).
56296 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56298         Link temacs with gnulib compiled with -Demacs
56300         This is done to support HYBRID_MALLOC, since some static variables
56301         (e.g., last_environ in putenv.c) hold pointers to memory malloced
56302         before dumping (Bug#22086).
56303         * lib/Makefile.am: Add incantation to install libegnu.a.
56304         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
56305         (temacs$(EXEEXT)): Use it.
56307 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56309         Internal linkage for gmalloc etc. if HYBRID_MALLOC
56311         This avoids clashes with symbols if the after-dump malloc is
56312         derived from Doug Lea's implementation (Bug#22086).
56314         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
56315         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
56316         declarations below to `static' ones.
56317         (aligned_alloc): Declare for !MSDOS as well.
56318         (heapsize, _fraghead): Move resp. copy declaration downwards.
56319         For HYBRID_MALLOC, conditionalize out the other definitions,
56320         since the previous `static' declarations double as tentative
56321         definitions, anyway.
56322         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
56323         (__realloc_hook, __memalign_hook): Conditionalize out.
56324         (cfree, memalign, valloc): Ditto.
56326 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56328         -
56330         -
56332         -
56334 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56336         Merge from origin/emacs-25
56338         3f481ad Rename xref-query-replace to xref-query-replace-in-results
56339         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
56340         2111e0e Comment out next-error-function integration in xref
56341         4e11ad3 Correct a use of "which" in intro.texi
56342         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
56343         76045f7 Don't operate on menu bar of nonexistent frame
56344         c32f3bc Unbreak the GNUstep build.
56346 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56348         -
56350         -
56352 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
56354         Re-enable checks in member, memql, delete to complain about non-lists
56356         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
56358 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56360         Clean up compilation warnings
56362 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56364         Make async resolution more efficient
56366         * src/process.c (wait_reading_process_output): Use a list of
56367         process objects instead of looping through an array to check
56368         for name resolution.  This should be much faster.
56370 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56372         More async memory leaks
56374         * src/process.c (check_for_dns): Free even more allocated async stuff.
56376 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56378         Compilation for for systems with getaddrinfo_a
56380         * src/process.c (Fmake_network_process): Make stuff work again on
56381         systems with getaddrinfo_a.
56383 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56385         Save correct server data
56387         * src/process.c (connect_network_socket): Save the correct contact
56388         info for servers.
56390 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56392         Compilation for for non-GNU systems
56394         * src/process.c (Fmake_network_process): Make compilation work
56395         again on hosts that don't have getaddrinfo_a.
56397 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56399         Avoid memory leaks in async DNS
56401         * src/process.c (check_for_dns): Free async DNS resources after
56402         they've been used.
56404 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56406         * src/process.c (check_for_dns): Free the result data.
56408 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56410         Fix server connections
56412         * src/process.c (Fmake_network_process): Make creating server
56413         listening ports work again.
56415 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56417         Further make_network_process clean up
56419         * src/process.c (Fmake_network_process): Remove setting of unused
56420         family variable.
56422 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56424         Clean up GETADDRINFO usage in make-network-process
56426         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
56427         handling.
56429 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56431         Implement asynchronous name resolution
56433         * src/process.c (Fmake_network_process): Do asynchronous DNS
56434         lookups if we have getaddrinfo_a and the user requests :nowait.
56435         (check_for_dns): New function.
56436         (wait_reading_process_output): Check for pending name
56437         resolution in the idle loop.
56439         * src/process.h: Add structure for async DNS.
56441 2016-01-28  Glenn Morris  <rgm@gnu.org>
56443         Remove some useless-use-of eval.
56445         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
56446         * lisp/gnus/nnrss.el (xml): Simply require it.
56447         (xml-rpc-method-call): Use declare-function.
56449 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56451         Fix memory leak
56453         * src/process.c (connect_network_socket): Free previous sockaddr
56454         before allocating a new one.
56456 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56458         Return IP addresses in the correct order
56460         * src/process.c (Fmake_network_process): Return the IP addresses
56461         in the same order as getaddrinfo does.
56462         (set_network_socket_coding_system): Clean up the code slightly.
56464 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56466         Add checks for getaddrinfo_a
56468         * configure.ac: Detect getaddrinfo_a.
56470 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56472         Refactor make_network_process
56474         * src/process.c (set_network_socket_coding_system)
56475         (connect_network_socket): Refactor out of
56476         make_network_process to allow calling connect_network_socket
56477         asynchronously.
56478         (Fmake_network_process): Do nothing but parsing the parameters
56479         and name resolution, leaving the connection to
56480         connect_network_socket.
56482 2016-01-28  Glenn Morris  <rgm@gnu.org>
56484         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
56485         Warn if defcustom has no type.  (Bug#16276)
56487 2016-01-27  Glenn Morris  <rgm@gnu.org>
56489         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
56491 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56493         (rng-c-fix-escaped-newlines): Use subst-char-in-string
56495         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
56496         Use subst-char-in-string.
56498 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56500         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
56502         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
56503         (sgml-calculate-indent): Use it.
56505 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56507         * lisp/org: Fix some compiler warnings
56509         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
56510         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
56511         (*this*): Declare as dyn-bound.
56512         (org-babel-expand-src-block, org-babel-load-in-session)
56513         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
56514         Mark unused args.
56515         (org-babel-combine-header-arg-lists): Remove unused var `args'.
56516         (org-babel-find-named-block): Remove unused var `msg'.
56518         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
56519         Declare as dyn-bound.
56520         (org-edit-src-code): Remove unused var `lfmt'.
56521         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
56523 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56525         * lisp/font-lock.el: Use #' to quote function symbols
56527 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
56529         Improve user name completion in Tramp
56531         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
56532         Call also "getent passwd" or "getent group", if possible.
56533         (tramp-parse-putty): Cache the result.
56535 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
56537         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
56539 2016-01-20  Glenn Morris  <rgm@gnu.org>
56541         Remove handling of non-string time-stamp formats, obsolete for 20 years.
56543         * lisp/time-stamp.el (time-stamp-format): Doc fix.
56544         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
56545         (time-stamp-string): Ignore non-string formats.
56547 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
56549         Anoter fix for problematic merge from emacs-25
56551         * src/w32fns.c (globals_of_w32fns): Move initialization of
56552         resetstkoflw to a non-Cygwin part.
56554 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
56556         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
56558 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
56560         Fix MS-Windows build broken by a botched merge from emacs-25
56562         * src/w32.c (w32_crypto_hprov): New static variable.
56563         (globals_of_w32): Initialize w32_crypto_hprov.
56564         (w32_init_crypt_random, w32_init_random): New functions.
56565         Include wincrypt.h.
56566         * src/w32.h (w32_init_random): Add prototype.
56568 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
56570         Correct a whole bunch of bugs coming with renamed cell relocation.
56572         * lisp/ses.el (ses-localvars): rename variable
56573         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
56574         and adjust the comment about it.
56575         (ses-plist-delq): new defun.
56576         (ses--ses-buffer-list): new defvar.
56577         (ses--unbind-cell-name): new defun.
56578         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
56579         (ses-relocate-formula): Undo change of
56580         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
56581         preventing relocation for named cell --- now doing this is delegated
56582         to function `ses-relocate-symbol'.
56583         (ses-relocate-range): In docstring, undo change of
56584         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
56585         lower case as it is not a variable.
56586         (ses-relocate-all): Cell name relocation : 1) check that cell is a
56587         renamed cell by testing `ses-cell' property to :ses-named, rather than
56588         comparing name to corresponding standard name. Set rowcol of renamed
56589         cell into the hashmap --- `ses-cell' property must not be used for
56590         that as the same name can be used for different locations in different
56591         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
56592         `local-variable-p' to check if cell name is already in use in this
56593         sheet or needs initialization.
56594         (ses-relocate-all): Cell value relocation : 1) like for name
56595         relocation use the `ses-cell' property rather than comparing actual
56596         name to corresponding standard name. 2) Correct bug introduced in
56597         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
56598         made the other way round than the intention --- ie value relocation
56599         was disabled for standard cell, not for renamed cell as was the
56600         intention.
56601         (ses-relocate-all): Add loop for unbinding deleted renamed cells
56602         names.
56603         (ses-killbuffer-hook): new defun.
56604         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
56605         kill buffer hook, plus pushing current buffer if new in list.
56606         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
56607         into `ses--in-killing-named-cell-list'.
56608         (ses-rename-cell): Remove update of variable
56609         `ses--renamed-cell-symb-list', this variable is renamed to
56610         `ses--in-killing-named-cell-list', and its setting is done in
56611         functions `ses-delete-row' and , `ses-delete-column' now.
56612         (ses-rename-cell): Change correction of
56613         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
56614         computation of the range over which `cursor-intangible' property was
56615         to be updated. This correction was ok for non spilling cells, but not
56616         for cells spilling over following blank cells. Simply use
56617         `next-single-property-change' rather than computing the end column
56618         from column widths.
56620 2016-01-18  John Wiegley  <johnw@newartisans.com>
56622         -
56624 2016-01-18  John Wiegley  <johnw@newartisans.com>
56626         Merge from origin/emacs-25
56628         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
56629         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
56630         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
56631         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
56632         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
56633         86e4513 Fix incompatbilities with MS-Windows 2000 and older
56634         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
56635         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
56636         39afa42 Fix tests for active region in hideif.el
56637         05df666 Fix interactive specs in some hideif.el commands
56639 2016-01-18  John Wiegley  <johnw@newartisans.com>
56641         -
56643 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56645         Avoid stdio in SIGINT handler
56647         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
56648         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
56649         * lib/ignore-value.h: New file, from gnulib.
56650         * src/keyboard.c: Include it.
56651         (write_stdout, read_stdin): New functions.
56652         (handle_interrupt): Use them instead of printf and getchar,
56653         and avoid fflush when handling signals.
56655 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
56657         Refactor mml-smime.el, mml1991.el, mml2015.el
56659         (Maybe this is the last merge from Gnus git to Emacs git)
56661         Cf. discussion on ding mailing list, messages in
56662         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
56663         Common code from the three files mml-smime.el, mml1991.el, and
56664         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
56665         to gnus-util.el.
56667         The code is supported by test cases with necessary test keys.
56669         Documentation in message.texi is updated.
56671         * doc/misc/message.texi (Security, Using S/MIME):
56672         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
56673         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
56674         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
56676         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
56677         New functions.
56679         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
56680         (epa--select-keys): Autoload.
56681         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
56682         (mml-secure-openpgp-signers): New user option;
56683         make mml1991-signers and mml2015-signers obsolete aliases to it.
56684         (mml-secure-smime-signers): New user option;
56685         make mml-smime-signers an obsolete alias to it.
56686         (mml-secure-openpgp-encrypt-to-self): New user option;
56687         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
56688         aliases to it.
56689         (mml-secure-smime-encrypt-to-self): New user option;
56690         make mml-smime-encrypt-to-self an obsolete alias to it.
56691         (mml-secure-openpgp-sign-with-sender): New user option;
56692         make mml2015-sign-with-sender an obsolete alias to it.
56693         (mml-secure-smime-sign-with-sender): New user option;
56694         make mml-smime-sign-with-sender an obsolete alias to it.
56695         (mml-secure-openpgp-always-trust): New user option;
56696         make mml2015-always-trust an obsolete alias to it.
56697         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
56698         New user options.
56699         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
56700         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
56701         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
56702         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
56703         (mml-secure-passphrase-callback, mml-secure-check-user-id)
56704         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
56705         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
56706         (mml-secure-fingerprint, mml-secure-filter-keys)
56707         (mml-secure-normalize-cust-name, mml-secure-select-keys)
56708         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
56709         (mml-secure-self-recipients, mml-secure-recipients)
56710         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
56712         * lisp/gnus/mml-smime.el: Require epg;
56713         refactor declaration and autoloading of epg functions.
56714         (mml-smime-use): Doc fix.
56715         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
56716         Obsolete.
56717         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
56718         Use format instead of gnus-format-message.
56719         (mml-smime-epg-secret-key-id-list): Remove variable.
56720         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
56721         (mml-smime-epg-find-usable-secret-key): Remove functions.
56722         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
56724         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
56725         (mml1991-passphrase-cache-expiry): Obsolete.
56726         (mml1991-epg-secret-key-id-list): Remove variable.
56727         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
56728         (mml1991-epg-find-usable-secret-key): Remove functions.
56729         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
56731         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
56732         (mml2015-passphrase-cache-expiry): Obsolete.
56733         (mml2015-epg-secret-key-id-list): Remove variable.
56734         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
56735         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
56736         (mml2015-epg-find-usable-secret-key): Remove functions.
56737         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
56738         (mml2015-epg-encrypt): Refactor.
56740 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56742         Merge from gnulib
56744         This mostly just updates copyright dates of gnulib files.
56745         It also updates to the latest version of texinfo.tex.
56747 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
56749         Move variables to inner loop, preparing for Mac port merge
56751         * src/keyboard.c (command_loop_1): Move variables `cmd',
56752         `keybuf', and `i' to inner loop.
56754 2016-01-17  Bill Wohler  <wohler@newt.com>
56756         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
56758 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56760         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
56762         (syntax-ppss):
56763         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
56765 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56767         lisp/nxml: Use syntax-tables for comments
56769         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
56770         (nxml-mode): Set syntax-ppss-table.
56771         Use sgml-syntax-propertize-function for syntax-propertize-function.
56772         Let font-lock highlight strings and comments.
56773         (nxml-degrade): Don't touch "nxml-inside" property any more.
56774         (nxml-after-change, nxml-after-change1): Remove functions.
56775         (comment): Don't set fontify rule any more.
56776         (nxml-fontify-attribute): Don't highlight the value any more.
56777         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
56778         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
56780         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
56781         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
56782         (nxml-clear-inside, nxml-set-inside): Remove.
56783         (nxml-scan-after-change): Remove function.
56784         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
56785         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
56786         (nxml-move-outside-backwards):
56787         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
56788         nxml-inside-start behavior.
56790         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
56791         (nxml-debug-clear-inside): Remove macros.
56793         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
56794         (xmltok-scan-after-comment-open): Simplify.
56796 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56798         * lisp/progmodes/elisp-mode.el
56799         (elisp--font-lock-flush-elisp-buffers): Fix comment
56801 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56803         * lisp/nxml: Use standard completion; it also works for company-mode
56805         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
56806         (nxml-completion-at-point-function): Remove.
56807         (nxml-mode): Don't set completion-at-point-functions.
56808         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
56809         (rng-completion-at-point): Rename from rng-complete and mark it
56810         non-interactive.  It is now to be used as completion-at-point-function.
56811         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
56812         (rng-complete-attribute-value): Don't perform completion, but return
56813         completion data instead.
56814         (rng-complete-qname-function, rng-generate-qname-list): Add a few
56815         arguments, previously passed via dynamic coping.
56816         (rng-strings-to-completion-table): Rename from
56817         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
56818         sorting and uniquifying.
56820         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
56821         (rng-completion-exact-p, rng-quote-string): Delete functions.
56823         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
56824         (rng-missing-attributes-message, rng-missing-element-message)
56825         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
56826         calling rng-quote-string everywhere.
56828 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56830         Use sgml-electric-tag-pair-mode also in nxml-mode
56832         * lisp/nxml/rng-nxml.el: Require sgml-mode.
56833         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
56834         (rng-complete-qname-function): Use complete-with-action.
56836         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
56837         Let-bind forward-sexp-function, since nxml-mode binds it to
56838         something incompatible.
56840         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
56842 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
56844         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
56845         opener.
56847         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
56848         marker on the "sole --" rather than on the comment opener.
56850 2016-01-15  Sam Steingold  <sds@gnu.org>
56852         replace `tramp-compat-split-string' (removed) with `split-string'
56854         (python-shell-tramp-refresh-process-environment)
56855         (python-shell-calculate-pythonpath): use `split-string'
56856         instead of defunct `tramp-compat-split-string'
56858 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
56860         Update nXML to use Emacs's Unicode support, and lexical-binding
56862         * etc/nxml/*.el: Remove obsolete char-name files.
56863         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
56864         var `next'.
56865         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
56866         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
56867         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
56868         (nxml-target-section-pos, nxml-depth-in-target-section)
56869         (nxml-outline-state-transform-alist)
56870         (nxml-outline-display-section-tag-function): Move decl before first use.
56871         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
56872         (nxml-char-name-alist, nxml-char-name-table)
56873         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
56874         (nxml-enable-char-name-set, nxml-disable-char-name-set)
56875         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
56876         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
56877         (nxml-insert-named-char): Use read-char-by-name instead.
56878         (nxml-char-ref-display-extra): Use get-char-code-property.
56879         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
56880         Remove function.
56881         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
56883 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
56885         Add "sg" method to Tramp
56887         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
56888         (Customizing Completion): Add function `tramp-parse-etc-group'.
56890         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
56891         (tramp-completion-function-alist-sg): New defconst.
56892         (top): Completion function for "sg" is
56893         `tramp-completion-function-alist-sg'.
56895         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
56896         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
56898 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
56900         Remove XEmacs compatibility in Tramp
56902         * doc/misc/tramp.texi: Replace flags by their hard coded name.
56903         Remove unused flags and the enclosed alternative text for XEmacs.
56905         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
56906         and "xemacs" flags to "unified" and "separate".  Remove flags
56907         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
56908         "emacsothername", "emacsotherdir" and "emacsotherfilename".
56909         (trampver):
56910         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
56912         * lisp/net/tramp.el (bkup-backup-directory-info)
56913         (directory-sep-char, ls-lisp-use-insert-directory-program)
56914         (outline-regexp, tramp-backup-directory-alist)
56915         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
56916         (tramp-file-name-regexp-unified)
56917         (tramp-file-name-regexp-separate)
56918         (tramp-completion-file-name-regexp-unified)
56919         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
56920         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
56921         (tramp-debug-message, tramp-progress-reporter-update)
56922         (with-tramp-progress-reporter)
56923         (tramp-rfn-eshadow-setup-minibuffer)
56924         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
56925         (tramp-rfn-eshadow-update-overlay)
56926         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
56927         (tramp-file-name-for-operation)
56928         (tramp-completion-file-name-handler)
56929         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
56930         (tramp-handle-directory-files)
56931         (tramp-handle-directory-files-and-attributes)
56932         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
56933         (tramp-handle-insert-file-contents, tramp-handle-load)
56934         (tramp-handle-shell-command)
56935         (tramp-handle-verify-visited-file-modtime)
56936         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
56937         (tramp-check-for-regexp, tramp-wait-for-regexp)
56938         (tramp-send-string, tramp-mode-string-to-int)
56939         (tramp-get-local-gid, tramp-check-cached-permissions)
56940         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
56941         (auto-save-file-name-transforms)
56942         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
56943         (tramp-clear-passwd, tramp-time-diff):
56944         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
56945         (directory-sep-char, tramp-adb-file-name-handler-alist)
56946         (tramp-adb-parse-device-names)
56947         (tramp-adb-handle-expand-file-name)
56948         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
56949         (tramp-adb-handle-file-local-copy)
56950         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
56951         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
56952         (tramp-adb-handle-shell-command)
56953         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
56954         (tramp-adb-maybe-open-connection):
56955         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
56956         (tramp-cache-print):
56957         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
56958         (tramp-bug, tramp-reporter-dump-variable)
56959         (tramp-load-report-modules, tramp-append-tramp-buffers):
56960         * lisp/net/tramp-compat.el (tramp-compat-funcall)
56961         (tramp-advice-file-expand-wildcards)
56962         (tramp-compat-temporary-file-directory)
56963         (tramp-compat-make-temp-file, tramp-compat-copy-file)
56964         (tramp-compat-delete-directory, )
56965         (tramp-compat-process-running-p):
56966         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
56967         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
56968         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
56969         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
56970         (tramp-gvfs-handle-file-local-copy)
56971         (tramp-gvfs-handle-file-name-all-completions)
56972         (tramp-gvfs-handle-file-notify-add-watch)
56973         (tramp-gvfs-monitor-file-process-filter)
56974         (tramp-gvfs-handle-file-readable-p)
56975         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
56976         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
56977         (tramp-gvfs-maybe-open-connection)
56978         (tramp-gvfs-parse-device-names):
56979         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
56980         (tramp-gw-open-connection, tramp-gw-open-network-stream):
56981         * lisp/net/tramp-sh.el (directory-sep-char)
56982         (tramp-sh-file-name-handler-alist)
56983         (tramp-sh-handle-file-truename)
56984         (tramp-sh-handle-set-visited-file-modtime)
56985         (tramp-sh-handle-verify-visited-file-modtime)
56986         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
56987         (tramp-sh-handle-file-acl)
56988         (tramp-sh-handle-file-name-all-completions)
56989         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
56990         (tramp-do-copy-or-rename-file-directly)
56991         (tramp-do-copy-or-rename-file-out-of-band)
56992         (dired-compress-file-suffixes, dired-remove-file)
56993         (tramp-sh-handle-dired-compress-file)
56994         (tramp-sh-handle-insert-directory)
56995         (tramp-sh-handle-expand-file-name)
56996         (tramp-sh-handle-start-file-process)
56997         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
56998         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
56999         (tramp-sh-handle-file-notify-add-watch)
57000         (tramp-sh-gvfs-monitor-dir-process-filter)
57001         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
57002         (tramp-find-executable)
57003         (tramp-open-connection-setup-interactive-shell)
57004         (tramp-find-inline-encoding, tramp-compute-multi-hops)
57005         (tramp-maybe-open-connection, tramp-convert-file-attributes)
57006         (tramp-get-remote-path, tramp-get-remote-touch):
57007         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
57008         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
57009         (tramp-smb-handle-delete-directory)
57010         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
57011         (tramp-smb-handle-make-directory-internal)
57012         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
57013         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
57014         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
57015         (tramp-smb-get-cifs-capabilities)
57016         (tramp-smb-maybe-open-connection):
57017         * lisp/net/trampver.el (tramp-repository-get-version):
57018         Remove XEmacs compat code.
57020         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
57021         (reporter-dump-variable): Declare functions.
57023         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
57024         (tramp-advice-minibuffer-electric-separator)
57025         (tramp-advice-minibuffer-electric-tilde)
57026         (tramp-handle-unhandled-file-name-directory):
57027         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
57028         (tramp-compat-font-lock-add-keywords)
57029         (tramp-compat-load, tramp-compat-number-sequence)
57030         (tramp-compat-split-string, tramp-compat-delete-dups):
57031         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
57032         Remove.
57034         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
57035         recursively.
57037 2016-01-14  K. Handa  <handa@gnu.org>
57039         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
57041         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
57042         second glyph only when there are enough glyphs.
57044 2016-01-13  Glenn Morris  <rgm@gnu.org>
57046         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
57048         or its hook, to move point.  (Bug#22348)
57050 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
57052         Merge missing commit from emacs-25 branch
57054         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
57055         New variables.
57056         (check-expensive, check-doit): New targets.
57058         * Makefile.in (check-expensive): New target.
57060         * test/lisp/autorevert-tests.el
57061         (auto-revert-test01-auto-revert-several-files):
57062         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
57063         (file-notify-test06-many-events):
57064         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
57065         (tramp-test27-start-file-process, tramp-test28-shell-command)
57066         (tramp-test29-vc-registered)
57067         (tramp-test31-special-characters-with-stat)
57068         (tramp-test31-special-characters-with-perl)
57069         (tramp-test31-special-characters-with-ls)
57070         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
57071         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
57072         (tramp-test35-unload): Tag the tests as :expensive-test.
57074 2016-01-11  John Wiegley  <johnw@newartisans.com>
57076         Merge from origin/emacs-25
57078         1f6898d test/automated/vc-hg.el: Support out-of-tree build
57079         3adb56e Minor change in tramp-tests.el
57080         2b535ba ; * etc/NEWS: Update the js.el entry.
57081         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
57082         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
57083         36b9539 Avoid an infloop when we run out of memory
57084         2006752 Avoid unnecessary failures of auto-saving after fatal error
57085         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
57086         552694a Revert attempt to use 'noexcept' in typedef
57087         6ad0d39 Update documentation of 'indirect-function'
57088         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
57089         303141a Update documentation for obsoleting 'syntax-begin-function'
57090         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
57091         e667bbb Document new features if Eshell
57092         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
57093         1089dc9 Handle too long commands in Tramp
57094         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
57095         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
57096         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
57097         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
57098         cca0f93 ; Account for spaces before the filename
57099         c71e1e8 Use short date for 'hg annotate', and output the author
57100         f50027b Spelling fix
57101         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
57102         cc140bc Document user-level functions in project.el
57103         f8208b6 Document the user-level features of the Xref package
57104         b131fb8 * loading.texi: Add `define-type' entry for load-history
57105         db3c2a8 Improve doc strings and prompts in xref.el
57106         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
57107         90fd798 Fix coding system for Tramp on OS X.
57108         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
57109         9dfcbf0 Update 'load-history' docs
57110         207e191 Fix (error ...) error
57111         457738f Correctly analyze brace arguments in templated C++ function declarations.
57112         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
57113         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
57114         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
57115         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
57116         4b37cba Improve documentation of Delete Selection mode
57117         a034dd3 Fix two project-find-file issues
57118         30abf29 Clarify doc string of 'dired-current-directory'
57119         e990bb2 Use the face of preceding text for displaying the ellipsis
57120         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
57121         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
57122         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
57123         648de81 ; Add NEWS entry for project.el
57124         671862f apropos-library: Skip obvious duplicates; don't error on generics
57125         51668a5 ; Grammar fix
57126         ed41d11 Add project-find-file and project-or-external-find-file
57127         056da45 ; Improve commentary in 'setup_for_ellipsis'
57128         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
57130 2016-01-11  John Wiegley  <johnw@newartisans.com>
57132         Merge from origin/emacs-25
57134         ce4a052 Add defvar-local to lisp-imenu-generic-expression
57135         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
57136         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
57137         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
57138         b6b47af Properly encode/decode base64Binary data in SOAP
57139         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
57140         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
57141                 Update the URI of MELPA and marmalade-repo.
57142                 Reported by CHENG Goa <chenggao@royau.me> in
57143                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
57144         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
57145         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
57146         7380990 Remove function wrongly on AWK Mode value of context
57147         fontification hook.
57148         d400753 * src/buffer.c: Stick with ASCII in doc string.
57149         221240c Reword transient-mark-mode doc string
57150         977d3ea Update doc string of 'selective-display'
57151         229c3fa Make C++ buffers writeable when writing their initial text
57152                 properties.
57153         f5c762c Additional changes for "make check-expensive"
57154         1729cf3 ; * admin/MAINTAINERS: Remove myself.
57155         33219d3 Apply text properties for <, > in new after-change function
57156                 (C++ Java Modes).
57158 2016-01-11  John Wiegley  <johnw@newartisans.com>
57160         Merge from origin/emacs-25
57162         9fb185a shr-tag-video bug fix
57163         6300655 Minor fixes in tramp-tests.el
57164         50575b1 Ensure redisplay when 'truncate-lines' is set
57165         0d9e80d Fix a doc string of 'transient-mark-mode'
57166         0000ae5 MS-Windows followup to latest gnulib update
57167         4bc5e02 Spelling fix
57168         f1093f7 Do secure signed Bcc handling
57170 2016-01-11  John Wiegley  <johnw@newartisans.com>
57172         Merge from origin/emacs-25
57174         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
57175         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
57176         71ea138 * lisp/align.el (align): Simplify a lambda
57177         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
57178         1f680db Fix compilation next-error in buffers with selective-display
57179         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
57180         1da116f Add SHA1 warnings for high network security settings
57181         e48bacd ; * etc/NEWS: Typo fix.
57183 2016-01-11  John Wiegley  <johnw@newartisans.com>
57185         Merge from origin/emacs-25
57187         43662a2 ; Clarify that xref is still experimental
57188         0a6e6ca ; * admin/release-process: Remove some obsolete records.
57189         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
57190         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
57191         0a7ad07 ; Re-arrange xref-related entries in NEWS.
57192         fe903ef Fix xref-find-references on MS-Windows
57193         55a28d8 ; Fixed visual bell artifact problem on NextStep.
57194         d064034 Document new features of tildify-mode
57195         964bea7 Document new features of Whitespace mode
57196         cd68f47 Improve documentation of new Hide-IfDef features
57197         723b8bf Fix regression in font-locking cl-assert and cl-check-type
57199 2016-01-11  John Wiegley  <johnw@newartisans.com>
57201         Merge from origin/emacs-25
57203         ef33bc7 Spelling and grammar fixes
57204         9c3dbab Fix copyright years by hand
57205         0e96320 Update copyright year to 2016
57207 2016-01-11  John Wiegley  <johnw@newartisans.com>
57209         Merge from origin/emacs-25
57211         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
57212         526d80c Port chart.el methods to cl-generic.
57213         410bb69 Add nt/INSTALL.W64 build instructions
57214         8f5b524 Add new input method 'programmer-dvorak'
57215         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
57216         bb83bb1 Fix EWW rendering of long RTL lines
57217         b1a8509 fix  bug#21054
57218         ce5ad12 Clean up cairo printing code
57220 2016-01-11  John Wiegley  <johnw@newartisans.com>
57222         Merge from origin/emacs-25
57224         6ee327d Add handle_user_signal_hook
57225         47580e0 Avoid writing to purespace
57226         0588be7 Remove unused variable
57227         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
57228         3b95e9c Use posix_openpt instead of openpty on Darwin
57229         86312ff Document support for ':documentation' in Lisp mode
57230         c930e75b Document new features of TeX mode
57231         7c83d84 Clarify docs of hscroll in RTL text
57232         4c8f8db Fix rendering of HTML pages that use character composition
57233         a8d37ca Avoid some compiler warnings in w32.c
57234         ce106f3de Undo ill-advised change
57235         be0bba4 Unbreak completion in python-mode buffers
57237 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57239         Adding example replies to bug-triage.
57241         * admin/notes/bug-triage: Added example replies. Also, as requested,
57242           making the process notes into more of a checklist.
57244 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57246         Rename the notes/admin/triage file to bug-triage.
57248         * CONTRIBUTE: Change reference to the triage file name.
57249         * admin/notes/triage: Rename file to admin/notes/bug-triage.
57251 2016-01-08  K. Handa  <handa@gnu.org>
57253         Fix outdated comments.
57255 2016-01-06  Glenn Morris  <rgm@gnu.org>
57257         Allow creation of loaddefs files without timestamps.
57259         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
57260         (autoload-generate-file-autoloads, update-directory-autoloads):
57261         If autoload-timestamps is nil, write "t" instead of file timestamp.
57262         (autoload-find-destination, update-directory-autoloads):
57263         If timestamp is "t", use the modtime of the output file instead.
57265 2016-01-06  Glenn Morris  <rgm@gnu.org>
57267         Doc tweaks.
57269         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
57270         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
57271         (calendar-iso-from-absolute):
57272         * lisp/calendar/cal-tex.el (cal-tex-comment):
57273         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
57275 2016-01-06  Glenn Morris  <rgm@gnu.org>
57277         Build tweaks related to tags files.
57279         * lib-src/Makefile.in (tagsfiles): New variable.
57280         (TAGS): Also depend on the source files.  Use our own etags program.
57281         * lisp/Makefile.in (ETAGS): Add EXEEXT.
57282         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
57283         Remove.
57284         (tagsfiles): New, replacing lisptagsfiles1 etc.
57285         Remove irrelevant source files here rather than in the TAGS rule.
57286         (${ETAGS}): New rule.
57287         (TAGS): Also depend on the etags executable.
57288         * lwlib/Makefile.in (EXEEXT): New, set by configure.
57289         (ETAGS): Add EXEEXT.
57290         (${ETAGS}): New rule.
57291         (ctagsfiles): Use "wildcard".
57292         (TAGS): Also depend on the etags executable.
57293         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
57294         (${ETAGS}): New rule.
57295         (TAGS): Fix dependencies.
57296         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
57297         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
57298         Remove "-t" argument.
57299         (${ETAGS}): New rule.
57300         (tagsfiles): New variable.
57301         (TAGS): New rule, with proper dependencies.
57302         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
57303         (ctagsfiles1, ctagsfiles2): Use "wildcard".
57304         (ctagsfiles3): Remove.
57305         (TAGS): Depend on etags.
57306         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
57307         directories decide if updates are needed.
57309 2016-01-06  Glenn Morris  <rgm@gnu.org>
57311         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
57313 2016-01-06  Glenn Morris  <rgm@gnu.org>
57315         * test/lisp/emacs-lisp/package-tests.el
57317         (package-test-macro-compilation): Fixup branch merge.
57319 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
57321         Fix fallout from merging emacs-25 branch in test/
57323         * .gitignore: Update for the new place of biditest.txt.
57324         * test/automated/: Directory removed.  All files moved to their
57325         proper places.
57326         * test/etags/: Directory removed.  All files moved to their proper
57327         places.
57328         * test/automated/url-parse-tests.el: File removed; it was an exact
57329         copy of the same file in test/lisp/url/.
57330         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
57332 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57334         Spelling fixes
57336 2016-01-04  Daniel Colascione  <dancol@dancol.org>
57338         Let users disable unsafe signal handling code
57340         * src/keyboard.c (syms_of_keyboard): New user variables
57341         `attempt-stack-overflow-recovery' and
57342         `attempt-orderly-shutdown-on-fatal-signal'.
57343         * src/sysdep.c (stack_overflow): Check
57344         `attempt-stack-overflow-recovery'.
57345         * src/emacs.c (terminate_due_to_signal): Check
57346         `attempt-orderly-shutdown-on-fatal-signal'.
57348 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
57350         * configure.ac: Add error message for gfile on Nextstep.
57352 2016-01-02  John Wiegley  <johnw@newartisans.com>
57354         Merge branch 'emacs-25-merge'
57356 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57358         Align textually on fix done for emacs-25 branch for bug#21054
57360         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
57361         and useless `(if t ...)' in order to align textually on fix done for
57362         emacs-25 branch for bug#21054.
57364 2016-01-01  K. Handa  <handa@gnu.org>
57366         support rendering of wider range of combinging characters by ftfont backend
57368         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
57369         supports rendering of combining characters, call
57370         font-shape-gstring.
57372         * src/font.c (Ffont_get): Handle `combining-capability' property.
57373         (syms_of_font): New symbol ":combining-capability'.
57375         * src/font.h (struct font_driver): New member combining_capability.
57377         * src/ftfont.c: Include "category.h".
57378         (ftfont_driver): Initialize combining_capability to
57379         ftfont_combining_capability.
57380         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
57381         FLT in advance.
57382         (ftfont_combining_capability): New function.
57384 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
57386         Add notes on bug triage procedure
57388         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
57389         * admin/notes/triage: New file explaining triage procedure.
57391 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57393         Correct ses-rename-cell cursor-intangible text prop updating.
57395         There were two problems:
57397         - First ses-rename-cell has to work when called non interactively
57398           (with non-nil CELL argument), so in this case the start pos of
57399           put-text-property cannot be plainly (point), you need a
57400           ses-goto-print call before
57402         - Second, the range itself was computed erronously, only the first
57403           char was affected instead of the full cell width. This was not
57404           noticeable prior to changes (Deprecate `intangible' and
57405           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
57407         * lisp/ses.el (ses-rename-cell): Correct computation of position range
57408         to which the 'cursor-intangible text property has to be set to cell
57409         new name.
57411 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57413         Don't fake empty cells value by "" when printing with a lambda.
57415         When using a lambda expression printer function the user should be
57416         free to format differently a really empty cell, ie. containing nil,
57417         from a cell containing an empty string "".
57419         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
57420         `value' in the case of a lambda expression printer function.
57422         * doc/misc/ses.texi (Printer functions): Add example and
57423         description about lambda expression printer function handling all
57424         the possible values, including unexpected ones.
57426 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57428         Quick temporary hack to fix curcell refreshing.
57430         The problem was caused by change: 2015-04-13 Deprecate `intangible'
57431         and `point-entered' properties. The problem is that this change has
57432         removed the (setq ses--curcell t) setting in the ses-command-hook
57433         function.
57435         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
57436         a condition to call function `ses-set-curcell'. Comment this as a quick
57437         temporary hack to make it work, as I don't know yet whether a definite
57438         correction would be to make the ses-set-curcell at every ses-check-curcell,
57439         or to revert to the previous approach, ie marking ses--curcell as out-of-date
57440         at every potentially cursor motion command.
57442 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57444         Restrictive URL checking tweaks
57446         * lisp/net/eww.el (eww): Check whether the domain is
57447         restrictive instead of the string
57448         (http://македонија.icom.museum is restrictive even if each
57449         part is from a different script).
57451 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57453         New function `puny-highly-restrictive-domain-p'
57455         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
57456         (puny-highly-restrictive-domain-p): New function.
57458 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57460         eww build fix (require puny)
57462 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57464         Transform non-restrictive domains to punycode for display
57466         * lisp/net/eww.el (eww): Check whether the domain is Highly
57467         Restrictive in the Unicode IDNA sense.
57469 2015-12-29  John Wiegley  <johnw@newartisans.com>
57471         Merge emacs-25 into master (using imerge)
57473 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
57475         Further Unicode restrictive fixups
57477         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
57478         identifier characters from table 3.
57480 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
57482         Add a new function to say whether a string is restrictive
57484         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
57486 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57488         Mention the new puny.el library
57490 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57492         IDNA-related fixes for the URL library
57494         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
57495         the Host: header.
57497         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
57498         domain names, but leave them as UTF-8, so that they can be
57499         IDNA-encoded later when contacting the host.
57501 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57503         IDNA-encode all domain names in `open-network-stream'
57505         * lisp/net/network-stream.el (open-network-stream)
57506         (network-stream-open-plain, network-stream-open-starttls):
57507         IDNA-encode all domain names, if needed.
57509 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57511         Fix puny-encoding all-non-ASCII domains
57513         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
57514         encoding case.
57516 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57518         shr link traversal fixup
57520         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
57522 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57524         Reconnect erc even on server errors
57526         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
57527         reconnect even if a server error has occurred (bug#18527).
57529 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57531         Fix punycode short circuit logic
57533         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
57535 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57537         IDNA speed up
57539         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
57541 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57543         Add IDNA domain encode/decode functions
57545         * lisp/net/puny.el (puny-decode-domain): New function.
57546         (puny-encode-domain): Ditto.
57547         (puny-decode-digit): Fix digit decoding error.
57549 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57551         Rename idna.el to puny.el
57553         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
57554         the external idna.el library.
57556 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
57558         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
57560         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
57561         Don't use split-string with 4th arg for old Emacsen compatibility.
57563 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57565         * lisp/net/idna.el (idna-decode-string-internal): Implement
57566         decoding.
57568 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57570         Further IDNA tweaks
57572         (idna-encode-string): Make idna-encode-string safe for
57573         non-ASCII use.
57575 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57577         Clean up the code slightly
57579 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57581         Added basic idna encoding support
57583         * lisp/net/idna.el: New file.
57585 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
57587         Disconnection fixes for erc
57589         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
57590         reconnect if the user has disconnected explicitly (bug#4589).
57592 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
57594         Further erc asynch fixes
57596         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
57597         erc-server-connect to return even if the connection is not
57598         ready.  Then erc-open and erc-server-reconnect do the
57599         same. (bug#5650).
57601 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
57603         Make erc connect asynchronously
57605         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
57606         reconnect asynchronously.
57608         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
57610 2015-12-27  David Edmondson  <dme@dme.org>
57612         Proxy error in erc with multiple clients
57614         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
57615         generated when multiple IRC clients talk to a single IRC proxy
57616         (bug#19034).
57618 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
57620         Fix mml-sec build warnings
57622         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
57623         (bug#18718).
57625 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57627         (eww-setup-buffer): Restore left-to-right defaults
57629         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
57631 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57633         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
57635 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
57637         Identify unsafe combinations of Bcc and encryption
57639         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
57640         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
57641         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
57643 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
57645         * shr.el (shr-descend): Allow using lambdas in external functions.
57647 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57649         * admin/gitmerge.el: Tweaks that seemed necessary
57651         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
57652         (gitmerge-maybe-resume): Provide explicit empty commit message.
57654 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
57656         Use a different port for TLS erc
57658         * lisp/erc/erc.el (erc-default-port-tls): New variable
57659         (bug#19497).
57660         * lisp/erc/erc.el (erc-tls): Use it.
57662 2015-12-25  Alain Schneble  <a.s@realize.ch>
57664         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
57666         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
57667         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
57668         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
57669         information in URL-struct.
57670         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
57671         path and query into nil path and query, respectively.
57672         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
57673         empty path into an absolute ("/") path.
57674         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
57675         fragment-only URIs. Do not just return them unchanged.
57676         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
57677         reference URI should not drop the last segment.
57679 2015-12-25  Alain Schneble  <a.s@realize.ch>
57681         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
57683         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
57684         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
57685         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
57686         information in URL-struct.
57687         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
57688         path and query into nil path and query, respectively.
57689         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
57690         empty path into an absolute ("/") path.
57691         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
57692         fragment-only URIs. Do not just return them unchanged.
57693         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
57694         reference URI should not drop the last segment.
57696 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57698         Let url use default file modes when copying files
57700         * lisp/url/url-handlers.el (url-copy-file): Use default file
57701         modes when copying files (bug#11400).
57703 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
57705         Doc fix for url-http
57707         * lisp/url/url-http.el (url-http): Document better return values
57708           (bug#13187) (tiny change)
57710 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57712         * eww.el (eww-display-html): Support <button> tags (bug#20485).
57714 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57716         Made ffap-url-p a defun instead of a defsubst
57718         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
57719         since there doesn't seem to be much of a reason for it to be a
57720         defsubst (bug#18203).
57722 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57724         Add a command to view files in the browser to dired
57726         * lisp/dired.el (dired-mode-map): Add the `W' command
57727         (bug#18810).
57729 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57731         Allow http://user:pass@foo/ URLs again
57733         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
57734         user/passwords in URLs (bug#19046).
57736 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57738         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
57740 2015-12-25  Samer Masterson  <samer@samertm.com>
57742         Autoload url-insert-buffer-contents
57744         * lisp/url/url-handlers.el: Add autoload cookie so that
57745         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
57747 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57749         Allow toggling colors in eww
57751         * doc/misc/eww.texi (Basics): Mention "C".
57753         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
57755         * lisp/net/shr.el (shr-use-colors): New variable.
57756         (shr-colorize-region): Use it.
57758 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57760         Follow meta refresh tags in eww
57762         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
57764 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57766         More eww file name coding fixes
57768         * eww.el (eww-decode-url-file-name): Use the base coding
57769         system to check for encodability.
57771 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57773         Always save eww history
57775         * eww.el (eww-setup-buffer): Always save history, even when
57776         called from outside the eww buffer (bug#19638).
57778 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57780         Default web pages to right-to-left
57782         * eww.el (eww-mode): Most web pages are left-to-right, so make
57783         that the default (bug#19801).
57785         * shr.el (shr-tag-html): Respect "dir" attributes
57786         (left-to-right, right-to-left).
57788 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57790         Make toggling checkboxes work again
57792         * eww.el (eww-update-field): Make toggling checkboxes work
57793         again (bug#21881).
57795 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57797         Don't store cookies with empty names
57799         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
57800         cookies with empty names (bug#21936).
57802 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57804         Stop rendering HTML before specdlr exhaustion
57806         Fixes: 22117
57808         * shr.el (shr-descend): Stop rendering before we run out of
57809         specpdl room (bug#22117).
57811 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57813         Use cl-reduce, not reduce.
57815 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57817         Allow several <tbody> tags in shr
57819         * shr.el (shr-table-body): New function to find the real body
57820         of a table.
57821         (shr-tag-table): Use it to render several <tbody> tags in a
57822         table (bug#22170).
57824 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57826         Make prettier unique file names in eww
57828         (eww-make-unique-file-name): Make unique file names by making
57829         files like foo(2).jpg instead of foo(1)(2).jpg.
57831 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57833         Decode hex-encoded URLs before using them as file names
57835         * eww.el (eww-decode-url-file-name): New function.
57836         (eww-download-callback): Use it to decode file names before
57837         saving them.
57839 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
57841         Add FreeBSD cert bundle
57843         * doc/misc/emacs-gnutls.texi (Help For Users): Document
57844         FreeBSD bundle.
57846         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
57848 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57850         Allow overriding shr functions from eww
57852         * eww.el (eww-display-html): Allow overriding elements in
57853         `shr-external-rendering-functions'.
57855 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57857         Ignore invalid SVG images
57859         * shr.el (shr-tag-svg): Ignore SVG images that have no width
57860         or height, because these can't be displayed by ImageMagick,
57861         anyway.
57863 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57865         shr table rendering fix
57867         * shr.el (shr-tag-table): Allow rendering body-less tables
57868         that have headers.
57870 2015-12-22  Sam Steingold  <sds@gnu.org>
57872         clipboard should still work even if interprogram-* is disabled
57874         (clipboard-yank): When `interprogram-cut-function' is nil,
57875         bind it to `gui-selection-value' - the default value.
57876         (clipboard-kill-region, clipboard-kill-ring-save): When
57877         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
57878         the default value.
57880 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
57882         Fix bootstrap issue with dired-loaddefs
57884         * lisp/dired.el: Autoloads for secondary files loaded optionally.
57886 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57888         dired generate autoloads to non-versioned file.
57890         * lisp/dired.el: Remove autoloads.
57891         * lisp/Makefile.in: Add dired to autogenel.
57892         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
57893         * test/lisp/dired-tests.el: Add new test.
57895 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57897         eieio generate autoloads to non-versioned file.
57899         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
57900         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
57901           Remove autoloads.
57902         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
57903           lisp/emacs-lisp/eieio-opt.el: Update file local.
57904         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
57906 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57908         htmlfontify generate autoload to non-versioned file.
57910         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
57911         * lisp/hfy-cmap.el: Update file local.
57912         * lisp/htmlfontify.el: Remove autoloads, add require.
57913         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
57915 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57917         ibuffer generate autoloads to non-versioned file.
57919         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
57920         * lisp/ibuf-ext.el: Update file local.
57921         * lisp/ibuffer.el: Remove autoloads and add a require.
57922         * test/lisp/ibuffer-tests.el: Test that autoload is working.
57924 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57926         rmail generate autoloads to non-versioned file.
57928         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
57929         * lisp/mail/rmail.el: Remove autoloads, add require.
57930         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
57931         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
57932         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
57933         * lisp/mail/undigest.el: Update file-local.
57934         * test/lisp/mail/rmail-tests.el:
57936 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57938         Add autoload-force target.
57940         * lisp/Makefile.in (autoload-force): New target.
57942 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57944         ps-print generate autoloads to non versioned file.
57946         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
57947         * lisp/ps-print.el: Remove autoloads.
57948         * lisp/ps-mule.el: Update file-local.
57949         * test/lisp/ps-print-tests.el: Test autoload functionality.
57951 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57953         reftex generate autoloads to non versioned file.
57955         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
57956         * lisp/textmodes/reftex.el: Remove autoloads.
57957         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
57958         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
57959         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
57960         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
57961         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
57962         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
57963           function.
57965 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
57967         * lisp/calculator.el (calculator-define-key): Undo last change
57969         Make map argument mandatory instead (bug#22106).
57970         (calculator-add-operators): Pass the argument that's not optional any more.
57972 2015-12-03  Glenn Morris  <rgm@gnu.org>
57974         * Makefile.in: Avoid duplication.
57976         (have-tests): New rule.
57977         (check, check-maybe): Use it.
57979 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
57981         make check unconditional, check-maybe top-level.
57983          * Makefile.in: Add check-maybe target.
57984          * test/Makefile.in: Restore unconditional behavior to make check.
57986 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
57988         Tests now support out-of-source-build.
57990          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
57991            about current working directory.
57993 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
57995         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
57997 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
57999         Improve documentation and clean up.
58001          * test/Makefile.in: Improve documentation, use EMACS variable
58002            correctly, and clean up makefile rules.
58004 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58006         Update file headers for name change.
58008          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
58010 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58012         Test files renamed to new scheme.
58014          * (finalizer-tests.el): Now renamed alloc-tests.el
58015          * (zlib-tests.el): Now renamed decompress-tests.el.
58017 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
58019         Tests now depend on source files
58021          * test/Makefile.in: Include dependences from tests to source files.
58022          * test/make-test-deps.emacs-lisp: New file
58023          * .gitignore: Ignore generated make include file
58025 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
58027         * lisp/progmodes/which-func.el: Improve disabling the mode
58029         Use lexical-binding.
58030         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
58031         (which-func, which-func-format): Remove redundant :group arg.
58032         (which-func-try-to-enable): New function.
58033         (which-func-ff-hook, which-function-mode): Use it.
58034         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
58035         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
58037 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
58039         * lisp/calculator.el (calculator-define-key): Silence warning
58041         ...about unknown calculator-mode-map.
58043 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58045         * lisp/calculator.el: more improvements and bugfixes.
58047         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
58048           effect anyway.)
58050         - Simplify `calculator-number-to-string' by throwing most of the work
58051           onto `number-to-string', leaving just some tweaks for decimal inputs.
58052           This leads to some minor changes, for example, pasting "1x1" in hex
58053           mode would warn that "x" is ignored and result in "11" (and it wasn't
58054           done in decimal mode), whereas now it just ignores everything from the
58055           "x" and on and result in a "1" just like in decimal input mode.  Also,
58056           overflows are left for `number-to-string' to deal with.
58058         - `calculator-paste' is very simple as a result.
58060         - Extend the simplified `calculator-paste': with a prefix argument it
58061           pastes a string as if the characters were entered.  This can be used
58062           to reduce expressions, but note that it's a simple literal operation,
58063           so precedence can be messed, a number can be paster while entering a
58064           number, spaces and newlines matter, etc.
58066         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
58067           operator.
58069         - Fix a bug in `calculator-put-value': avoid grouping in the display
58070           that is used to construct `calculator-curnum'.  This would trigger
58071           when pasting or getting a value from a register in some radix mode
58072           with a large enough value.  Another fix: make the output radix equal
58073           the input one, otherwise numbers could be converted twice.
58075 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58077         * lisp/calculator.el: Re-do key bindings.
58079         Use a helper function that arranges a parent keymap that binds alternate
58080         case keys so if some letter key is unbound and it's un/shifted version
58081         is, it will get used.  This makes the global-map trickery unnecessary.
58083         Also switch to passing strings that name keys through `kbd'.
58085 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58087         * lisp/calculator.el: improve radix modes
58089         Fix prompt for some input radix with decimal output (eg, "BD" instead of
58090         the incorrect "B="); also, some minor docstring tweaks for these.
58092 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58094         * lisp/calculator.el: better reading of register names
58096         Use `register-read-with-preview' with a dynamically bound
58097         `register-alist' and a proper preview function to read register names.
58099 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58101         * lisp/calculator.el: General improvements
58103         Use things like `when', `unless', and `push'.
58105         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
58106         non-electric mode.
58108 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
58110         Fix a problem with gfilenotify in filenotify-tests.el
58112         * test/lisp/filenotify-tests.el
58113         (file-notify--test-expected-events): Remove.
58114         (file-notify--test-cleanup): Do not set that variable.
58115         (file-notify--test-with-events): EVENTS can also be a list of lists.
58116         (file-notify-test02-events, file-notify-test04-file-validity):
58117         Adapt expected result.
58119 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58121         * .gitignore: Adjust to changes in 'test' directory structure.
58123 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58125         Fix test/manual/etags/Makefile
58127         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
58128         changes in 'test' directory structure.
58130 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58132         Exclude resource dirs from search for tests.
58134         * test/Makefile.in: Test file locations are now found with find
58135           rather than using finds native functions.
58137 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58139         Add test targets without directory names.
58141          * (test/Makefile.in): Extend test_template to add two targets for each
58142            file.
58144 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
58146         * lisp/emacs-lisp/package.el: Require url-handlers
58148 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58150         Move elisp-mode-tests to new function names.
58152          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
58153          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
58155 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
58157         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
58159 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
58161         Merge branch 'feature/standard-test-location'
58163 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58165         * lisp/emacs-lisp/eieio.el: Add some default implementations
58167         (standard-class): Mark it obsolete.
58168         (slot-missing): Give it a default implementation.
58169         (destructor): Simplify and mark it obsolete.
58170         (object-print): Give it a default implementation.
58171         (eieio-change-class): Rename from change-class.
58172         (change-class): Redefine as obsolete alias.
58174 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58176         Mention kqueue in NEWS
58178 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58180         Merge from scratch/kqueue
58182         bec57a4 Some final fixes in file notification before merging with master
58183         0247489 Rework file notifications, kqueue has problems with directory monitors
58184         5154781 Continie with pending events
58185         6b490c0 Improve loops in file-notify-test06-many-events
58186         c8e266f Handle more complex rename operation in kqueue
58187         5044bdf New test with a larger number of events.
58188         65ba5a9 Further fixes for kqueue.
58189         13f3508 Code cleanup of kqueue.c
58190         99aa855 Doc changes for kqueue
58191         8deebe1 Finish implementation in kqueue.c
58192         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58193         e95b309 More work on kqueue
58194         41d9bd0 Implement directory events
58195         c571fc1 Build fixes for kqueue support.
58196         e0a68f2 Continue kqueue implementation
58197         7543d1c Work on kqueue
58198         e3354e2 Add kqueue support
58199         c6457ce Minor fix to comment indentation and typo in last commit
58200         b92307f linum-mode plays more nicely with other margin-setting extensions
58201         58e6235 * lisp/image-mode.el: Support encrypted file
58202         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
58203         47f83b6 ; ChangeLog.2 fixes
58204         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
58205         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
58206         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
58207         70f1fda ; Auto-commit of ChangeLog files.
58208         ae0653b * CONTRIBUTE: Remove information about feature freeze.
58209         9459456 Merge branch 'release-process-lowercase'
58210         9a4aa0f Document the release process
58211         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
58212         dcd5877 gitmerge: Fix git log command
58213         2ac79ae gitmerge: Try to detect cherry-picks
58214         5f7a2a9 Increment Emacs version on master branch
58215         ed2e7e2 Mention CONTRIBUTE in README
58216         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
58217         138ad3d ; Fix warnings
58218         7126e9a ; Update xref-etags-mode for the latest change
58219         246d660 Use generic dispatch for xref backends
58220         31f6e93 Support rectangular regions for more commands
58221         f103a27 Handle multiple matches on the same line; add highlighting
58222         fe973fc Replace xref-match-bounds with xref-match-length
58223         92a5010 Merge from gnulib
58224         04ac097 Spruce up ftfont.c memory allocation
58225         4c4b520 Port recent XCB changes to 64-bit ‘long int’
58226         4f0ce9c * src/undo.c (run_undoable_change): Now static.
58227         695a6f9 Remove support for ':timeout' from w32 tray notifications
58228         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
58229         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
58230         66b9f7b * src/undo.c: Small fixes for previous change
58231         2fac30e Add a few more variables to redisplay--variables
58232         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
58233         e221d32 Fix point positioning after transposing with negative arg
58234         35f5afb Fix last change in shr.el
58235         508e77b Fix last change
58236         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
58237         805a39b Remove intern calls and XXX comments from Fx_export_frames
58238         9463abf shr: don't invoke unbound function (Bug#21895)
58239         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
58240         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
58241         39dbd1c : Tests for undo-auto functionality.
58242         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
58243         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'.
58244         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
58245         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
58246         1e363a8 Enable sorting of JSON object keys when encoding
58247         9dd7da9 * test/automated/keymap-tests.el: New test file
58248         aa17de9 Speed up x_real_pos_and_offsets using XCB
58249         a838c83 Enable use of XCB for checking window manager state
58250         c7f2b6a Detect XCB and save a connection handle
58251         e1c27db Reduce some data dependencies between X calls
58252         25e32bd Use color cache for creating bitmap
58253         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
58254         055ca3a Sync with soap-client repository, version 3.0.2
58255         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
58256         952395d * lisp/obarray.el: Fix shadowed variables
58257         436d330 Avoid error in submitting a form with EWW
58258         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
58259         51d840a Rename seq-p and map-p to seqp and mapp
58260         23036ba Rename obarray-p to obarrayp
58261         20aea42 Rename obarray-foreach to obarray-map
58262         a3b2101 New file with obarray functions.
58263         9d43941 Implement tray notifications for MS-Windows
58265 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58267         Some final fixes in file notification before merging with master
58269         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
58270         (file-notify-callback): Improve check for `stopped' event.  Call
58271         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
58272         (file-notify-add-watch): In case FILE is not a directory, call the
58273         file monitor for the kqueue backend.  Otherwise, call the
58274         directory monitor for the upper directory.
58276         * src/inotify.c (inotifyevent_to_event): Extract file name from
58277         watch_object if the event doesn't provide it.
58278         (Finotify_add_watch): Add file name to watch_object.
58280         * test/automated/file-notify-tests.el (file-notify--test-timeout):
58281         Use different timeouts for different libraries.
58282         (file-notify--test-with-events): Suppress lock files.  Flush
58283         outstanding events before running the body.
58284         (file-notify-test02-events, file-notify-test04-file-validity): Do
58285         not skip cygwin tests.  Add additional test for file creation.
58286         Adapt expected result for different backends.
58287         (file-notify-test03-autorevert): Some of the tests don't work for
58288         w32notify.
58289         (file-notify-test06-many-events): Rename into both directions.
58291 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58293         Rework file notifications, kqueue has problems with directory monitors
58295         * lisp/filenotify.el (file-notify-add-watch): Call the native
58296         add-watch function on the file, not on the dir.
58298         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
58299         about already deleted entries.
58301         * test/automated/auto-revert-tests.el
58302         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
58303         since this deletes the target file first.
58305         * test/automated/file-notify-tests.el (file-notify--test-event-test):
58306         Make stronger checks.
58307         (file-notify-test01-add-watch, file-notify-test02-events)
58308         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58309         Rewrite in order to call file monitors but directory monitors.
58310         (file-notify-test06-many-events): Ler rename work in both directions.
58312 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58314         Continie with pending events
58316         * src/kqueue.c (pending_events): Remove global variable.
58317         (kqueue_compare_dir_list): Create `write' event for not used
58318         pending events.
58319         (globals_of_kqueue): Remove initialization of pending_events.
58321 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58323         Improve loops in file-notify-test06-many-events
58325         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58326         Use `read-event' pauses for the `write-file' loops; otherwise
58327         events are lost in inotify and gfilenotify cases.
58329 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58331         Handle more complex rename operation in kqueue
58333         * src/kqueue.c (pending_events): New variable.
58334         (kqueue_compare_dir_list): Handle more complex rename operation.
58335         (globals_of_kqueue): Initialize pending_events.
58337         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58338         Adapt expected events in the `rename-file' case.
58339         (file-notify-test06-many-events-remote): Declare.
58341 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58343         New test with a larger number of events.
58345         * test/automated/file-notify-tests.el (file-notify--test-with-events):
58346         Make timeout heuristically depend on the number of events.
58348         (file-notify-test06-many-events): Use it for new test.
58350 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58352         Further fixes for kqueue.
58354         * lisp/filenotify.el (file-notify-callback): Raise also event if
58355         directory name matches.
58356         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
58358         * src/kqueue.c (kqueue_generate_event): Use watch_object as
58359         argument instead of ident.  Remove callback argument.  Adapt
58360         callees.  Check actions whether they are monitored flags.
58362         * test/automated/file-notify-tests.el (file-notify--test-library):
58363         New defun.
58364         (file-notify-test00-availability, file-notify-test02-events)
58365         (file-notify-test04-file-validity)
58366         (file-notify-test05-dir-validity): Use it.
58367         (file-notify-test02-events, file-notify-test04-file-validity): Add
58368         `read-event' calls between different file actions, in order to
58369         give the backends a chance to rais an event.  Needed especially
58370         for kqueue.  In case of deleting a directory, there are two
58371         `deleted' events.
58373 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58375         Code cleanup of kqueue.c
58377         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
58378         (kqueue_compare_dir_list): Do not loop when calling
58379         directory_files_internal.  Remove checks for "." and "..", this is
58380         done in kqueue_directory_listing now.
58381         (Fkqueue_add_watch): Check for proper emacs_open flags.
58383 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58385         Doc changes for kqueue
58387         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
58388         Fix some glitches in the example.
58390 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58392         Finish implementation in kqueue.c
58394         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
58395         Simplify access to list.
58396         (kqueue_compare_dir_list): Simplify access to list.  Raise
58397         `delete' event if directory does not exist any longer.  Otherwise,
58398         wait until directory contents has changed.  Fix error in check.
58400 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58402         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58404 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58406         More work on kqueue
58408         * lisp/filenotify.el (file-notify-callback): Handle also the
58409         `rename' event from kqueue.
58410         (file-notify-add-watch): Do not register an entry twice.
58412         * src/kqueue.c (kqueue_directory_listing): New function.
58413         (kqueue_generate_event): New argument FILE1.  Adapt callees.
58414         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
58416 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58418         Implement directory events
58420         * lisp/filenotify.el (file-notify-handle-event)
58421         (file-notify-callback): Remove traces.
58423         * src/kqueue.c: Include <sys/time.h>.
58424         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
58425         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
58426         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
58427         Compute initial directory listing.  Close file descriptor in case
58428         of errors.
58429         (syms_of_kqueue): Declare Qcreate.
58431 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58433         Build fixes for kqueue support.
58435         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
58436         flag.
58438         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
58439         kqueue on *BSD.
58441 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58443         Continue kqueue implementation
58445         * lisp/filenotify.el (file-notify-handle-event)
58446         (file-notify-callback): Enable trace messages.
58448         * src/kqueue.c: Include also <sys/types.h>.
58449         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
58450         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
58451         (syms_of_kqueue): Add them.
58453 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58455         Work on kqueue
58457         * lisp/filenotify.el (file-notify--library)
58458         (file-notify-descriptors, file-notify-callback)
58459         (file-notify-add-watch, file-notify-rm-watch)
58460         (file-notify-valid-p): Add kqueue support.
58462         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
58464 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58466         Add kqueue support
58468         * configure.ac (--with-file-notification): Add kqueue.
58469         (top): Remove special test for "${HAVE_NS}" and
58470         ${with_file_notification}, this is handled inside gfilenotify
58471         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
58472         instead of library specific variables.
58474         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
58476         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
58478         * src/kqueue.c: New file.
58480         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
58482 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58484         Some final fixes in file notification before merging with master
58486         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
58487         (file-notify-callback): Improve check for `stopped' event.  Call
58488         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
58489         (file-notify-add-watch): In case FILE is not a directory, call the
58490         file monitor for the kqueue backend.  Otherwise, call the
58491         directory monitor for the upper directory.
58493         * src/inotify.c (inotifyevent_to_event): Extract file name from
58494         watch_object if the event doesn't provide it.
58495         (Finotify_add_watch): Add file name to watch_object.
58497         * test/automated/file-notify-tests.el (file-notify--test-timeout):
58498         Use different timeouts for different libraries.
58499         (file-notify--test-with-events): Suppress lock files.  Flush
58500         outstanding events before running the body.
58501         (file-notify-test02-events, file-notify-test04-file-validity): Do
58502         not skip cygwin tests.  Add additional test for file creation.
58503         Adapt expected result for different backends.
58504         (file-notify-test03-autorevert): Some of the tests don't work for
58505         w32notify.
58506         (file-notify-test06-many-events): Rename into both directions.
58508 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58510         Update elisp-mode-tests for changed file location.
58512          * test/lisp/progmodes/elisp-mode-tests.el:
58514 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58516         Exclude manual tests from Makefile
58518          * test/Makefile.in:
58520 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58522         Move package test files to new directory.
58524          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
58525          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
58527 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58529         Restore delete Makefiles and fix .gitignore.
58531          * .gitignore: Update Makefiles to changed locations
58532          * test/lisp/progmodes/flymake-resources/Makefile,
58533            test/manual/etags/Makefile,
58534            test/manual/etags/make-src/Makefile,
58535            test/manual/indent/Makefile: Restored and moved to new location.
58537 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58539         Test infrastructure: updates after directory move
58541          * (test/Makefile.in): Support directories several levels deep.
58542          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
58543          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
58545 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58547         Rename all test files to reflect source layout.
58549         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
58550         test directory moves.
58551         * test/file-organisation.org: New file.
58552         * test/automated/Makefile.in:
58553         * test/automated/data/decompress/foo.gz:
58554         * test/automated/data/epg/pubkey.asc:
58555         * test/automated/data/epg/seckey.asc:
58556         * test/automated/data/files-bug18141.el.gz:
58557         * test/automated/data/flymake/test.c:
58558         * test/automated/data/flymake/test.pl:
58559         * test/automated/data/package/archive-contents:
58560         * test/automated/data/package/key.pub:
58561         * test/automated/data/package/key.sec:
58562         * test/automated/data/package/multi-file-0.2.3.tar:
58563         * test/automated/data/package/multi-file-readme.txt:
58564         * test/automated/data/package/newer-versions/archive-contents:
58565         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
58566         * test/automated/data/package/newer-versions/simple-single-1.4.el:
58567         * test/automated/data/package/package-test-server.py:
58568         * test/automated/data/package/signed/archive-contents:
58569         * test/automated/data/package/signed/archive-contents.sig:
58570         * test/automated/data/package/signed/signed-bad-1.0.el:
58571         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
58572         * test/automated/data/package/signed/signed-good-1.0.el:
58573         * test/automated/data/package/signed/signed-good-1.0.el.sig:
58574         * test/automated/data/package/simple-depend-1.0.el:
58575         * test/automated/data/package/simple-single-1.3.el:
58576         * test/automated/data/package/simple-single-readme.txt:
58577         * test/automated/data/package/simple-two-depend-1.1.el:
58578         * test/automated/abbrev-tests.el:
58579         * test/automated/auto-revert-tests.el:
58580         * test/automated/calc-tests.el:
58581         * test/automated/icalendar-tests.el:
58582         * test/automated/character-fold-tests.el:
58583         * test/automated/comint-testsuite.el:
58584         * test/automated/descr-text-test.el:
58585         * test/automated/electric-tests.el:
58586         * test/automated/cl-generic-tests.el:
58587         * test/automated/cl-lib-tests.el:
58588         * test/automated/eieio-test-methodinvoke.el:
58589         * test/automated/eieio-test-persist.el:
58590         * test/automated/eieio-tests.el:
58591         * test/automated/ert-tests.el:
58592         * test/automated/ert-x-tests.el:
58593         * test/automated/generator-tests.el:
58594         * test/automated/let-alist.el:
58595         * test/automated/map-tests.el:
58596         * test/automated/advice-tests.el:
58597         * test/automated/package-test.el:
58598         * test/automated/pcase-tests.el:
58599         * test/automated/regexp-tests.el:
58600         * test/automated/seq-tests.el:
58601         * test/automated/subr-x-tests.el:
58602         * test/automated/tabulated-list-test.el:
58603         * test/automated/thunk-tests.el:
58604         * test/automated/timer-tests.el:
58605         * test/automated/epg-tests.el:
58606         * test/automated/eshell.el:
58607         * test/automated/faces-tests.el:
58608         * test/automated/file-notify-tests.el:
58609         * test/automated/auth-source-tests.el:
58610         * test/automated/gnus-tests.el:
58611         * test/automated/message-mode-tests.el:
58612         * test/automated/help-fns.el:
58613         * test/automated/imenu-test.el:
58614         * test/automated/info-xref.el:
58615         * test/automated/mule-util.el:
58616         * test/automated/isearch-tests.el:
58617         * test/automated/json-tests.el:
58618         * test/automated/bytecomp-tests.el:
58619         * test/automated/coding-tests.el:
58620         * test/automated/core-elisp-tests.el:
58621         * test/automated/decoder-tests.el:
58622         * test/automated/files.el:
58623         * test/automated/font-parse-tests.el:
58624         * test/automated/lexbind-tests.el:
58625         * test/automated/occur-tests.el:
58626         * test/automated/process-tests.el:
58627         * test/automated/syntax-tests.el:
58628         * test/automated/textprop-tests.el:
58629         * test/automated/undo-tests.el:
58630         * test/automated/man-tests.el:
58631         * test/automated/completion-tests.el:
58632         * test/automated/dbus-tests.el:
58633         * test/automated/newsticker-tests.el:
58634         * test/automated/sasl-scram-rfc-tests.el:
58635         * test/automated/tramp-tests.el:
58636         * test/automated/obarray-tests.el:
58637         * test/automated/compile-tests.el:
58638         * test/automated/elisp-mode-tests.el:
58639         * test/automated/f90.el:
58640         * test/automated/flymake-tests.el:
58641         * test/automated/python-tests.el:
58642         * test/automated/ruby-mode-tests.el:
58643         * test/automated/subword-tests.el:
58644         * test/automated/replace-tests.el:
58645         * test/automated/simple-test.el:
58646         * test/automated/sort-tests.el:
58647         * test/automated/subr-tests.el:
58648         * test/automated/reftex-tests.el:
58649         * test/automated/sgml-mode-tests.el:
58650         * test/automated/tildify-tests.el:
58651         * test/automated/thingatpt.el:
58652         * test/automated/url-future-tests.el:
58653         * test/automated/url-util-tests.el:
58654         * test/automated/add-log-tests.el:
58655         * test/automated/vc-bzr.el:
58656         * test/automated/vc-tests.el:
58657         * test/automated/xml-parse-tests.el:
58658         * test/BidiCharacterTest.txt:
58659         * test/biditest.el:
58660         * test/cedet/cedet-utests.el:
58661         * test/cedet/ede-tests.el:
58662         * test/cedet/semantic-ia-utest.el:
58663         * test/cedet/semantic-tests.el:
58664         * test/cedet/semantic-utest-c.el:
58665         * test/cedet/semantic-utest.el:
58666         * test/cedet/srecode-tests.el:
58667         * test/cedet/tests/test.c:
58668         * test/cedet/tests/test.el:
58669         * test/cedet/tests/test.make:
58670         * test/cedet/tests/testdoublens.cpp:
58671         * test/cedet/tests/testdoublens.hpp:
58672         * test/cedet/tests/testfriends.cpp:
58673         * test/cedet/tests/testjavacomp.java:
58674         * test/cedet/tests/testnsp.cpp:
58675         * test/cedet/tests/testpolymorph.cpp:
58676         * test/cedet/tests/testspp.c:
58677         * test/cedet/tests/testsppcomplete.c:
58678         * test/cedet/tests/testsppreplace.c:
58679         * test/cedet/tests/testsppreplaced.c:
58680         * test/cedet/tests/testsubclass.cpp:
58681         * test/cedet/tests/testsubclass.hh:
58682         * test/cedet/tests/testtypedefs.cpp:
58683         * test/cedet/tests/testvarnames.c:
58684         * test/etags/CTAGS.good:
58685         * test/etags/ETAGS.good_1:
58686         * test/etags/ETAGS.good_2:
58687         * test/etags/ETAGS.good_3:
58688         * test/etags/ETAGS.good_4:
58689         * test/etags/ETAGS.good_5:
58690         * test/etags/ETAGS.good_6:
58691         * test/etags/a-src/empty.zz:
58692         * test/etags/a-src/empty.zz.gz:
58693         * test/etags/ada-src/2ataspri.adb:
58694         * test/etags/ada-src/2ataspri.ads:
58695         * test/etags/ada-src/etags-test-for.ada:
58696         * test/etags/ada-src/waroquiers.ada:
58697         * test/etags/c-src/a/b/b.c:
58698         * test/etags/c-src/abbrev.c:
58699         * test/etags/c-src/c.c:
58700         * test/etags/c-src/dostorture.c:
58701         * test/etags/c-src/emacs/src/gmalloc.c:
58702         * test/etags/c-src/emacs/src/keyboard.c:
58703         * test/etags/c-src/emacs/src/lisp.h:
58704         * test/etags/c-src/emacs/src/regex.h:
58705         * test/etags/c-src/etags.c:
58706         * test/etags/c-src/exit.c:
58707         * test/etags/c-src/exit.strange_suffix:
58708         * test/etags/c-src/fail.c:
58709         * test/etags/c-src/getopt.h:
58710         * test/etags/c-src/h.h:
58711         * test/etags/c-src/machsyscalls.c:
58712         * test/etags/c-src/machsyscalls.h:
58713         * test/etags/c-src/sysdep.h:
58714         * test/etags/c-src/tab.c:
58715         * test/etags/c-src/torture.c:
58716         * test/etags/cp-src/MDiagArray2.h:
58717         * test/etags/cp-src/Range.h:
58718         * test/etags/cp-src/burton.cpp:
58719         * test/etags/cp-src/c.C:
58720         * test/etags/cp-src/clheir.cpp.gz:
58721         * test/etags/cp-src/clheir.hpp:
58722         * test/etags/cp-src/conway.cpp:
58723         * test/etags/cp-src/conway.hpp:
58724         * test/etags/cp-src/fail.C:
58725         * test/etags/cp-src/functions.cpp:
58726         * test/etags/cp-src/screen.cpp:
58727         * test/etags/cp-src/screen.hpp:
58728         * test/etags/cp-src/x.cc:
58729         * test/etags/el-src/TAGTEST.EL:
58730         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
58731         * test/etags/erl-src/gs_dialog.erl:
58732         * test/etags/f-src/entry.for:
58733         * test/etags/f-src/entry.strange.gz:
58734         * test/etags/f-src/entry.strange_suffix:
58735         * test/etags/forth-src/test-forth.fth:
58736         * test/etags/html-src/algrthms.html:
58737         * test/etags/html-src/index.shtml:
58738         * test/etags/html-src/software.html:
58739         * test/etags/html-src/softwarelibero.html:
58740         * test/etags/lua-src/allegro.lua:
58741         * test/etags/objc-src/PackInsp.h:
58742         * test/etags/objc-src/PackInsp.m:
58743         * test/etags/objc-src/Subprocess.h:
58744         * test/etags/objc-src/Subprocess.m:
58745         * test/etags/objcpp-src/SimpleCalc.H:
58746         * test/etags/objcpp-src/SimpleCalc.M:
58747         * test/etags/pas-src/common.pas:
58748         * test/etags/perl-src/htlmify-cystic:
58749         * test/etags/perl-src/kai-test.pl:
58750         * test/etags/perl-src/yagrip.pl:
58751         * test/etags/php-src/lce_functions.php:
58752         * test/etags/php-src/ptest.php:
58753         * test/etags/php-src/sendmail.php:
58754         * test/etags/prol-src/natded.prolog:
58755         * test/etags/prol-src/ordsets.prolog:
58756         * test/etags/ps-src/rfc1245.ps:
58757         * test/etags/pyt-src/server.py:
58758         * test/etags/tex-src/gzip.texi:
58759         * test/etags/tex-src/nonewline.tex:
58760         * test/etags/tex-src/testenv.tex:
58761         * test/etags/tex-src/texinfo.tex:
58762         * test/etags/y-src/atest.y:
58763         * test/etags/y-src/cccp.c:
58764         * test/etags/y-src/cccp.y:
58765         * test/etags/y-src/parse.c:
58766         * test/etags/y-src/parse.y:
58767         * test/indent/css-mode.css:
58768         * test/indent/js-indent-init-dynamic.js:
58769         * test/indent/js-indent-init-t.js:
58770         * test/indent/js-jsx.js:
58771         * test/indent/js.js:
58772         * test/indent/latex-mode.tex:
58773         * test/indent/modula2.mod:
58774         * test/indent/nxml.xml:
58775         * test/indent/octave.m:
58776         * test/indent/pascal.pas:
58777         * test/indent/perl.perl:
58778         * test/indent/prolog.prolog:
58779         * test/indent/ps-mode.ps:
58780         * test/indent/ruby.rb:
58781         * test/indent/scheme.scm:
58782         * test/indent/scss-mode.scss:
58783         * test/indent/sgml-mode-attribute.html:
58784         * test/indent/shell.rc:
58785         * test/indent/shell.sh:
58786         * test/redisplay-testsuite.el:
58787         * test/rmailmm.el:
58788         * test/automated/buffer-tests.el:
58789         * test/automated/cmds-tests.el:
58790         * test/automated/data-tests.el:
58791         * test/automated/finalizer-tests.el:
58792         * test/automated/fns-tests.el:
58793         * test/automated/inotify-test.el:
58794         * test/automated/keymap-tests.el:
58795         * test/automated/print-tests.el:
58796         * test/automated/libxml-tests.el:
58797         * test/automated/zlib-tests.el: Files Moved.
58799 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
58801         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
58803         * lisp/progmodes/verilog-mode.el
58804         (verilog-save-font-no-change-functions): Commentary and fix
58805         pre-Emacs 21 behavior.
58807 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
58809         Rework file notifications, kqueue has problems with directory monitors
58811         * lisp/filenotify.el (file-notify-add-watch): Call the native
58812         add-watch function on the file, not on the dir.
58814         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
58815         about already deleted entries.
58817         * test/automated/auto-revert-tests.el
58818         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
58819         since this deletes the target file first.
58821         * test/automated/file-notify-tests.el (file-notify--test-event-test):
58822         Make stronger checks.
58823         (file-notify-test01-add-watch, file-notify-test02-events)
58824         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58825         Rewrite in order to call file monitors but directory monitors.
58826         (file-notify-test06-many-events): Ler rename work in both directions.
58828 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
58830         Use obarray functions from obarray.
58832         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
58833           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
58834           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
58835           delegate to obarray.el functions.
58836         * lisp/loadup.el: load obarray before abbrev
58837         * test/automated/abbrev-tests.el: new tests
58839 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58841         Continie with pending events
58843         * src/kqueue.c (pending_events): Remove global variable.
58844         (kqueue_compare_dir_list): Create `write' event for not used
58845         pending events.
58846         (globals_of_kqueue): Remove initialization of pending_events.
58848 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58850         Improve loops in file-notify-test06-many-events
58852         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58853         Use `read-event' pauses for the `write-file' loops; otherwise
58854         events are lost in inotify and gfilenotify cases.
58856 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58858         Handle more complex rename operation in kqueue
58860         * src/kqueue.c (pending_events): New variable.
58861         (kqueue_compare_dir_list): Handle more complex rename operation.
58862         (globals_of_kqueue): Initialize pending_events.
58864         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58865         Adapt expected events in the `rename-file' case.
58866         (file-notify-test06-many-events-remote): Declare.
58868 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
58870         epa.el: Add option to replace original text
58872         * lisp/epa.el (epa-replace-original-text): New user option.
58873         (Bug#21947)
58875 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
58877         Add interactive seek command.
58879         * lisp/mpc.el (mpc-cmd-seekcur): New function.
58880         (mpc-seek-current): New command.
58881         (mpc-mode-menu): Add entry for mpc-seek-current
58882         (mpc-mode-map): Bind mpc-seek-current to "g"
58884 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
58886         Fix issue where a new tempfile was created every refresh
58888         * lisp/mpc.el (mpc-format): Leave dir as relative path
58890 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
58892         New test with a larger number of events.
58894         * test/automated/file-notify-tests.el (file-notify--test-with-events):
58895         Make timeout heuristically depend on the number of events.
58897         (file-notify-test06-many-events): Use it for new test.
58899 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
58901         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
58903         (c-save-buffer-state): Use with-silent-modifications when available.
58904         (c--macroexpand-all): Check macroexpand-all directly rather than
58905         c--mapcan-status.
58907 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
58909         * lisp/loadup.el: Set max-lisp-eval-depth here
58911         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
58912         (BYTE_COMPILE_FLAGS): Adjust accordingly.
58914 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
58916         Further fixes for kqueue.
58918         * lisp/filenotify.el (file-notify-callback): Raise also event if
58919         directory name matches.
58920         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
58922         * src/kqueue.c (kqueue_generate_event): Use watch_object as
58923         argument instead of ident.  Remove callback argument.  Adapt
58924         callees.  Check actions whether they are monitored flags.
58926         * test/automated/file-notify-tests.el (file-notify--test-library):
58927         New defun.
58928         (file-notify-test00-availability, file-notify-test02-events)
58929         (file-notify-test04-file-validity)
58930         (file-notify-test05-dir-validity): Use it.
58931         (file-notify-test02-events, file-notify-test04-file-validity): Add
58932         `read-event' calls between different file actions, in order to
58933         give the backends a chance to rais an event.  Needed especially
58934         for kqueue.  In case of deleting a directory, there are two
58935         `deleted' events.
58937 2015-11-17  João Távora  <joaotavora@gmail.com>
58939         Minor fix to comment indentation and typo in last commit
58941         * lisp/linum.el (linum-update-window): Fix comment indentation and
58942         a typo.
58944 2015-11-17  João Távora  <joaotavora@gmail.com>
58946         linum-mode plays more nicely with other margin-setting extensions
58948         linum.el will only modify the left margin if it needs to, and will
58949         only reset the it back to 0 if it guesses that no-one has touched that
58950         margin in the meantime.
58952         As such, this is a more of a workaround than an actual fix, but fixes
58953         the problems described in bug#20674 regarding the interaction with
58954         modes such as darkroom-mode and olivetti-mode.
58956         A similar fix was commited to nlinum.el in ELPA.git's
58957         e7f5f549fbfb740b911fb7f33b42381ecece56d8
58959         * lisp/linum.el (linum-delete-overlays): Restore margins more
58960         criteriously.
58961         (linum-update-window): Set margins more criteriously.
58963 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
58965         Code cleanup of kqueue.c
58967         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
58968         (kqueue_compare_dir_list): Do not loop when calling
58969         directory_files_internal.  Remove checks for "." and "..", this is
58970         done in kqueue_directory_listing now.
58971         (Fkqueue_add_watch): Check for proper emacs_open flags.
58973 2015-11-16  Daiki Ueno  <ueno@gnu.org>
58975         * lisp/image-mode.el: Support encrypted file
58977         (image-toggle-display-image): Read content from the buffer instead
58978         of the file, if the buffer holds a decrypted data.  (Bug#21870)
58980 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
58982         Doc changes for kqueue
58984         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
58985         Fix some glitches in the example.
58987 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
58989         Finish implementation in kqueue.c
58991         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
58992         Simplify access to list.
58993         (kqueue_compare_dir_list): Simplify access to list.  Raise
58994         `delete' event if directory does not exist any longer.  Otherwise,
58995         wait until directory contents has changed.  Fix error in check.
58997 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
58999         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
59001 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
59003         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
59005 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
59007         * lisp/emacs-lisp/package.el: Fix a decoding issue
59009         (package--with-response-buffer): Use `url-insert-buffer-contents'.
59010         The previous code had some issues with decoding. Refactoring that
59011         function allows us to use the decoding from url-handlers while still
59012         treating both sync and async requests the same.
59014         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
59015         `url-insert-buffer-contents'.
59016         (url-insert-buffer-contents): New function
59018 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
59020         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
59022         (package--with-work-buffer-async): Reimplement as
59023         `package--with-response-buffer'.
59024         (package--with-work-buffer): Mark obsolete.
59025         (package--with-response-buffer): New macro. This is a more self
59026         contained and less contrived version of
59027         `package--with-work-buffer-async'.  It uses keyword arguments,
59028         doesn't have async on the name, doesn't fallback on
59029         `package--with-work-buffer', and has _much_ simpler error
59030         handling.
59032         (package--check-signature, package--download-one-archive)
59033         (package-install-from-archive, describe-package-1): Use it.
59035         (package--download-and-read-archives): Let
59036         `package--download-one-archive' take care of calling
59037         `package--update-downloads-in-progress'.
59039 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
59041         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
59043         (verilog-save-buffer-state): Use with-silent-modifications when available.
59044         (verilog-save-font-no-change-functions): Don't bind
59045         before/after-change-functions if it's not needed.
59047 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
59049         More work on kqueue
59051         * lisp/filenotify.el (file-notify-callback): Handle also the
59052         `rename' event from kqueue.
59053         (file-notify-add-watch): Do not register an entry twice.
59055         * src/kqueue.c (kqueue_directory_listing): New function.
59056         (kqueue_generate_event): New argument FILE1.  Adapt callees.
59057         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
59059 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59061         * CONTRIBUTE: Remove information about feature freeze.
59063         Merge branch 'release-process-lowercase'
59065 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59067         Document the release process
59069         * admin/notes/versioning: Add information about RC releases.
59070         * admin/release-process: Document the release process.
59071         * admin/authors.el (authors-ignored-files):
59072         * admin/README: Change FOR-RELEASE to release-process.
59073         * CONTRIBUTE:
59074         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
59076 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59078         * admin/release-process: Rename from admin/FOR-RELEASE.
59080 2015-11-14  David Engster  <deng@randomsample.de>
59082         gitmerge: Fix git log command
59084         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
59085         only want commits from the branch that is to be merged.
59086         (gitmerge-setup-log-buffer): Use the same symmetric range as in
59087         `gitmerge-missing'.
59089 2015-11-14  David Engster  <deng@randomsample.de>
59091         gitmerge: Try to detect cherry-picks
59093         * admin/gitmerge.el (gitmerge-default-branch): Change to
59094         origin/emacs-25.
59095         (gitmerge-missing): Use symmetric difference ('...') between
59096         branch and master so that cherry-picks can be detected.
59098 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
59100         Implement directory events
59102         * lisp/filenotify.el (file-notify-handle-event)
59103         (file-notify-callback): Remove traces.
59105         * src/kqueue.c: Include <sys/time.h>.
59106         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
59107         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
59108         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
59109         Compute initial directory listing.  Close file descriptor in case
59110         of errors.
59111         (syms_of_kqueue): Declare Qcreate.
59113 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
59115         Increment Emacs version on master branch
59117         * lisp/cus-edit.el (customize-changed-options-previous-release):
59118         Increase previous version to 24.5.
59120         * configure.ac:
59121         * msdos/sed2v2.inp: Bump version to 25.1.50.
59123 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
59125         Mention CONTRIBUTE in README
59127         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
59128         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
59129         * README: Mention CONTRIBUTE.
59131 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
59133         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
59135         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
59136         (verilog-modi-cache-results, verilog-save-buffer-state)
59137         (verilog-save-font-no-change-functions): When internally suppressing change
59138         functions, use `inhibit-modification-hooks' and call
59139         `after-change-funtions' to more nicely work with user hooks.  Reported by
59140         Stefan Monnier.
59142         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
59143         Create `verilog-delete-auto-buffer' to avoid double-calling
59144         fontification hooks.
59146         (verilog-restore-buffer-modified-p, verilog-auto)
59147         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
59148         set-buffer-modified-p. Reported by Stefan Monnier.
59150         (verilog-diff-auto, verilog-diff-buffers-p)
59151         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
59153         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
59154         AUTOINST with unpacked dimensional parameters, bug981. Reported by
59155         by Amol Nagapurkar.
59157         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
59158         properties inside internal structures. No functional change
59159         intended.
59161 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
59163         Build fixes for kqueue support.
59165         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
59166         flag.
59168         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
59169         kqueue on *BSD.
59171 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59173         Continue kqueue implementation
59175         * lisp/filenotify.el (file-notify-handle-event)
59176         (file-notify-callback): Enable trace messages.
59178         * src/kqueue.c: Include also <sys/types.h>.
59179         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
59180         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
59181         (syms_of_kqueue): Add them.
59183 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59185         Work on kqueue
59187         * lisp/filenotify.el (file-notify--library)
59188         (file-notify-descriptors, file-notify-callback)
59189         (file-notify-add-watch, file-notify-rm-watch)
59190         (file-notify-valid-p): Add kqueue support.
59192         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
59194 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59196         Add kqueue support
59198         * configure.ac (--with-file-notification): Add kqueue.
59199         (top): Remove special test for "${HAVE_NS}" and
59200         ${with_file_notification}, this is handled inside gfilenotify
59201         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
59202         instead of library specific variables.
59204         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
59206         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
59208         * src/kqueue.c: New file.
59210         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
59212 This file records repository revisions from
59213 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
59214 commit c8ffca525c60e4a17d9687d92e3304bb27a8d446 (inclusive).
59215 See ChangeLog.1 for earlier changes.
59217 ;; Local Variables:
59218 ;; coding: utf-8
59219 ;; End:
59221   Copyright (C) 2015-2018 Free Software Foundation, Inc.
59223   This file is part of GNU Emacs.
59225   GNU Emacs is free software: you can redistribute it and/or modify
59226   it under the terms of the GNU General Public License as published by
59227   the Free Software Foundation, either version 3 of the License, or
59228   (at your option) any later version.
59230   GNU Emacs is distributed in the hope that it will be useful,
59231   but WITHOUT ANY WARRANTY; without even the implied warranty of
59232   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
59233   GNU General Public License for more details.
59235   You should have received a copy of the GNU General Public License
59236   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.